[SciPy-user] linear_least_squares: OverFlow error or flapack.error

massimo sandal massimo.sandal at unibo.it
Tue Jun 6 13:20:21 CDT 2006


Hi,

I'm trying to do a simple linear least squares fit of some data in an 
application.

The relevant code runs about as follows, following closely the example 
found on http://mail.python.org/pipermail/python-list/2006-March/331693.html

---------
import matplotlib.numerix as nx

contact_x_points=nx.array(x_points[left_bound:right_bound])
contact_y_points=nx.array(y_points[left_bound:right_bound])

A=nx.ones((len(contact_x_points),2))
A[:,0]=contact_x_points 
result=nx.linear_algebra.linear_least_squares(A,contact_y_points)
---------

...but when I run, it crashes with:

File "hooke.py", line 202, in find_contact_point
     result=nx.linear_algebra.linear_least_squares(A,contact_y_points)
   File "/usr/lib/python2.3/site-packages/Numeric/LinearAlgebra.py", 
line 416, in linear_least_squares
     nlvl = max( 0, int( math.log( float(min( m,n ))/2. ) ) + 1 )
OverflowError: math range error


I also tried using scipy:
-----------
import scipy as sp

contact_x_points=sp.array(x_points[left_bound:right_bound])
contact_y_points=sp.array(y_points[left_bound:right_bound])

A=sp.ones((len(contact_x_points),2))
A[:,0]=contact_x_points           result=sp.linalg.lstsq(A,contact_y_points)
-------------

... with another error:

array_from_pyobj:intent(hide) must have defined dimensions.
rank=1 dimensions=[ 0 ]
Traceback:
[...]
File "hooke.py", line 202, in find_contact_point
     result=sp.linalg.lstsq(A, contact_y_points)
   File "/usr/lib/python2.3/site-packages/scipy/linalg/basic.py", line 
344, in lstsq
     overwrite_b = overwrite_b)
flapack.error: failed in converting hidden `s' of flapack.dgelss to 
C/Fortran array

In my .matplotlibrc the numerix backend is Numeric.
I'm on Debian Sarge; MPL version is 0.82 ; Scipy is 0.3.2


It must be noticed that I fail to declare

A=nx.ones((len.contact_x_points),2),dtype=float)
as the example should seem to require, because it gives me another error:

TypeError: ones() got an unexpected keyword argument 'dtype'

...so if this is the problem, please tell me how to correctly pass the 
dtype argument.

Since I'm quite a scipy/numeric newbie I guess there could be some 
obvious blunder and/or more correct way of obtaining my fit, and I'd be 
thankful to anyone pointing me at the solution...

Thanks,
Massimo

-- 
Massimo Sandal
University of Bologna
Department of Biochemistry "G.Moruzzi"

snail mail:
Via Irnerio 48, 40126 Bologna, Italy

email:
massimo.sandal at unibo.it

tel: +39-051-2094388
fax: +39-051-2094387
-------------- next part --------------
A non-text attachment was scrubbed...
Name: massimo.sandal.vcf
Type: text/x-vcard
Size: 274 bytes
Desc: not available
Url : http://www.scipy.net/pipermail/scipy-user/attachments/20060606/7e1e516c/massimo.sandal.vcf


More information about the SciPy-user mailing list