mindspore.ops.cholesky

查看源文件
mindspore.ops.cholesky(input_x, upper=False)[源代码]

计算对称正定矩阵或一批对称正定矩阵的Cholesky分解。

如果 upper 为True,则返回的矩阵 \(U\) 为上三角矩阵,分解形式为:

\[A = U^TU\]

如果 upper 为False,则返回的矩阵 \(L\) 为下三角矩阵,分解形式为:

\[A = LL^T\]
参数:
  • input_x (Tensor) - shape大小为 \((*, N, N)\) ,其中 \(*\) 是零个或多个由对称正定矩阵组成的批处理维,数据类型为float32或float64。

  • upper (bool) - 是否返回上三角矩阵还是下三角矩阵的标志。默认值:False

返回:

Tensor,shape和数据类型与 input_x 相同。

异常:
  • TypeError - 如果 upper 不是bool。

  • TypeError - 如果 input_x 的数据类型既不是float32,也不是float64。

  • TypeError - 如果 input_x 不是Tensor。

  • ValueError - 如果 input_x 不是一个或多个方阵。

  • ValueError - 如果 input_x 不是对称正定矩阵。

支持平台:

GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> input_x = Tensor(np.array([[1.0, 1.0], [1.0, 2.0]]), mindspore.float32)
>>> output = ops.cholesky(input_x, upper=False)
>>> print(output)
[[1. 0.]
 [1. 1.]]