linear algebric equations

Christian Gollwitzer auriocus at gmx.de
Tue Dec 8 15:05:54 EST 2020


Am 07.12.20 um 17:59 schrieb Tito Sanò:
> Regarding the solution of linear algebraic equations I noticed a big
> difference in the computation
> 
> time in Python compared to the old fortran language.
> 
> I have compared both the linelg and lapack.dgesv-lapack.zgesv modules with
> the fortan: dgelg and f04adf.
> 
> The difference in computation time is enormous:
> 
> for example for 430 degrees of freedom it is about 24 min in Python versus
> about 1 sec in fortran.

There must be something seriously wrong. If I understand correctly, you 
want to solve an 430x430 matrix with LU decompositino (that is what 
dgesv from LAPACK does). The following code takes less than a second on 
my machine:

==============430.py==============
import numpy as np

# create a 430x430 random matrix
A = np.random.randn(430,430)

# right hand side
b = np.ones(430)

# solve it

x = np.linalg.solve(A, b)

print(x)
====================================


time python3 430.py
real	0m0.318s
user	0m0.292s
sys	0m0.046s

If it takes longer than 1s, there is something wrong with your system.

	Christian


More information about the Python-list mailing list