Documentation |
Ground term (constant coefficient) of a polynomial
This functionality does not run in MATLAB.
ground(p) ground(f) ground(f, vars)
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.
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:
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:
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:
p |
A polynomial of type DOM_POLY |
f | |
vars |
A list of indeterminates of the polynomial: typically, identifiers or indexed identifiers |