On Mon, Mar 4, 2013 at 4:53 PM, Aron Ahmadia <aron@ahmadia.net> wrote:
Interesting, that question would probably have gotten a different response on scicomp, it is a pity we are not attracting more questions there!

I know there are two polyfit modules in numpy, one in numpy.polyfit, the other in numpy.polynomial, the functionality you are suggesting seems to fit in either.

What parameters/functionality are you considering adding?

Well, you need two more array-likes, x_fixed and y_fixed, which could probably be fed to polyfit as an optional tuple parameter:

polyfit(x, y, deg, fixed_points=(x_fixed, y_fixed))

The standard return would still be the deg + 1 coefficients of the fitted polynomial, so the workings would be perfectly backwards compatible.

An optional return, either when full=True, or by setting an additional lagrange_mult=True flag, could include the values of the Lagrange multipliers calculated during the fit.

Jaime

 
A


On Mon, Mar 4, 2013 at 7:23 PM, Jaime Fernández del Río <jaime.frio@gmail.com> wrote:
A couple of days back, answering a question in StackExchange (http://stackoverflow.com/a/15196628/110026), I found myself using Lagrange multipliers to fit a polynomial with least squares to data, making sure it went through some fixed points. This time it was relatively easy, because some 5 years ago I came across the same problem in real life, and spent the better part of a week banging my head against it. Even knowing what you are doing, it is far from simple, and in my own experience very useful: I think the only time ever I have fitted a polynomial to data with a definite purpose, it required that some points were fixed.

Seeing that polyfit is entirely coded in python, it would be relatively straightforward to add support for fixed points. It is also something I feel capable, and willing, of doing.

 * Is such an additional feature something worthy of investigating, or will it never find its way into numpy.polyfit?
 * Any ideas on the best syntax for the extra parameters?

Thanks,

Jaime

--
(\__/)
( O.o)
( > <) Este es Conejo. Copia a Conejo en tu firma y ayúdale en sus planes de dominación mundial.

_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion



_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion




--
(\__/)
( O.o)
( > <) Este es Conejo. Copia a Conejo en tu firma y ayúdale en sus planes de dominación mundial.