carl
19.06.72
ComputerARithmeticLibrary

In order to represent polynomials, we define the following hierarchy of classes:
We consider these types to be embedded in a hierarchy like this:
We will abbreviate these types as C, V, M, T, MP.
Additionally, we define a UnivariatePolynomial class. It is meant to represent either a univariate polynomial in a single variable, or a multivariate polynomial with a distinguished main variable.
In the former case, a number type is used as template argument. We call this a univariate polynomial.
In the latter case, the template argument is instantiated with a multivariate polynomial. We call this a univariately represented polynomial.
A UnivariatePolynomial, regardless if univariate or univariately represented, is mostly compatible to the above types.