numeric::indets
-- search for
indeterminatesnumeric::indets
(object)
returns a set of
the indeterminates contained in object
.
numeric::indets(object)
object |
- | an arbitrary MuPAD object |
A set of indeterminates is returned, if the argument is an object of some basic data type of the kernel. The empty set is returned, if the object is from some library domain.
numeric::polyroots
, numeric::quadrature
,
numeric::realroots
,
numeric::solve
to find
indeterminates.object
for
indeterminates. In particular, the search is applied to the elements of
lists, sets, arrays, tables, etc.DOM_POLY
objects. Also coefficients of such
polynomials are searched for indeterminates.PI
and EULER
(of type Type::ConstantIdents
) and zero
operands of expressions and subexpressions (i.e., the function names in
unevaluated function calls such as f(2)
). Also integration
variables in unevaluated calls of int
and numeric::quadrature
and
summation indices in unevaluated calls of sum
are not considered.
domtype(extop(object, 0)) = DOM_DOMAIN
,
is not searched for indeterminates. The empty set is returned. Cf.
example 3.Identifiers, indexed identifiers are regarded as indeterminates:
>> numeric::indets([{a + b*PI}, sin(c + sqrt(2) + EULER), table(1 = d - cos(e), 2 = f + 0.1*I), array(1..2, [g, h]), F(i[2], i[2]), D([1], G)(j[1]), k[3 + L[4]]])
{a, b, c, d, e, f, g, h, i[2], j[1], k[L[4] + 3]}
Both indeterminates as well as symbolic coefficients are
considered in polynomials of domain type DOM_POLY
:
>> numeric::indets(poly(a[1]*x^2 + a[2]*x +a, [x, y]))
{a, x, y, a[1], a[2]}
The zero operands of unevaluated function calls such as
f(..)
or exp(..)
are not regarded as
indeterminates:
>> numeric::indets(f(a + exp(b) + PI + EULER))
{a, b}
Integration variables and summation indices are not regarded as indeterminates:
>> numeric::indets({int(f(x), x = a..b), sum(f(i), i = c..infinity)})
{a, b, c}
Only objects of basic kernel types such as lists, sets,
arrays, tables, expressions etc. are searched. This does not include
matrices of domain type matrix
or various polynomial
types:
>> numeric::indets(Dom::Matrix()([a,b])), numeric::indets(Dom::DistributedPolynomial()(x^2 +a*x))
{}, {}