SciPy

scipy.linalg.cho_solve

scipy.linalg.cho_solve(c_and_lower, b, overwrite_b=False, check_finite=True)[source]

Solve the linear equations A x = b, given the Cholesky factorization of A.

Parameters:
(c, lower) : tuple, (array, bool)

Cholesky factorization of a, as given by cho_factor

b : array

Right-hand side

overwrite_b : bool, optional

Whether to overwrite data in b (may improve performance)

check_finite : bool, optional

Whether to check that the input matrices contain only finite numbers. Disabling may give a performance gain, but may result in problems (crashes, non-termination) if the inputs do contain infinities or NaNs.

Returns:
x : array

The solution to the system A x = b

See also

cho_factor
Cholesky factorization of a matrix

Examples

>>> from scipy.linalg import cho_factor, cho_solve
>>> A = np.array([[9, 3, 1, 5], [3, 7, 5, 1], [1, 5, 9, 2], [5, 1, 2, 6]])
>>> c, low = cho_factor(A)
>>> x = cho_solve((c, low), [1, 1, 1, 1])
>>> np.allclose(A @ x - [1, 1, 1, 1], np.zeros(4))
True