PyTorch torch.ormqr 関数
torch.ormqrこれは、PyTorch で QR 分解を使用して行列乗算を行う関数です。Q @ input または input @ Q を計算します。ここで、Q は QR 分解から得られる直交行列です。
関数定義
torch.ormqr(input, tau, left=True, transpose=False, out=None)
パラメータ:
input(Tensor): 入力行列。tau(Tensor): Householder リフレクター係数。left(bool, 省略可能): True の場合は Q @ input を計算し、それ以外の場合は input @ Q を計算します。デフォルトは True です。transpose(bool, 省略可能): Q を転置するかどうか。デフォルトは False です。out(Tensor, 省略可能): 出力テンソル。
戻り値:
torch.Tensor: 行列乗算の結果を返します。
使用例
例
import torch
# 行列を作成
A = torch.randn(3, 3)
B = torch.randn(3, 4)
# QR 分解
Q, R = torch.linalg.qr(A)
# Q @ B を計算
result = torch.ormqr(B, torch.zeros(3))
print("行列 B の形状:", B.shape)
print("結果の形状:", result.shape)
# 行列を作成
A = torch.randn(3, 3)
B = torch.randn(3, 4)
# QR 分解
Q, R = torch.linalg.qr(A)
# Q @ B を計算
result = torch.ormqr(B, torch.zeros(3))
print("行列 B の形状:", B.shape)
print("結果の形状:", result.shape)
出力結果は次のとおりです:
矩阵 B 形状: torch.Size([3, 4]) 结果形状: torch.Size([3, 4])
その他の拡張