我正在尝试求解一个由 1 百万 x 1 百万方阵和一个 1 百万解向量组成的方程组。
为此,我使用 np.linalg.solve(matrix,answers) 但需要很长时间。
有办法加快速度吗?
谢谢@Chris,但这并不能回答问题,因为我也尝试过使用 Scipy 模块,但仍然需要很长时间才能解决。我认为我的计算机无法在 RAM 中保存那么多数据
好吧,为了清楚起见,我刚刚发现我试图求解的矩阵的名称是希尔伯特矩阵
我编写了一个方法,它接受整数“n”并创建一个方阵,其中每个元素的值由它们各自的 i,j 索引决定。
当我构建一个 30x30 的小矩阵时,它工作得很好,但是当我尝试做一些更大的矩阵(例如 1000x1000)时,它需要很长时间。有什么方法可以通过多处理来加快速度吗?
def createMatrix(n):
matrix = []
for j in range(1,n+1):
row = []
for i in range(1,n+1):
value = 1/(i+j-1)
row.append(value)
matrix.append(row)
return np.array(matrix)
Run Code Online (Sandbox Code Playgroud)