# `degreevec`

Exponents of the leading term of a polynomial

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

```degreevec(`p`, <`order`>)
degreevec(`f`, <`vars`>, <`order`>)
```

## Description

`degreevec(p)` returns a list with the exponents of the leading term of the polynomial `p`.

For a polynomial in the variables x1, x2, …, xn with the leading term x1e1x2e2 … xnen, the exponent vector [e1, e2, …, en] is returned.

`degreevec` returns a list of zeroes for the zero polynomial.

If the first argument `f` is not element of a polynomial domain, then `degreevec` converts the expression internally to a polynomial of type `DOM_POLY` via `poly``(f)`. If a list of indeterminates is specified, the polynomial `poly``(f, vars)` is considered. `FAIL` is returned if `f` cannot be converted to a polynomial.

## Examples

### Example 1

The leading term of the following polynomial expression (with respect to the main variable `x`) is x4:

`degreevec(x^4 + x^2*y^3 + 2, [x, y])`
` `

With the main variable `y`, the leading term is x2y3:

`degreevec(x^4 + x^2*y^3 + 2, [y, x])`
` `

For polynomials of type `DOM_POLY`, the indeterminates are an integral part of the data type:

```degreevec(poly(x^4 + x^2*y^3 + 2, [x, y])), degreevec(poly(x^4 + x^2*y^3 + 2, [y, x]))```
` `

### Example 2

For a univariate polynomial, the standard term orderings regard the same term as “leading”:

```degreevec(poly(x^2*z + x*z^3 + 1, [x]), LexOrder), degreevec(poly(x^2*z + x*z^3 + 1, [x]), DegreeOrder), degreevec(poly(x^2*z + x*z^3 + 1, [x]), DegInvLexOrder)```
` `

In the multivariate case, different polynomial orderings may yield different leading exponent vectors:

```degreevec(poly(x^2*z + x*z^3 + 1, [x, z])), degreevec(poly(x^2*z + x*z^3 + 1, [x, z]), DegreeOrder)```
` `
```degreevec(x^3 + x*y^2*z - 5*y^4, [x, y, z], LexOrder), degreevec(x^3 + x*y^2*z - 5*y^4, [x, y, z], DegreeOrder), degreevec(x^3 + x*y^2*z - 5*y^4, [x, y, z], DegInvLexOrder)```
` `

### Example 3

The exponent vector of the zero polynomial is a list of zeroes:

`degreevec(0, [x, y, z])`
` `

## Parameters

 `p` A polynomial of type `DOM_POLY` `f` `vars` A list of indeterminates of the polynomial: typically, identifiers or indexed identifiers `order` The term ordering: either `LexOrder`, or `DegreeOrder`, or `DegInvLexOrder`, or a user-defined term ordering of type `Dom::MonomOrdering`. The default is the lexicographical ordering `LexOrder`.

## Return Values

List of nonnegative integers. `FAIL` is returned if the input cannot be converted to a polynomial.

` f`, `p`