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, \(a = l l^*\) or \(a = u^* u\) of a Hermitian positive-definite matrix a.

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:

CPU GPU

Examples

>>> import numpy as onp
>>> from mindspore.common 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.]]