Python:解线性系统Ax=b,但只需要解的第一个元素,a是稀疏矩阵

Python:解线性系统Ax=b,但只需要解的第一个元素,a是稀疏矩阵,python,sparse-matrix,linear-algebra,Python,Sparse Matrix,Linear Algebra,目前,我正在努力使我的程序更有效率。我必须解一个线性系统Ax=b。但是A有相当多的零条目,因此我使用scipy.sparse.lil_matrix来消耗更少的内存,因为A是一个80k乘80k的矩阵或更多的矩阵 现在我正试图更有效地解决这个系统,因为我只需要解决方案的第一个元素。到目前为止,我已经使用了以下内容:np.linalg.solve(A,b)[0]或sp.sparse.linalg.spsolve(A,b)[0] 还有其他解决办法吗?我曾考虑过应用克拉默法则,但那需要行列式。我怀疑你必须

目前,我正在努力使我的程序更有效率。我必须解一个线性系统Ax=b。但是A有相当多的零条目,因此我使用
scipy.sparse.lil_matrix
来消耗更少的内存,因为A是一个80k乘80k的矩阵或更多的矩阵

现在我正试图更有效地解决这个系统,因为我只需要解决方案的第一个元素。到目前为止,我已经使用了以下内容:
np.linalg.solve(A,b)[0]
sp.sparse.linalg.spsolve(A,b)[0]


还有其他解决办法吗?我曾考虑过应用克拉默法则,但那需要行列式。

我怀疑你必须解决整个系统,除非你能找到一种方法将其解耦。这就是线性系统的全部。不幸的是,我现在不知道如何将系统解耦,然后你实际上必须求解整个系统。你可能只需要做一个单向的缩减,因为你只需要一个元素,但是你可能需要自己编写求解器,或者至少在很大程度上修改现有的。我不认为这会加速整个过程:D我很确定我的编程技能太低,无法打败现有的求解器。不过还是要谢谢你的帮助!我不是说从头开始编写自己的解算器。我的意思是,把现有的代码,一旦你明白了怎么做,就把后半部分删掉。