mindspore.scipy.linalg.cho_solve

mindspore.scipy.linalg.cho_solve(c_and_lower, b, overwrite_b=False, check_finite=True)[源代码]

给定 \(A\) 的cholesky分解,求解线性方程组。

\[A x = b\]

说明

  • 仅支持float32、float64、int32、int64类型的Tensor类型。

  • 如果Tensor是int32、int64类型,它将被强制转换为:mstype.float64类型。

参数:
  • c_and_lower ((Tensor, bool)) - \(a\) 的cholesky分解,由:mindspore.scipy.linalg.cho_factor() 计算得出。

  • b (Tensor) - 方程右侧的值。

  • overwrite_b (bool, 可选) - 是否覆盖:\(b\) 中的数据(可能会提高性能)。 默认值:False

  • check_finite (bool, 可选) - 是否检查输入矩阵是否只包含有限数。 禁用可能会带来性能增益,但如果输入确实包含INF或NaN,则可能会导致问题(崩溃、程序不终止)。 默认值:True

返回:

Tensor,线性方程 \(A x = b\) 的解。

支持平台:

GPU CPU

样例:

>>> 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]