小编H. *_*iyu的帖子

SciPy 中线性方程的求解时间

这是我求解线性系统方程的 4 个函数的 python 代码:

def inverse_solution(A, B):
    inv_A = scipy.linalg.inv(A)
    return [numpy.dot(inv_A, b) for b in B]

def scipy_standart_solution(A, B):
    return [scipy.linalg.solve(A, b) for b in B]

def cholesky_solution(A, B):
    K = scipy.linalg.cholesky(A, lower = True)
    t_K = K.T
    return [scipy.linalg.solve_triangular(t_K, scipy.linalg.solve_triangular(K, b, lower = True)) for b in B]

def scipy_cholesky_solution(A, B):
    K = scipy.linalg.cho_factor(A)
    return [scipy.linalg.cho_solve(K, b) for b in B]
Run Code Online (Sandbox Code Playgroud)

我知道第一个解决方案效率不高,如果中的元素数量b小,则第二个解决方案很好,如果b大,则解决方案 3 和 4 很好。

但我的测试结果恰恰相反

A = numpy.array([[1,0.000000001],[0.000000001,1]])
for length in …
Run Code Online (Sandbox Code Playgroud)

python numpy linear-algebra scipy

2
推荐指数
1
解决办法
1253
查看次数

标签 统计

linear-algebra ×1

numpy ×1

python ×1

scipy ×1