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: sage.rings.polynomial.polynomial_compiled.binary_pd

class sage.rings.polynomial.polynomial_compiled.add_pd

Bases: sage.rings.polynomial.polynomial_compiled.binary_pd

class sage.rings.polynomial.polynomial_compiled.binary_pd

Bases: sage.rings.polynomial.polynomial_compiled.generic_pd

class sage.rings.polynomial.polynomial_compiled.coeff_pd

Bases: sage.rings.polynomial.polynomial_compiled.generic_pd

class sage.rings.polynomial.polynomial_compiled.dummy_pd

Bases: sage.rings.polynomial.polynomial_compiled.generic_pd

class sage.rings.polynomial.polynomial_compiled.generic_pd

Bases: object

class sage.rings.polynomial.polynomial_compiled.mul_pd

Bases: sage.rings.polynomial.polynomial_compiled.binary_pd

class sage.rings.polynomial.polynomial_compiled.pow_pd

Bases: sage.rings.polynomial.polynomial_compiled.unary_pd

class sage.rings.polynomial.polynomial_compiled.sqr_pd

Bases: sage.rings.polynomial.polynomial_compiled.unary_pd

class sage.rings.polynomial.polynomial_compiled.unary_pd

Bases: sage.rings.polynomial.polynomial_compiled.generic_pd

class sage.rings.polynomial.polynomial_compiled.univar_pd

Bases: sage.rings.polynomial.polynomial_compiled.generic_pd

class sage.rings.polynomial.polynomial_compiled.var_pd

Bases: sage.rings.polynomial.polynomial_compiled.generic_pd