On Sat, Mar 29, 2014 at 7:31 AM, <[email protected]> wrote: > On Sat, Mar 29, 2014 at 12:12 AM, Jaime Fernández del Río > <[email protected]> wrote: >> Hi, >> >> I have submitted a PR (https://github.com/numpy/numpy/pull/4568) that speeds >> up `np.vander` by using accumulated multiplication instead of exponentiation >> to compute the Vandermonde matrix. For largish matrices the speed-ups can be >> quite dramatic, over an order of magnitude. >> >> Julian has raised concerns on numerical stability and loss of precision, >> which don't seem to be all that relevant. Do speak up if you think >> otherwise. >> >> We are also discussing replacing a recently added kwarg, "order", which now >> accepts a string, either "increasing" or "decreasing", to indicate the >> ordering of the matrix columns. This was not present in 1.8, so can still be >> modified. The proposal is to replace it with a "reversed" boolean flag. >> Unfortunately, the return of np.vander in 1.8 and before is the opposite >> (i.e. its reversed) from the standard definition, which has powers >> increasing from left to right. So it is not clear what the reversed keyword >> should refer to: >> >> 1. If it refers to the standard definition, then it would default to False >> for backwards compatibility, but be consistent with the conventional >> definition. >> >> 2. If it refers to the existing behavior of numpy's vander, then it would >> default to True, and not be consistent with the conventional definition. >> >> I prefer option 1, but would like to hear other's opinions. Which could of >> course include naming the boolean flag more ingeniously, or keeping the >> string flag. If he's reading, I'd specially like to hear Warren Weckesser's >> thoughts, as he is the one who added the "order" kwarg. > > "order" is not a good name, I would find it very confusing (I'm > usually mixing up order and degree) > http://en.wikipedia.org/wiki/Order_of_a_polynomial > > how about calling the keyword "increasing=False" ? > which would avoid defining what it's reversed against.
Obviously I didn't read the PR before answering. But it shows that `increasing` might be obvious, or that Warren and I think the same way. Josef > > > I don't know about precision loss. > There's a nasty NIST problem for polynomial regression. If that > doesn't change much, I wouldn't worry about differences in precision > for statistical applications. > > But the problem is for the regression part, and might not be affected > much by the vander precision. (Besides it's an example for "Don't do > that at home.") > http://jpktd.blogspot.ca/2012/03/numerical-accuracy-in-linear-least.html > http://en.wikibooks.org/wiki/Statistics:Numerical_Methods/Numerical_Comparison_of_Statistical_Software#Linear_Regression > > Josef > >> >> 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 >> [email protected] >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> _______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
