PyTorch torch.cholesky_inverse 関数
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 = 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 リファレンスマニュアル