PyTorch torch.pinverse 函数
torch.pinverse 是 PyTorch 中用于计算矩阵的 Moore-Penrose 伪逆的函数。它是 torch.linalg.pinv 的别名。
函数定义
torch.pinverse(input, rcond=1e-15)
参数:
input(Tensor): 输入矩阵。rcond(float, 可选): 奇异值截断阈值。默认为 1e-15。
返回值:
torch.Tensor: 返回矩阵的伪逆。
使用示例
实例
import torch
# 创建非方阵
A = torch.tensor([[1.0, 2.0, 3.0],
[4.0, 5.0, 6.0]], dtype=torch.float64)
# 计算伪逆
A_pinv = torch.pinverse(A)
print("矩阵 A:")
print(A)
print("n伪逆 A^+:")
print(A_pinv)
# 创建非方阵
A = torch.tensor([[1.0, 2.0, 3.0],
[4.0, 5.0, 6.0]], dtype=torch.float64)
# 计算伪逆
A_pinv = torch.pinverse(A)
print("矩阵 A:")
print(A)
print("n伪逆 A^+:")
print(A_pinv)
输出结果为:
矩阵 A:
tensor([[1., 2., 3.],
[4., 5., 6.]], dtype=torch.float64)
伪逆 A^+:
tensor([[-0.9444, 0.4444],
[-0.2778, 0.2778],
[ 0.3889, 0.1111]], dtype=float64)

Pytorch torch 参考手册