[SciPy-dev] pbm in numpy.linalg.polyfit and nupy.linalg polyfit
Stéfan van der Walt
stefan at sun.ac.za
Thu Mar 13 04:09:43 EDT 2008
Hi Julien
Would you mind filing a bug at
http://projects.scipy.org/scipy/numpy
so that we don't lose track of this issue?
Thanks
Stéfan
On Wed, Mar 12, 2008 at 8:58 PM, Julien Le Sommer <lesommer at hmg.inpg.fr> wrote:
>
> Hi,
>
> I just want to mention a possible bug in numpy/lib/polynomial.py
> with numpy version > 1.0.4 (with python2.4).
>
> the modification introduced with revision 3338 of numpy by charris,
> (see http://www.scipy.org/scipy/numpy/log/trunk/numpy/lib/polynomial.py)
> has broken the possibility to use polyfit with two-dimensional arrays.
>
> IPython gives the following message :
> ------------------------------------------------------------------------------------------
> 308 # scale returned coefficients
> 309 if scale != 0 :
> --> 310 c /= vander([scale], order)[0]
> 311
> 312 if full :
>
> ValueError: shape mismatch: objects cannot be broadcast to a single shape
> --------------------------------------------------------------------------------------------
>
> with the following script :
> --------------------------------------------------------------------------------------------
> import numpy
> from numpy.random import *
> from numpy import linalg
>
> #- create some arrays :
> n = 100
> r = 0.5
> a = 1.4
>
> # 1D vector
> T = numpy.array(xrange(n),dtype=numpy.float32)*2/(n-1) -1.
> X = a*T +r*(rand(n)-0.5)
>
> # (n * 2) array
> aa = numpy.array([[0.7,1.2]])
> rr = numpy.array([[0.4,0.6]])
> TT = T.reshape((n,1))*numpy.ones((n,2))
> XX = aa*TT +rr*(randn(n,2)-0.5)
>
> # (n * 3) array
> aaa = numpy.array([[0.7,1.2,1.]])
> rrr = numpy.array([[0.4,0.6,0.2]])
> TTT = T.reshape((n,1))*numpy.ones((n,3))
> XXX = aaa*TTT +rrr*(randn(n,3)-0.5)
>
>
> #- try numpy.polyfit
>
>
> # works ok
> (ar,br) = numpy.polyfit(T,X,1)
>
> # works ok
> (ar,br) = numpy.polyfit(T,XX,1)
>
> # fails
> (ar,br) = numpy.polyfit(T,XXX,1)
>
>
> --
> Julien Le Sommer, LEGI/MEOM,
> BP53, 38041 Grenoble cedex 9, France
> Tel : +33 4 76 82 50 65
> Fax : +33 4 76 82 52 71
> http://www.legi.hmg.inpg.fr/~lesommer/
> _______________________________________________
> Scipy-dev mailing list
> Scipy-dev at scipy.org
> http://projects.scipy.org/mailman/listinfo/scipy-dev
>
>
More information about the SciPy-Dev
mailing list