PyTorch torch.linalg.matrix_rank 関数
torch.linalg.matrix_rankは、PyTorch の線形代数モジュールで行列の階数を計算するための関数です。行列の階数は、行列内の線形独立な行または列の数を表します。
関数定義
torch.linalg.matrix_rank(A, tol=None, hermitian=False, out=None)
パラメーター:
A(Tensor): 入力行列。tol(float, オプション): 特異値の閾値。hermitian(bool, オプション): True の場合、行列は Hermitian(対称)行列とみなされます。デフォルトは False です。out(Tensor, オプション): 出力テンソル。
戻り値:
torch.Tensor: 行列の階数を返します。
使用例
例
import torch
# フルランク行列を作成
A = torch.tensor([[1.0, 2.0, 3.0],
[4.0, 5.0, 6.0],
[7.0, 8.0, 9.0]])
# 行列の階数を計算
rank = torch.linalg.matrix_rank(A)
print("行列 A:")
print(A)
print("行列の階数:", rank)
# フルランク行列を作成
A = torch.tensor([[1.0, 2.0, 3.0],
[4.0, 5.0, 6.0],
[7.0, 8.0, 9.0]])
# 行列の階数を計算
rank = torch.linalg.matrix_rank(A)
print("行列 A:")
print(A)
print("行列の階数:", rank)
出力結果は以下のとおりです:
矩阵 A:
tensor([[1., 2., 3.],
[4., 5., 6.],
[7., 8., 9.]])
矩阵的秩: tensor(2)
例 - フルランク行列
import torch
# フルランク行列を作成
B = torch.tensor([[1.0, 2.0],
[3.0, 4.0]])
rank_B = torch.linalg.matrix_rank(B)
print("行列 B:")
print(B)
print("行列の階数:", rank_B)
# フルランク行列を作成
B = torch.tensor([[1.0, 2.0],
[3.0, 4.0]])
rank_B = torch.linalg.matrix_rank(B)
print("行列 B:")
print(B)
print("行列の階数:", rank_B)
その他の拡張