
Univariate Polynomials and Polynomial Rings
===========================================

Sage's architecture for polynomials 'under the hood' is complex, interfacing to
a variety of C/C++ libraries for polynomials over specific rings. In practice,
the user rarely has to worry about which backend is being used.

The hierarchy of class inheritance is somewhat confusing, since most of the
polynomial element classes are implemented as Cython extension types rather
than pure Python classes and thus can only inherit from a single base class,
whereas others have multiple bases.

.. toctree::
   :maxdepth: 2

   sage/rings/polynomial/polynomial_ring

   sage/rings/polynomial/polynomial_element
   sage/rings/polynomial/polynomial_element_generic
   sage/rings/polynomial/polynomial_gf2x
   sage/rings/polynomial/polynomial_number_field
   sage/rings/polynomial/polynomial_integer_dense_flint
   sage/rings/polynomial/polynomial_integer_dense_ntl
   sage/rings/polynomial/polynomial_zmod_flint
   sage/rings/polynomial/polynomial_modn_dense_ntl
   sage/rings/polynomial/polynomial_real_mpfr_dense
   sage/rings/polynomial/polynomial_singular_interface

   sage/rings/polynomial/real_roots
   sage/rings/polynomial/complex_roots

   sage/rings/polynomial/polynomial_quotient_ring
   sage/rings/polynomial/polynomial_quotient_ring_element



