评价此页

torch.ormqr#

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

计算 Householder 矩阵乘积与通用矩阵的矩阵乘积。

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

如果 leftTrue,则计算 op(Q) 乘以 C,否则结果为 C 乘以 op(Q)。当 leftTrue 时,隐式矩阵 Q 的大小为 m×mm \times m。否则,大小为 n×nn \times n。如果 transposeTrue,则 op 为共轭转置操作,否则为无操作。

支持 float、double、cfloat 和 cdouble 数据类型的输入。也支持批处理输入,如果输入是批处理的,则输出是具有相同维度的批处理。

另请参阅

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

注意

此函数支持反向传播,但仅当 (input, tau) 不需要梯度以及/或 tau.size(-1) 非常小时才快速。``

参数
  • input (Tensor) – 形状为 (*, mn, k) 的张量,其中 * 是零个或多个批处理维度,mn 等于 mn,具体取决于 left

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

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

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

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

关键字参数

out (Tensor, optional) – 输出张量。如果为 None 则忽略。默认为 None