mindspore.scipy.linalg.cho_solve

View Source On Gitee
mindspore.scipy.linalg.cho_solve(c_and_lower, b, overwrite_b=False, check_finite=True)[source]

Given the cholesky factorization of \(A\), solve the linear equation.

\[A x = b\]

Note

  • cho_solve 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
  • c_and_lower ((Tensor, bool)) – cholesky factorization of \(a\), as given by mindspore.scipy.linalg.cho_factor().

  • b (Tensor) – Right-hand side.

  • overwrite_b (bool, optional) – Whether to overwrite data in \(b\) (may improve performance). Default: False.

  • 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. Default: True.

Returns

Tensor, the solution to the system \(A x = b\).

Supported Platforms:

GPU CPU

Examples

>>> import numpy as onp
>>> import mindspore as ms
>>> a = ms.Tensor(onp.array([[9, 3, 1, 5], [3, 7, 5, 1], [1, 5, 9, 2], [5, 1, 2, 6]]).astype(onp.float32))
>>> b = ms.Tensor(onp.array([1, 1, 1, 1]).astype(onp.float32))
>>> c, low = ms.scipy.linalg.cho_factor(a)
>>> x = ms.scipy.linalg.cho_solve((c, low), b)
>>> print(x)
[-0.01749266  0.11953348  0.01166185  0.15743434]