
indets - determining indeterminates of an expression

Calling sequence:
indets(expr [ , opt ])

Parameter:
expr   --  expression
opt    --  one of the options RatExpr or PolyExpr

Overloading:

all

Summary:

indets returns the indeterminates of an expressionas a set:

 o  A call in the form indets(expr) returns all indeterminates of the expression
    expr.  Indeterminates are those identifiers with no values.  Exceptions
    are the zero operands of sub-expressions.

 o  With a call in the form indets(expr, RatExpr) the expression expr
    is considered a rational expression.  Non-rational sub-expressions like
    sin(x) or f(a, b) are considered indeterminates and are returned. In
    contrast sub-expressions such as f(2, PI) are considered constants even

     when the identifier f has no value. (The expression is constant because
     the operands of f are constant.)

  o  With a call in the form indets(expr, PolyExpr) the expression expr is
     considered a polynomial expression. Similar to RatExpr non-polynomial
     sub-expressions like exp(t+1) or x^(-3) are considered indeterminates.

  o  If expr is a list, set, table or an array then indets is used recursively
     on the individual elements.

indets is a kernel function.

>>  e := 1/x[2] + f(PI/3) + sin(y)*y^3 + z^(-3):
    indets(e); indets(e, RatExpr); indets(e, PolyExpr);

      {x, y, z}
      {x[2], x, y, z, sin(y)}
      {1/x[2], z^(-3), x, y, z, sin(y)}

>>  indets( [ a, 2, {f(3), g(c)}, b+4 ] );

      {a, b, c}

See also:  op

