jax.scipy.linalg.cho_solve#
- jax.scipy.linalg.cho_solve(c_and_lower, b, overwrite_b=False, check_finite=True)[原始碼]#
使用 Cholesky 分解法求解線性系統
JAX 版本的
scipy.linalg.cho_solve()
實作。使用jax.scipy.linalg.cho_factor()
的輸出。- 參數:
c_and_lower (tuple[ArrayLike, bool]) –
(c, lower)
,其中c
是一個形狀為(..., N, N)
的陣列,表示矩陣的下或上 Cholesky 分解,而lower
是一個布林值,指定這是下分解還是上分解。b (ArrayLike) – 線性系統的右側。必須具有形狀
(..., N)
overwrite_a – JAX 未使用
check_finite (bool) – JAX 未使用
overwrite_b (bool)
- 返回:
形狀為
(..., N)
的陣列,表示線性系統的解。- 返回類型:
範例
一個小的實數 Hermitian 正定矩陣
>>> x = jnp.array([[2., 1.], ... [1., 2.]])
透過
cho_factor()
計算 Cholesky 分解,並使用它透過cho_solve()
求解線性方程式。>>> b = jnp.array([3., 4.]) >>> cfac = jax.scipy.linalg.cho_factor(x) >>> y = jax.scipy.linalg.cho_solve(cfac, b) >>> y Array([0.6666666, 1.6666666], dtype=float32)
檢查結果是否一致
>>> jnp.allclose(x @ y, b) Array(True, dtype=bool)