# [SciPy-User] scipy.optimize leastsq with numpy longdouble?

josef.pktd@gmai... josef.pktd@gmai...
Wed Nov 17 11:49:41 CST 2010

```On Wed, Nov 17, 2010 at 12:25 PM, Joan Smith <joans@mit.edu> wrote:
> Hi,
> What do you mean where is the data coming from? It's from an experiment..
> function I'm fitting is:
> maxwell_boltzmann = lambda v,x:
> v[0]*(x-C0)**(-4)*np.exp(-(L/v[1])**2*(x-C0)**(-2)) + v[2]
> and the data is in an array of longdoubles.

I don't know if any of the optimization routines can handle
long-double, maybe one of the pure python optimizers is less picky

some guesses:
Maybe taking exp(log(...)) of the first part increases the numerical
precision of the calculation enough to get results, or maybe a two
step method with v[2] estimated in an outer optimization and log in
the inner loop.

(statsmodels doesn't have anything that would help, as far as I can see)

Josef

> Joan
> On Nov 17, 2010, at 12:20 PM, Charles R Harris wrote:
>
>
> On Wed, Nov 17, 2010 at 10:13 AM, Joan Smith <joans@mit.edu> wrote:
>>
>> Hi,
>>
>> I'm fitting a maxwell-botlzmann distribution, using SciPy leastsq. Because
>> of the data I'm fitting, I need high precision (on both the high and low
>> ends), so I'm using numpy.longdouble for my types. Is there a way to use
>> this type with leastsq? As it stands, I'm getting this error:
>>
>>    v = leastsq(self.chi_squared, self.v_0,  args=self.args, full_output=1)
>>  File
>> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scipy/optimize/minpack.py",
>> line 281, in leastsq
>>    maxfev, epsfcn, factor, diag)
>> TypeError: array cannot be safely cast to required type
>>
>> I've been using leastsq for a while, and haven't seen this error before,
>> so I suspect it has to do with using an unusual type.
>>
>
> Yep. But where is your data coming from? And how are you trying to do the
> fit? I suspect that a change of method it the proper way to go here. Josef
> may have something in the stats model package.
>
> Chuck
> _______________________________________________
> SciPy-User mailing list
> SciPy-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
>
>
> _______________________________________________
> SciPy-User mailing list
> SciPy-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
>
>
```