mindspore.ops.orgqr
- mindspore.ops.orgqr(input, input2)[源代码]
计算Householder矩阵的前 \(N\) 列。
通常用于计算
mindspore.ops.Geqrf
返回的正交矩阵 \(Q\) 的显式表示。下面以输入无batch维的情况为例: 假设输入 input 的shape经过Householder转换之后为:\((M, N)\) 。 当 input 的对角线被置为1, input 中下三角形的每一列都表示为: \(w_j\) ,其中 \(j\) 在 \(j=1, \ldots, M\) 范围内,此函数返回Householder矩阵乘积的前 \(N\) 列:
\[H_{1} H_{2} \ldots H_{k} \quad \text { with } \quad H_{j}=\mathrm{I}_{M}-\tau_{j} w_{j} w_{j}^{\mathrm{H}}\]其中:\(\mathrm{I}_{M}\) 是 \(M\) 维单位矩阵。当 \(w\) 是复数的时候,\(w^{\mathrm{H}}\) 是共轭转置,否则是一般转置。输出的shape与输入shape相同。 \(\tau\) 即输入 input2 。
- 参数:
input (Tensor) - 二维或三维输入tensor,表示Householder反射向量, shape \((*, M, N)\) 。
input2 (Tensor) - 一维或二维输入tensor,表示Householder反射系数,shape为 \((*, K)\) ,其中 K 小于等于 N 。
- 返回:
Tensor
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import mindspore >>> input = mindspore.tensor([[-2.0, -1.0], [1.0, 2.0]]) >>> y, tau = mindspore.ops.geqrf(input) >>> mindspore.ops.orgqr(y, tau) Tensor(shape=[2, 2], dtype=Float32, value= [[-8.94427061e-01, 4.47213590e-01], [ 4.47213590e-01, 8.94427180e-01]])