python求解Ax=b和逆
有人能告诉我为什么这两个打印不产生相同的答案吗?你的系统是-你的方程(python求解Ax=b和逆,python,linear-algebra,Python,Linear Algebra,有人能告诉我为什么这两个打印不产生相同的答案吗?你的系统是-你的方程(d=10)比未知数(m*n=100)少,因为你的A矩阵(大小(10100))的行比列少。在这种情况下,通常不能期望得到唯一的解决方案,可能会有无限多个。如果您正在寻找一种更好的方法来处理这些计算,这看起来是一个很有前途的参考。一般来说,浮点运算并不精确,因此,即使它们在数学上相等,结果也可能因计算方式的不同而不同。如果您简化一下,您给出的示例在概念上更容易解析,也就是说,你有两个变量决定你的未知数的数量,一个变量就足够了。当x
d=10
)比未知数(m*n=100
)少,因为你的A矩阵(大小(10100)
)的行比列少。在这种情况下,通常不能期望得到唯一的解决方案,可能会有无限多个。如果您正在寻找一种更好的方法来处理这些计算,这看起来是一个很有前途的参考。一般来说,浮点运算并不精确,因此,即使它们在数学上相等,结果也可能因计算方式的不同而不同。如果您简化一下,您给出的示例在概念上更容易解析,也就是说,你有两个变量决定你的未知数的数量,一个变量就足够了。当x
更为常见并且在标题中使用x
时,也可以调用未知向量M
。
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))