m = 10
n = 10
d = 10
np.random.seed(0)
M = np.random.randn(m *n,1 )
A = np.random.randn(d, m* n)
b = A.dot(M)
print(M)
print(np.linalg.pinv(A).dot(b))
有人可以告诉我为什么这 2 张印刷品不能产生相同的答案吗?
你的系统是不确定的 - 你的方程(d=10
(比未知数(m*n=100
(少,因为你的A矩阵(大小为(10,100)
(的行数比列少。在这种情况下,您通常不能期望获得独特的解决方案,可能会有无限多个。如果您正在寻找一种更好的方法来进行这些计算,这看起来是一个很有希望的参考。