On Fri, Jun 14, 2013 at 08:07:57PM -0600, Charles R Harris wrote: > I am trying to find out a way by which I can easily generate the n-th > order "special" polynomial, where "special" could refer to Hermite, > Chebyshev etc. Numpy 1.7 introduces several methods for such > polynomials, but I couldn't find a convenience function that gives me > a polynomial directly based on degree. For instance, I'd like: > > hermite(3) to result in array([ �0., -12., � 0., � 8.]) > hermite(6) to result in array([-120., � �0., �720., � �0., -480., � �0., > � 64.]) > and so on. > > Generally that is a bad idea, polynomials tend to be numerically unstable > and you lose all the virtue of the Hermite basis. However, you can do
This may be true, but I am not concerned with the numerical instability in my current application. Nevertheless, I understand it if you don't want to introduce such a function. > In [1]: from numpy.polynomial import Polynomial, Hermite > > In [2]: p = Hermite.basis(5) > > In [3]: p.convert(kind=Polynomial) > Out[3]: Polynomial([�� 0.,� 120.,��� 0., -160.,��� 0.,�� 32.], [-1.,� 1.], > [-1.,� 1.]) > > In [4]: Polynomial.cast(p) > Out[4]: Polynomial([�� 0.,� 120.,��� 0., -160.,��� 0.,�� 32.], [-1.,� 1.], > [-1.,� 1.]) > > In [5]: from numpy.polynomial import Chebyshev > > In [6]: Chebyshev.cast(p) > Out[6]: Chebyshev([� 0.,� 20.,�� 0., -30.,�� 0.,�� 2.], [-1.,� 1.], [-1.,� > 1.]) > > Hmm, it should be possible to make the constructor take polynomials of > different kinds since they all derive from PolyBase and can be detected. > That could replace the cast method in a nice way. I now see that the polynomial structure is intended to be "rich", as opposed to the naïve function that I proposed. In the least, though, the documentation could reflect the example you gave me. I could send a patch that adds an example for each of the polynomial types in the documentation, much like yours, if that would be useful. Thanks for the clarification. Kumar -- Kumar Appaiah _______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
