mindspore.ops.Geqrf
- class mindspore.ops.Geqrf[源代码]
将矩阵分解为正交矩阵 Q 和上三角矩阵 R 的乘积。该过程称为QR分解: \(A = QR\) 。
Q 和 R 矩阵都存储在同一个输出Tensor y 中。 R 的元素存储在对角线及上方。隐式定义矩阵 Q 的基本反射器(或户主向量)存储在对角线下方。
此函数返回两个Tensor( y, tau )。
警告
这是一个实验性API,后续可能修改或删除。
- 输入:
x (Tensor) - shape为 \((*, m, n)\) ,输入矩阵维度必须为大于等于两维,支持dtype为float32、float64、complex64、complex128。
- 输出:
y (Tensor) - shape为 \((*, m, n)\) ,与 x 具有相同的dtype。
tau (Tensor) - shape为 \((*, p,)\) ,并且 \(p = min(m, n)\) ,与 x 具有相同的dtype。
- 异常:
TypeError - 如果 x 不是一个Tensor。
TypeError - 如果 x 的dtype不是float32、float64、complex64、complex128中的一个。
ValueError - 如果 x 的维度小于2。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> input_x = Tensor(np.array([[-2.0, -1.0], [1.0, 2.0]]).astype(np.float32)) >>> geqrf = ops.Geqrf() >>> y, tau = geqrf(input_x) >>> print(y) [[ 2.236068 1.7888544] [-0.236068 1.3416407]] >>> print(tau) [1.8944271 0. ]