[SciPy-user] efficient linear algebra
Darren Dale
dd55 at cornell.edu
Sat Mar 12 20:07:40 CST 2005
Hi,
I have a simulation that has to repeatedly find the dot product of a 250,000x3 array
with a 3x1 array. I have a working atlas 3.6.0, and believe scipy to be properly
installed, all the tests pass, etc.
I read (http://www.scipy.org/mailinglists/mailman?fn=scipy-user/2004-June/002902.html)
that scipy.dot may not be the fastest solution, so I tried
dot, = scipy.linalg.blas.get_blas_funcs(['gemm'],(ones([250000,3],'d'),ones((3,1),'d')))
and
dot, = scipy.linalg.blas.get_blas_funcs(['dot'],(ones([250000,3],'d'),ones((3,1),'d')))
When I tested how long each takes, scipy.dot took .1 seconds, the blas gemm took 0.13
seconds, and the blas dot gave me the following error:
error: (len(y)-offy>(n-1)*abs(incy)) failed for 1st keyword n
If I dot an Nx3 with a 3x1, I get the above error. If I dot a 1x3 with a 3xN, I do not get
the error. Is this a bug?
Is my approach correct? Should I expect much of a performance boost from using the
function returned by get_blas_funcs, and if so, are there suggestions as to why I might
be taking a performance hit? Where can I learn more about using the blas routines
intelligently?
Thank you,
Darren
More information about the SciPy-user
mailing list