# 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
class sage.rings.polynomial.polynomial_compiled.add_pd
class sage.rings.polynomial.polynomial_compiled.binary_pd
class sage.rings.polynomial.polynomial_compiled.coeff_pd
class sage.rings.polynomial.polynomial_compiled.dummy_pd
class sage.rings.polynomial.polynomial_compiled.generic_pd

Bases: object

class sage.rings.polynomial.polynomial_compiled.mul_pd
class sage.rings.polynomial.polynomial_compiled.pow_pd
class sage.rings.polynomial.polynomial_compiled.sqr_pd
class sage.rings.polynomial.polynomial_compiled.unary_pd
class sage.rings.polynomial.polynomial_compiled.univar_pd
class sage.rings.polynomial.polynomial_compiled.var_pd