PyTorch torch.linalg.cholesky 関数


Pytorch torch 参考手册Pytorch torch リファレンスマニュアル

torch.linalg.choleskyは、PyTorch の線形代数モジュール(linalg)において、対称正定値行列の Cholesky 分解を計算するための関数です。これはtorch.choleskyの推奨代替関数です。

関数定義

torch.linalg.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]], dtype=torch.float64)

# Cholesky 分解
L = torch.linalg.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.]], dtype=torch.float64)
Cholesky 分解 (下三角矩阵 L):
tensor([[2.0000, 0.0000, 0.0000],
        [1.0000, 2.0000, 0.0000],
        [1.0000, 1.0000, 2.0000]], dtype=torch.float64)
验证: L @ L.T =
tensor([[4., 2., 2.],
        [2., 5., 3.],
        [2., 3., 6.]], dtype=torch.float64)

Pytorch torch 参考手册Pytorch torch リファレンスマニュアル

その他の拡張