linalg.decomp_cholesky

Cholesky decomposition functions.

Module Contents

Functions

_cholesky(a,lower=False,overwrite_a=False,clean=True,check_finite=True) Common code for cholesky() and cho_factor().
cholesky(a,lower=False,overwrite_a=False,check_finite=True) Compute the Cholesky decomposition of a matrix.
cho_factor(a,lower=False,overwrite_a=False,check_finite=True) Compute the Cholesky decomposition of a matrix, to use in cho_solve
cho_solve(c_and_lower,b,overwrite_b=False,check_finite=True) Solve the linear equations A x = b, given the Cholesky factorization of A.
cholesky_banded(ab,overwrite_ab=False,lower=False,check_finite=True) Cholesky decompose a banded Hermitian positive-definite matrix
cho_solve_banded(cb_and_lower,b,overwrite_b=False,check_finite=True) Solve the linear equations A x = b, given the Cholesky factorization of A.
_cholesky(a, lower=False, overwrite_a=False, clean=True, check_finite=True)

Common code for cholesky() and cho_factor().

cholesky(a, lower=False, overwrite_a=False, check_finite=True)

Compute the Cholesky decomposition of a matrix.

Returns the Cholesky decomposition, or of a Hermitian positive-definite matrix A.

a : (M, M) array_like
Matrix to be decomposed
lower : bool, optional
Whether to compute the upper or lower triangular Cholesky factorization. Default is upper-triangular.
overwrite_a : bool, optional
Whether to overwrite data in a (may improve performance).
check_finite : bool, optional
Whether to check that the input matrix contains 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.
c : (M, M) ndarray
Upper- or lower-triangular Cholesky factor of a.

LinAlgError : if decomposition fails.

>>> from scipy import array, linalg, dot
>>> a = array([[1,-2j],[2j,5]])
>>> L = linalg.cholesky(a, lower=True)
>>> L
array([[ 1.+0.j,  0.+0.j],
       [ 0.+2.j,  1.+0.j]])
>>> dot(L, L.T.conj())
array([[ 1.+0.j,  0.-2.j],
       [ 0.+2.j,  5.+0.j]])
cho_factor(a, lower=False, overwrite_a=False, check_finite=True)

Compute the Cholesky decomposition of a matrix, to use in cho_solve

Returns a matrix containing the Cholesky decomposition, A = L L* or A = U* U of a Hermitian positive-definite matrix a. The return value can be directly used as the first parameter to cho_solve.

Warning

The returned matrix also contains random data in the entries not used by the Cholesky decomposition. If you need to zero these entries, use the function cholesky instead.

a : (M, M) array_like
Matrix to be decomposed
lower : bool, optional
Whether to compute the upper or lower triangular Cholesky factorization (Default: upper-triangular)
overwrite_a : bool, optional
Whether to overwrite data in a (may improve performance)
check_finite : bool, optional
Whether to check that the input matrix contains 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.
c : (M, M) ndarray
Matrix whose upper or lower triangle contains the Cholesky factor of a. Other parts of the matrix contain random data.
lower : bool
Flag indicating whether the factor is in the lower or upper triangle
LinAlgError
Raised if decomposition fails.
cho_solve : Solve a linear set equations using the Cholesky factorization
of a matrix.
cho_solve(c_and_lower, b, overwrite_b=False, check_finite=True)

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

(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.
x : array
The solution to the system A x = b

cho_factor : Cholesky factorization of a matrix

cholesky_banded(ab, overwrite_ab=False, lower=False, check_finite=True)

Cholesky decompose a banded Hermitian positive-definite matrix

The matrix a is stored in ab either in lower diagonal or upper diagonal ordered form:

ab[u + i - j, j] == a[i,j]        (if upper form; i <= j)
ab[    i - j, j] == a[i,j]        (if lower form; i >= j)

Example of ab (shape of a is (6,6), u=2):

upper form:
*   *   a02 a13 a24 a35
*   a01 a12 a23 a34 a45
a00 a11 a22 a33 a44 a55

lower form:
a00 a11 a22 a33 a44 a55
a10 a21 a32 a43 a54 *
a20 a31 a42 a53 *   *
ab : (u + 1, M) array_like
Banded matrix
overwrite_ab : bool, optional
Discard data in ab (may enhance performance)
lower : bool, optional
Is the matrix in the lower form. (Default is upper form)
check_finite : bool, optional
Whether to check that the input matrix contains 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.
c : (u + 1, M) ndarray
Cholesky factorization of a, in the same banded format as ab
cho_solve_banded(cb_and_lower, b, overwrite_b=False, check_finite=True)

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

(cb, lower) : tuple, (array, bool)
cb is the Cholesky factorization of A, as given by cholesky_banded. lower must be the same value that was given to cholesky_banded.
b : array
Right-hand side
overwrite_b : bool, optional
If True, the function will overwrite the values in b.
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.
x : array
The solution to the system A x = b

cholesky_banded : Cholesky factorization of a banded matrix

New in version 0.8.0.