Polynomial Compilers#

AUTHORS:

  • Tom Boothby, initial design & implementation

  • Robert Bradshaw, bug fixes / suggested & assisted with significant design improvements

class sage.rings.polynomial.polynomial_compiled.CompiledPolynomialFunction#

Bases: object

Builds a reasonably optimized directed acyclic graph representation for a given polynomial. A CompiledPolynomialFunction is callable from python, though it is a little faster to call the eval function from pyrex.

This class is not intended to be called by a user, rather, it is intended to improve the performance of immutable polynomial objects.

Todo

  • Recursive calling

  • Faster casting of coefficients / argument

  • Multivariate polynomials

  • Cython implementation of Pippenger’s Algorithm that doesn’t depend heavily upon dicts.

  • Computation of parameter sequence suggested by Pippenger

  • Univariate exponentiation can use Brauer’s method to improve extremely sparse polynomials of very high degree

class sage.rings.polynomial.polynomial_compiled.abc_pd#

Bases: binary_pd

class sage.rings.polynomial.polynomial_compiled.add_pd#

Bases: binary_pd

class sage.rings.polynomial.polynomial_compiled.binary_pd#

Bases: generic_pd

class sage.rings.polynomial.polynomial_compiled.coeff_pd#

Bases: generic_pd

class sage.rings.polynomial.polynomial_compiled.dummy_pd#

Bases: generic_pd

class sage.rings.polynomial.polynomial_compiled.generic_pd#

Bases: object

class sage.rings.polynomial.polynomial_compiled.mul_pd#

Bases: binary_pd

class sage.rings.polynomial.polynomial_compiled.pow_pd#

Bases: unary_pd

class sage.rings.polynomial.polynomial_compiled.sqr_pd#

Bases: unary_pd

class sage.rings.polynomial.polynomial_compiled.unary_pd#

Bases: generic_pd

class sage.rings.polynomial.polynomial_compiled.univar_pd#

Bases: generic_pd

class sage.rings.polynomial.polynomial_compiled.var_pd#

Bases: generic_pd