[Numpy-discussion] Polynomial implementation in numpy.ma

Charles R Harris charlesr.harris at gmail.com
Sat Sep 17 12:52:18 EDT 2011


On Sat, Sep 17, 2011 at 10:40 AM, Charles R Harris <
charlesr.harris at gmail.com> wrote:

>
>
> 2011/9/14 Stéfan van der Walt <stefan at sun.ac.za>
>
>> Hi all,
>>
>> There were some failures in the polynomial tests earlier today, and
>> while investigating I saw that numpy.ma implements its own root
>> finder.  It uses inversion of a Van der Monde matrix, which I believe
>> may suffer from some numerical instability problems.  Given that
>> Charles has gone to some length to implement good polynomial root
>> finders, I think it would be best to employ those instead, and simply
>> pre-filter the data that comes from the masked array module, if
>> possible.
>>
>>
> The test failure arises because the test compares against np.polyfit where
> Travis changed the column scaling, which in turn changed the singular
> values, and it is that comparison that fails.
>
> The Vandermonde matrix needs to be used for the fitting so nothing should
> be changed there. To fix the test failure, either the test could be modified
> or the ma.polyfit routine can be changed. Probably the latter is the best
> option, the new scaling code can be brought over and maybe the weight and
> covariance options added.Travis' changes needs to be audited in any case to
> make sure all the corner cases are covered.
>

Note that the enhanced np.polyfit can be called directly with the weight set
to zero for the masked rows, i.e., set w to the compliment of the mask. That
should simplify the code a bit.

Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20110917/e992feaf/attachment.html>


More information about the NumPy-Discussion mailing list