jax.scipy.linalg.lu_factor#
- jax.scipy.linalg.lu_factor(a, overwrite_a=False, check_finite=True)[源代码]#
基于 LU 的线性求解的因式分解
scipy.linalg.lu_factor()
的 JAX 实现。此函数返回适用于
jax.scipy.linalg.lu_solve()
的结果。 对于直接 LU 分解,首选jax.scipy.linalg.lu()
。- 参数:
- 返回值:
一个元组
(lu, piv)
lu
是一个形状为(..., M, N)
的数组,其下三角部分包含L
,上三角部分包含U
。piv
是一个形状为(..., K)
的数组,其中K = min(M, N)
,它编码了主元信息。
- 返回类型:
示例
通过 LU 分解求解小型线性系统
>>> a = jnp.array([[2., 1.], ... [1., 2.]])
通过
lu_factor()
计算 LU 分解,并使用它通过lu_solve()
求解线性方程。>>> b = jnp.array([3., 4.]) >>> lufac = jax.scipy.linalg.lu_factor(a) >>> y = jax.scipy.linalg.lu_solve(lufac, b) >>> y Array([0.6666666, 1.6666667], dtype=float32)
检查结果是否一致
>>> jnp.allclose(a @ y, b) Array(True, dtype=bool)