Maxima Function
subst (a, b, c)
Substitutes a for b in c. b must be an atom or a
complete subexpression of c. For example, x+y+z
is a complete
subexpression of 2*(x+y+z)/w
while x+y
is not. When b does not have
these characteristics, one may sometimes use substpart
or ratsubst
(see below). Alternatively, if b is of the form e/f
then one could
use subst (a*f, e, c)
while if b is of the form e^(1/f)
then one could
use subst (a^f, e, c)
. The subst
command also discerns the x^y
in x^-y
so that subst (a, sqrt(x), 1/sqrt(x))
yields 1/a
. a and b may also be
operators of an expression enclosed in double-quotes "
or they may be function
names. If one wishes to substitute for the independent variable in
derivative forms then the at
function (see below) should be used.
subst
is an alias for substitute
.
subst (eq_1, expr)
or subst ([eq_1, ..., eq_k], expr)
are other permissible
forms. The eq_i are equations indicating substitutions to be made.
For each equation, the right side will be substituted for the left in
the expression expr.
exptsubst
if true
permits substitutions
like y
for %e^x
in %e^(a*x)
to take place.
When opsubst
is false
,
subst
will not attempt to substitute into the operator of an expression.
E.g. (opsubst: false, subst (x^2, r, r+r[0]))
will work.
Examples:
(%i1) subst (a, x+y, x + (x+y)^2 + y); 2 (%o1) y + x + a (%i2) subst (-%i, %i, a + b*%i); (%o2) a - %i b
For further examples, do example (subst)
.