cholesky

paddle.cholesky ( x, upper\=False, name\=None ) [源代码]

计算一个对称正定矩阵或一批对称正定矩阵的Cholesky分解。如果 upper 是 True , 则分解形式为

cholesky - 图1

, 返回的矩阵U是上三角矩阵。 否则,分解形式为

cholesky - 图2

,并返回矩阵 LL 是下三角矩阵。

参数:

  • x (Tensor)- 输入变量为多维Tensor,它的维度应该为 [*, M, N] ,其中*为零或更大的批次尺寸,并且最里面的两个维度上的矩阵都应为对称的正定矩阵,支持数据类型为float32,float64。

  • upper (bool)- 指示是否返回上三角矩阵或下三角矩阵。默认值:False。

  • name (str , 可选)- 具体用法请参见 Name ,一般无需设置,默认值为None。

返回: 与 x 具有相同形状和数据类型的Tensor。它代表了Cholesky分解生成的三角矩阵。

返回类型: 变量(Tensor)

代码示例

  1. import paddle
  2. import numpy as np
  3. a = np.random.rand(3, 3)
  4. a_t = np.transpose(a, [1, 0])
  5. x_data = np.matmul(a, a_t) + 1e-03
  6. x = paddle.to_tensor(x_data)
  7. out = paddle.cholesky(x, upper=False)
  8. print(out)
  9. # [[1.190523 0. 0. ]
  10. # [0.9906703 0.27676893 0. ]
  11. # [1.25450498 0.05600871 0.06400121]]