PyTorch torch.cholesky_inverse 関数


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

torch.cholesky_inversePyTorch において Cholesky 分解の逆行列を計算するための関数です。Cholesky 分解の結果を使用して、行列の逆行列を効率的に計算します。

関数定義

torch.cholesky_inverse(L, upper=False, out=None)

パラメータ:

  • L(Tensor): Cholesky 分解によって得られた上三角行列または下三角行列。
  • upper(bool, オプション): True の場合、L は上三角行列です。それ以外の場合は下三角行列です。デフォルトは False です。
  • out(Tensor, オプション): 出力テンソル。

戻り値:

  • torch.Tensor: 元の行列の逆行列を返します。

使用例

例

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.cholesky(A)

# Cholesky 分解を使用して逆行列を計算する
A_inv = torch.cholesky_inverse(L)

print("元の行列 A:")
print(A)
print("n逆行列 A^-1:")
print(A_inv)
print("n検証: A @ A^-1 =")
print(A @ A_inv)

出力結果は次のとおりです。

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

逆矩阵 A^-1:
tensor([[ 0.7500, -0.5000, -0.2500],
        [-0.5000,  1.0000, -0.0000],
        [-0.2500, -0.0000,  0.2500]], dtype=torch.float64)

验证: A @ A^-1 =
tensor([[ 1.0000e+00, -1.4901e-08,  0.0000e+00],
        [-7.4506e-09,  1.0000e+00,  1.4901e-08],
        [ 0.0000e+00,  7.4506e-09,  1.0000e+00]], dtype=torch.float64)

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

その他の拡張