# Polynomials¶

Computations with polynomials are at the core of computer algebra and
having a fast and robust polynomials manipulation module is a key for
building a powerful symbolic manipulation system. Diofant has a dedicated
module `diofant.polys`

for computing in polynomial algebras over
various coefficient domains.

There is a vast number of methods implemented, ranging from simple tools like polynomial division, to advanced concepts including Gröbner bases and multivariate factorization over algebraic number domains.

- Basic functionality of the module
- Examples from Wester’s Article
- Introduction
- Examples
- Simple univariate polynomial factorization
- Univariate GCD, resultant and factorization
- Multivariate GCD and factorization
- Support for symbols in exponents
- Testing if polynomials have common zeros
- Normalizing simple rational functions
- Expanding expressions and factoring back
- Factoring in terms of cyclotomic polynomials
- Univariate factoring over Gaussian numbers
- Computing with automatic field extensions
- Univariate factoring over various domains
- Factoring polynomials into linear factors
- Advanced factoring over finite fields
- Working with expressions as polynomials
- Computing reduced Gröbner bases
- Multivariate factoring over algebraic numbers
- Partial fraction decomposition

- Literature

- Polynomials Manipulation Module Reference
- Basic polynomial manipulation functions
- Extra polynomial manipulation functions
- Domain constructors
- Algebraic number fields
- Monomials encoded as tuples
- Orderings of monomials
- Formal manipulation of roots of polynomials
- Symbolic root-finding algorithms
- Special polynomials
- Orthogonal polynomials
- Manipulation of rational functions
- Partial fraction decomposition
- Dispersion of Polynomials

- Literature