# Cat::Polynomial

Category of multivariate polynomials

### Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.

## Syntax

```Cat::Polynomial(`R`)
```

## Description

`Cat::Polynomial(R)` represents the category of multivariate polynomials over `R`.

A `Cat::Polynomial(R)` is a multivariate polynomial ring over a commutative coefficient ring `R`.

## Categories

If `R` is a `Cat::FactorialDomain`, then `Cat::FactorialDomain`.

If `R` is a `Cat::GcdDomain`, then `Cat::GcdDomain`.

If `R` is a `Cat::IntegralDomain`, then `Cat::IntegralDomain`.

## Parameters

 `R` A domain which must be from the category `Cat::CommutativeRing`.

## Entries

 "coeffRing" The coefficient ring `R`. "characteristic" The characteristic of this domain, which is the same as that of the ring `R`.

expand all

## Basic Methods

### `coeff` — Return coefficients

`coeff(p)`

`coeff(p, x, n)`

`coeff(p, n)`

Must return the coefficient of `x^n` of `p`, which is a polynomial in the remaining indeterminates.

Must return the coefficient of `x^n` of `p`, where `x` is the main variable of `p`.

### `degree` — Return total degree

`degree(p)`

`degree(p, x)`

Must return the degree of `p` with respect to the indeterminate `x`.

### `degreevec` — Return degree vector

`degreevec(p)`

### `evalp` — Evaluate at a point

`evalp(p, x = v, …)`

More than one evaluation point may be given. The result must be a polynomial in the remaining indeterminates or an element of `R`.

### `indets` — Return indeterminates

`indets(p)`

### `lcoeff` — Return leading coefficient

`lcoeff(p)`

### `lmonomial` — Return leading monomial

`lmonomial(p)`

### `lterm` — Return leading term

`lterm(p)`

### `mainvar` — Return main variable

`mainvar(p)`

### `mapcoeffs` — Map coefficients

```mapcoeffs(p, f, <a, …>)```

### `multcoeffs` — Multiply coefficients

`multcoeffs(p, c)`

### `nterms` — Return number of terms

`nterms(p)`

### `nthcoeff` — Return `n`-th coefficient

`nthcoeff(p, n)`

### `nthmonomial` — Return `n`-th monomial

`nthmonomial(p, n)`

### `nthterm` — Return `n`-th term

`nthterm(p, n)`

### `tcoeff` — Return trailing coefficient

`tcoeff(p)`

### `unitNormal` — Return unit normal

`unitNormal(p)`

An implementation is provided if `R` has the axiom `Ax::canonicalUnitNormal`: In this case `p` is multiplied by an unit of `R` such that the leading coefficient has unit normal representation in `R`.

### `unitNormalRep` — Return unit normal representation

`unitNormalRep(p)`

An implementation is provided if `R` has the axiom `Ax::canonicalUnitNormal`.

## Mathematical Methods

### `content` — Return content

`content(p)`

### `isUnit` — Test if element is a unit

`isUnit(p)`

### `primpart` — Return primitive part

`primpart(p)`

### `poly2list` — Convert into a list

`poly2list(p)`

### `solve` — Solve polynomial equation

```solve(p, x, <opt, …>)```

```solve(p, x = T, <opt, …>)```

`solve(p)`

Solves the polynomial equation `p = 0` with respect to `x` over the domain `T`. See the function `solve` for details about the optional arguments `opt, ...`

The polynomial `p` must be univariate. Solves the polynomial equation `p = 0` with respect to the indeterminate of `p` over the domain `R`.