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)

Pytorch torch 参考手册