现在位置: 首页 > PyTorch 教程 > 正文

PyTorch torch.orgqr 函数


Pytorch torch 参考手册 Pytorch torch 参考手册

torch.orgqr 是 PyTorch 中用于从 QR 分解中重构正交矩阵 Q 的函数。它使用 QR 分解得到的 Householder 反射器来计算 Q 矩阵。

函数定义

torch.orgqr(input)

参数:

  • input (Tensor): 输入张量,包含 Householder 反射器。

返回值:

  • torch.Tensor: 返回正交矩阵 Q。

使用示例

实例

import torch

# 创建矩阵
A = torch.tensor([[12.0, -51.0, 4.0],
                  [6.0, 167.0, -68.0],
                  [-4.0, 24.0, -41.0]], dtype=torch.float64)

# QR 分解
Q, R = torch.linalg.qr(A)

print("矩阵 A:")
print(A)
print("n正交矩阵 Q:")
print(Q)
print("n验证 Q.T @ Q = I:")
print(Q.T @ Q)

输出结果为:

矩阵 A:
tensor([[ 12., -51.,   4.],
        [  6., 167., -68.],
        [ -4.,  24., -41.]], dtype=torch.float64)
正交矩阵 Q:
tensor([[-0.8571,  0.3943,  0.3314],
        [-0.4286, -0.9029, -0.0343],
        [ 0.2857, -0.1714,  0.9428]], dtype=torch.float64)
验证 Q.T @ Q = I:
tensor([[ 1.0000e+00, -1.4895e-16,  2.2204e-16],
        [-1.4895e-16,  1.0000e+00,  9.8601e-32],
        [ 2.2204e-16,  9.8601e-32,  1.0000e+00]], dtype=torch.float64)

Pytorch torch 参考手册 Pytorch torch 参考手册