torch.ormqr

torch.ormqr(input, tau, other, left=True, transpose=False, *, out=None) Tensor

计算霍尔豪塞矩阵乘积与通用矩阵的矩阵乘法。

将一个$m \times n$矩阵C(由other给出)与矩阵Q相乘,其中Q使用Householder反射器(input, tau)表示。有关更多详细信息,请参见正交或酉矩阵的表示方法

如果 leftTrue,则计算 op(Q) 乘以 C;否则结果是 C 乘以 op(Q)。当 leftTrue 时,隐含矩阵 Q 的大小为 $m \times m$;否则其大小为 $n \times n$。如果 transposeTrue,则 op 是共轭转置操作;否则它是一个无操作。

支持浮点型、双精度型、复数浮点型和复数双精度型的数据类型。还支持批量输入,如果是批量输入的话,输出也会有相同维度。

参见

torch.geqrf() 可以用于形成 QR 分解中矩阵 Q 的 Householder 表示 (input, tau)

注意

此函数支持反向传播,但仅在 (input, tau) 不需要梯度和/或 tau.size(-1) 非常小的情况下才能实现快速运行。

参数
  • input (Tensor) – 形状为(*, mn, k)的张量,其中*表示零个或多个批次维度,mn根据left等于mn

  • tau (Tensor) – 形状为 (*, min(mn, k)) 的张量,其中 * 表示零个或多个批次维度。

  • other (Tensor) – 形状为(*, m, n)的张量,其中*表示零个或多个批次维度。

  • left (bool) – 控制乘法操作的顺序。

  • transpose (bool) - 控制是否对矩阵 Q 进行共轭转置。

关键字参数

out (Tensor, optional) – 输出的 Tensor。如果为 None,则忽略该参数。默认值:None

本页目录