mindspore.scipy.linalg.cholesky
- mindspore.scipy.linalg.cholesky(a, lower=False, overwrite_a=False, check_finite=True)[source]
Compute the cholesky decomposition of a matrix.
Returns the cholesky decomposition of a Hermitian positive-definite matrix A. Base on the value of lower, perform the following decomposition:
when lower is True: \(A = L L^*\)
when lower is False: \(A = U^* U\)
\(L^*\) is a conjugate transpose matrix of L. \(U^*\) is a conjugate transpose matrix of U.
Note
cholesky is not supported on Windows platform yet.
Only float32, float64, int32, int64 are supported Tensor dtypes.
If Tensor with dtype int32 or int64 is passed, it will be cast to mstype.float64.
- Parameters
a (Tensor) – square Matrix of \((M, M)\) to be decomposed.
lower (bool, optional) – Whether to compute the upper- or lower-triangular cholesky factorization. Default:
False
.overwrite_a (bool, optional) – Whether to overwrite data in a (may improve performance). Default:
False
. in mindspore, this arg does not work right now.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. Default:
True
. in mindspore, this arg does not work right now.
- Returns
Tensor, upper- or lower-triangular cholesky factor of a.
- Raises
ValueError – If input a tensor is not a square matrix or it's dims not equal to 2D.
- Supported Platforms:
GPU
CPU
Examples
>>> import numpy as onp >>> from mindspore import Tensor >>> from mindspore.scipy.linalg import cholesky >>> a = Tensor(onp.array([[1, 2],[2, 5]]).astype(onp.float32)) >>> L = cholesky(a, lower=True) >>> print(L) [[1. 0.] [2. 1.]]