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
x+y is not. When <b> does not have these characteristics, one may sometimes use
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 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
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>.
true permits substitutions like
%e^(a*x) to take place.
subst will not attempt to substitute into the operator of an expression. E.g.
(opsubst: false, subst (x^2, r, r+r)) will work.
(%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
There are also some inexact matches for
?? subst to see them.
(%o1) true (%i2)