any Python equivalent of Math::Polynomial::Solve?

Alex Renelt renelt at web.de
Sun Feb 27 11:33:21 EST 2005


Alex Renelt wrote:

> in addition:
> I'm writing a class for polynomial manipulation. The generalization of 
> the above code is:
> 
> definitions:
> 1.) p = array([a_0, a_i, ..., a_n]) represents your polynomial
> P(x) = \sum _{i=0} ^n a_i x^i
> 
> 2.) deg(p) is its degree
> 
> 3.) monic(p) makes P monic, i.e. monic(p) = p / p[:-1]
> 
> then you get:
> from numarray import *
> import numarray.linear_algebra as la
> 
> def roots(p):
>     p = monic(p); n = deg(p)
>     M = asarray(zeros((n,n)), typecode = 'f8')
> # or 'c16' if you need complex coefficients
>     M[:-1,1:] = identity(n-1)
>     M[-1,:] = -p[:-1]
>     return la.eigenvalues(M)
> 
> Alex

uhh, I made a mistake:
under definitions, 3.)
its "monic(p) = p / p[-1]" of course

Alex



More information about the Python-list mailing list