相关疑难解决方法(0)

为什么numpy.linalg.solve()提供比numpy.linalg.inv()更精确的矩阵反转?

我不太明白为什么numpy.linalg.solve()给出更准确的答案,而numpy.linalg.inv()在某种程度上分解,给出(我相信的)估计.

举一个具体的例子,我正在求解方程式C^{-1} * d ,其中C表示一个矩阵,并且d是一个向量数组.为了便于讨论,尺寸C是形状(1000,1000)d形状(1,1000).

numpy.linalg.solve(A, b)求解A*x=bx 的等式,即x = A^{-1} * b.因此,我可以通过求解这个等式

(1)

inverse = numpy.linalg.inv(C)
result = inverse * d
Run Code Online (Sandbox Code Playgroud)

或(2)

numpy.linalg.solve(C, d)
Run Code Online (Sandbox Code Playgroud)

方法(2)给出了更精确的结果.为什么是这样?

究竟发生了什么,使一个"比另一个更好"?

python arrays numpy matrix linear-algebra

23
推荐指数
1
解决办法
1万
查看次数

标签 统计

arrays ×1

linear-algebra ×1

matrix ×1

numpy ×1

python ×1