Documentation

# `Dom`::`Polynomial`

Domains of polynomials in arbitrarily many indeterminates

MuPAD® notebooks will be removed in a future release. Use MATLAB® live scripts instead.

MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.

## Syntax

### Domain Creation

`Dom::Polynomial(<`R, <Order>`>)`

### Element Creation

`Dom::PolynomialRorder(`p`)`
`Dom::PolynomialRorder(`lm, v`)`

## Description

`Dom::Polynomial(R, ..)` creates the domain of polynomials in arbitrarily many indeterminates over the commutative ring `R` in distributed representation.

`Dom::Polynomial` represents polynomials in arbitrarily many indeterminates over arbitrary commutative rings.

It is simply a front end to the domain `Dom::DistributedPolynomial([],R,Order)` and thus all usual algebraic and arithmetical polynomial operations are implemented. Please see the documentation for `Dom::DistributedPolynomial` for a list of methods.

`Dom::Polynomial(R, Order)` creates a domain of polynomials in arbitrarily many indeterminates over a domain of category `Cat::CommutativeRing` in sparse distributed representation with respect to the monomial ordering `Order`.

If `Dom::Polynomial` is called without any argument, a polynomial domain over the domain `Dom::ExpressionField(normal)` with respect to the lexicographic monomial ordering is created.

### Note

Only commutative coefficient rings of type `DOM_DOMAIN` which inherit from `Dom::BaseDomain` are allowed. If `R` is of type `DOM_DOMAIN` but does not inherit from `Dom::BaseDomain`, the domain `Dom::ExpressionField``(normal)` will be used instead.

Only identifiers should be used as polynomial indeterminates, since when creating a new element from a polynomial or a polynomial expression the function `indets` is first called to get the identifiers and then the polynomial is created with respect to these identifiers.

### Note

It is highly recommend to use only coefficient rings with unique zero representation. Otherwise it may happen that, e.g., a polynomial division will not terminate or a wrong degree will be returned.

Please note that for reasons of efficiency not all methods check their arguments, not even at the interactive level. In particular, this is true for many access methods, converting methods and technical methods. Thus, improper use of these methods may result in confusing error messages.

## Superdomain

`Dom::DistributedPolynomial`

## Axioms

`Ax::indetElements`

## Categories

`Cat::Polynomial``(R)`

## Examples

### Example 1

The following call creates the polynomial domain over the rationals.

`PR:=Dom::Polynomial(Dom::Rational)`
` `

Since the monomial ordering was not specified, this domain is created with the default value for this parameter.

It is rather easy to create elements of this domain, as, e.g.,

`a := PR(x*(2*x + y^3) - 7/2)`
` `
`b := PR(x*(2*t + z^3) - 6)`
` `
`c := a^2-b/3+3`
` `

## Parameters

 `R` A commutative ring, i.e., a domain of category `Cat::CommutativeRing`. Default: `Dom::ExpressionField(normal)`. `Order` A monomial ordering, i.e., one of the predefined orderings `LexOrder`, `DegreeOrder`, or `DegInvLexOrder` or an element of the domain `Dom::MonomOrdering`. Default: `LexOrder`. `p` A polynomial or a polynomial expression. `lm` List of monomials, which are represented as lists containing the coefficients together with the exponents or exponent vectors. `v` List of indeterminates.

## Entries

 "characteristic" The characteristic of this domain, which is the characteristic of `R`. "coeffRing" The coefficient ring of this domain as defined by the parameter `R`. "key" The name of the domain created. "one" The neutral element w.r.t. `"_mult"`, which is `R::one`. "ordering" The monomial order as defined by the parameter `Order`. "zero" The neutral element w.r.t. `"_plus"`, which is `R::zero`.

## Algorithms

To create polynomials from expressions with no suitable indeterminates the dummy variable `_dummy` is introduced. With this variable it is possible to create elements from constants which otherwise would fail. The drawback of this approach is that two mathematically equal polynomials may have variable lists which differ by this dummy variable.

#### Mathematical Modeling with Symbolic Math Toolbox

Get examples and videos