mindspore.ops.orgqr ==================== .. py:function:: mindspore.ops.orgqr(input, input2) 计算 :class:`mindspore.ops.Geqrf` 返回的正交矩阵 :math:`Q` 的显式表示。 下面以输入无batch维的情况为例, 计算 `Householder `_ 矩阵的前 :math:`N` 列。 假设输入 `input` 的shape经过 `Householder转换 `_ 之后为::math:`(M, N)` 。 当 `input` 的对角线被置为1, `input` 中下三角形的每一列都表示为: :math:`w_j` ,其中 :math:`j` 在 :math:`j=1, \ldots, M` 范围内,此函数返回Householder矩阵乘积的前 :math:`N` 列: .. math:: H_{1} H_{2} \ldots H_{k} \quad \text { with } \quad H_{j}=\mathrm{I}_{M}-\tau_{j} w_{j} w_{j}^{\mathrm{H}} 其中::math:`\mathrm{I}_{M}` 是 :math:`M` 维单位矩阵。当 :math:`w` 是复数的时候,:math:`w^{\mathrm{H}}` 是共轭转置,否则是一般转置。输出矩阵的shape与输入矩阵 `input` 相同。 :math:`tau` 即输入 `input2` 。 参数: - **input** (Tensor) - shape :math:`(*, M, N)` 的Tensor,表示二维或者三维矩阵。数据类型为float32、float64、complex64或者complex128。 - **input2** (Tensor) - Householder转换的反射系数,其shape为 :math:`(*, K)` ,其中 `K` 小于等于 `N` 。数据类型与 `input` 一致。 返回: Tensor,数据类型与shape与 `input` 一致。 异常: - **TypeError** - `input` 或者 `input2` 不是Tensor。 - **TypeError** - `input` 和 `input2` 的数据类型不是float64、float32、complex64或者complex128。 - **ValueError** - `input` 和 `input2` 的batch维度不同。 - **ValueError** - `input`.shape[-2] < `input`.shape[-1]。 - **ValueError** - `input`.shape[-1] < `input2`.shape[-1]。 - **ValueError** - rank(`input`) - rank(`input2`) != 1。 - **ValueError** - rank(`input`) != 2 or 3。