Documentation

# ground

Ground term (constant coefficient) 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

```ground(`p`)
ground(`f`)
ground(`f`, `vars`)
```

## Description

`ground(p)` returns the constant coefficient p(0, 0, …) of the polynomial p.

The first argument can either be a polynomial expression, or a polynomial generated by `poly`, or an element of some polynomial domain overloading `ground`.

If the first argument `f` is not element of a polynomial domain, then `ground` converts the expression to a polynomial via `poly(f)`. If a list of indeterminates is specified, then the polynomial `poly(f, vars)` is considered.

The constant coefficient is returned as an arithmetical expression.

The result of `ground` is not fully evaluated. Evaluation can be enforced by the function `eval`. Cf. Example 2.

`ground` returns `FAIL` if `f` cannot be converted to a polynomial in the specified indeterminates. Cf. Example 3.

## Examples

### Example 1

We demonstrate how the indeterminates influence the result:

```f := 2*x^2 + 3*y + 1: ground(f), ground(f, [x]), ground(f, [y]), ground(poly(f)), ground(poly(f, [x])), ground(poly(f, [y]))```
` `

The result is the evaluation at the origin:

`subs(f, x = 0, y = 0), subs(f, x = 0), subs(f, y = 0)`
` `

Note the difference between `ground` and `tcoeff`:

```g := 2*x^2 + 3*y: ground(g), ground(g, [x]); tcoeff(g), tcoeff(g, [x]);```
` `
` `
`delete f, g:`

### Example 2

The result of `ground` is not fully evaluated:

```p := poly(27*x^2 + a, [x]): a := 5: ground(p), eval(ground(p))```
` `
`delete p, a:`

### Example 3

The following expression is syntactically not a polynomial expression, and `ground` returns `FAIL`:

`f := (x^2 - 1)/(x - 1): ground(f)`
` `

After cancellation via `normal`, `ground` can compute the constant coefficient:

`ground(normal(f))`
` `
`delete f:`

## Parameters

 `p` A polynomial of type `DOM_POLY` `f` `vars` A list of indeterminates of the polynomial: typically, identifiers or indexed identifiers

## Return Values

Element of the coefficient ring of `p`, an arithmetical expression, or `FAIL`.

` f`, `p`