PyTorch torch.slogdet 関数
torch.slogdetPyTorch において行列の行列式の符号と対数を計算するための関数です。行列式が非常に大きいまたは小さい場合により数値的に安定します。
関数定義
torch.slogdet(input, out=None)
パラメータ:
input(Tensor): 入力正方行列です。out(tuple, オプション): 出力タプル。
戻り値:
tuple: (符号, 対数値) のタプルを返します。
使用例
例
import torch
# 正方行列を作成
A = torch.tensor([[1.0, 2.0, 3.0],
[0.0, 4.0, 5.0],
[0.0, 0.0, 6.0]])
# 行列式の符号と対数を計算
sign, logdet = torch.slogdet(A)
print("行列 A:")
print(A)
print("n行列式符号:", sign)
print("行列式対数:", logdet)
print("行列式:", sign * torch.exp(logdet))
# 正方行列を作成
A = torch.tensor([[1.0, 2.0, 3.0],
[0.0, 4.0, 5.0],
[0.0, 0.0, 6.0]])
# 行列式の符号と対数を計算
sign, logdet = torch.slogdet(A)
print("行列 A:")
print(A)
print("n行列式符号:", sign)
print("行列式対数:", logdet)
print("行列式:", sign * torch.exp(logdet))
出力結果は次のとおりです:
矩阵 A:
tensor([[1., 2., 3.],
[0., 4., 5.],
[0., 0., 6.]])
行列式符号: tensor(1.)
行列式对数: tensor(3.5835)
行列式: tensor(24.)
その他の拡張
PyTorch torch リファレンスマニュアル