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.

32 lines
1.2 KiB

2 months ago
  1. Polynomials {#polynomials}
  2. =====
  3. In order to represent polynomials, we define the following hierarchy of classes:
  4. - Coefficient: Represents the numeric coefficient..
  5. - Variable: Represents a variable.
  6. - Monomial: Represents a product of variables.
  7. - Term: Represents a product of a constant factor and a Monomial.
  8. - MultivariatePolynomial: Represents a polynomial in multiple variables with numeric coefficients.
  9. We consider these types to be embedded in a hierarchy like this:
  10. - MultivariatePolynomial
  11. - Term
  12. - Monomial
  13. - Variable
  14. - Coefficient
  15. We will abbreviate these types as C, V, M, T, MP.
  16. ## UnivariatePolynomial
  17. Additionally, we define a UnivariatePolynomial class.
  18. It is meant to represent either a univariate polynomial in a single variable, or a multivariate polynomial with a distinguished main variable.
  19. In the former case, a number type is used as template argument. We call this a _univariate polynomial_.
  20. In the latter case, the template argument is instantiated with a multivariate polynomial. We call this a _univariately represented polynomial_.
  21. A UnivariatePolynomial, regardless if univariate or univariately represented, is mostly compatible to the above types.
  22. @subpage polynomials_operators