The source code and dockerfile for the GSW2024 AI Lab.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 
 

1.2 KiB

Polynomials

In order to represent polynomials, we define the following hierarchy of classes:

  • Coefficient: Represents the numeric coefficient..
  • Variable: Represents a variable.
  • Monomial: Represents a product of variables.
  • Term: Represents a product of a constant factor and a Monomial.
  • MultivariatePolynomial: Represents a polynomial in multiple variables with numeric coefficients.

We consider these types to be embedded in a hierarchy like this:

  • MultivariatePolynomial
    • Term
      • Monomial
        • Variable
      • Coefficient

We will abbreviate these types as C, V, M, T, MP.

UnivariatePolynomial

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.

@subpage polynomials_operators