我正在尝试使用 QR 分解和 linalg.solve 解决超定系统,但我得到的错误是
LinAlgError: 数组的最后 2 个维度必须是 square。
当 R 数组不是正方形时,会发生这种情况,对吗?代码看起来像这样
import numpy as np
import math as ma
A = np.random.rand(2,3)
b = np.random.rand(2,1)
Q, R = np.linalg.qr(A)
Qb = np.matmul(Q.T,b)
x_qr = np.linalg.solve(R,Qb)
对于任意 A 尺寸,有没有办法以更有效的方式编写它?如果没有,我该如何使这个代码片段工作?