现在位置: 首页 > PyTorch 教程 > 正文

PyTorch torch.cholesky 函数


Pytorch torch 参考手册 Pytorch torch 参考手册

torch.cholesky 是 PyTorch 中用于计算对称正定矩阵的 Cholesky 分解的函数。Cholesky 分解将一个正定矩阵 A 分解为 A = L * L^T,其中 L 是下三角矩阵。

函数定义

torch.cholesky(A, upper=False, out=None)

参数:

  • A (Tensor): 输入对称正定矩阵。
  • upper (bool, 可选): 如果为 True,返回上三角矩阵;否则返回下三角矩阵。默认为 False。
  • out (Tensor, 可选): 输出张量。

返回值:

  • torch.Tensor: 返回 Cholesky 分解的下三角(或上三角)矩阵。

使用示例

实例

import torch

# 创建一个对称正定矩阵
A = torch.tensor([[4.0, 2.0, 2.0],
                  [2.0, 5.0, 3.0],
                  [2.0, 3.0, 6.0]])

# Cholesky 分解
L = torch.cholesky(A)

print("原矩阵 A:")
print(A)
print("nCholesky 分解 (下三角矩阵 L):")
print(L)
print("n验证: L @ L.T = ")
print(L @ L.T)

输出结果为:

原矩阵 A:
tensor([[4., 2., 2.],
        [2., 5., 3.],
        [2., 3., 6.]])

Cholesky 分解 (下三角矩阵 L):
tensor([[2.0000, 0.0000, 0.0000],
        [1.0000, 2.0000, 0.0000],
        [1.0000, 1.0000, 2.0000]])

验证: L @ L.T =
tensor([[4., 2., 2.],
        [2., 5., 3.],
        [2., 3., 6.]])

实例 - 返回上三角矩阵

import torch

A = torch.tensor([[4.0, 2.0, 2.0],
                  [2.0, 5.0, 3.0],
                  [2.0, 3.0, 6.0]])

# 返回上三角矩阵
U = torch.cholesky(A, upper=True)
print("上三角矩阵 U:")
print(U)

Pytorch torch 参考手册 Pytorch torch 参考手册