zoom
Only show selected terms in a sum, and restrict subsequent algorithms to these terms.
Often you want manipulations to only apply to a selected subset of terms in a large sum. The zoom
algorithm makes only certain terms visible, representing the remaining terms with dots. Any subsequent
algorithms will only act on these visible terms.
Here is an expression with 5 terms,ex:=\int{ A_{m n} + B_{m n} C + D_{m} F_{n} C + T_{m n} + B_{m n} R}{x};
\(\displaystyle{}\int \left(A_{m n}+B_{m n} C+D_{m} F_{n} C+T_{m n}+B_{m n} R\right)\,\,{\rm d}x\)
\int{A_{m n} + B_{m n} C + D_{m} F_{n} C + T_{m n} + B_{m n} R}{x}
In order to restrict attention only to the terms containing a $B_{m n}$ factor, we use
zoom(_, $B_{m n} Q??$);
\(\displaystyle{}\int \left( ... +B_{m n} C+ ... +B_{m n} R\right)\,\,{\rm d}x\)
\int{ ... + B_{m n} C + ... + B_{m n} R}{x}
Subsequent algorithms only work on the visible terms above, not on the terms hidden inside the dots,
substitute(_, $C->Q$);
\(\displaystyle{}\int \left( ... +B_{m n} Q+ ... +B_{m n} R\right)\,\,{\rm d}x\)
\int{ ... + B_{m n} Q + ... + B_{m n} R}{x}
To make the hidden terms visible again, use
unzoom
, and note that the third term below has remained unaffected
by the substitution above,unzoom(_);
\(\displaystyle{}\int \left(A_{m n}+B_{m n} Q+D_{m} F_{n} C+T_{m n}+B_{m n} R\right)\,\,{\rm d}x\)
\int{A_{m n} + B_{m n} Q + D_{m} F_{n} C + T_{m n} + B_{m n} R}{x}
The
zoom
/unzoom
combination is somewhat similar to the old deprecated take_match
/replace_match
algorithms, but makes it more clear that terms have been suppressed.It is possible to give
zoom
a list of patterns, in which case each term that is kept
must match at least one of these patterns. See the examples below.ex:= x A1 + x**2 A2 + y A3 + y**2 A4;
\(\displaystyle{}x {A_{1}}+{x}^{2} {A_{2}}+y {A_{3}}+{y}^{2} {A_{4}}\)
x A1 + (x)**2 A2 + y A3 + (y)**2 A4
zoom(ex, ${x A??, y A??}$);
\(\displaystyle{}x {A_{1}}+ ... +y {A_{3}}+ ... \)
x A1 + ... + y A3 + ...
unzoom(ex);
\(\displaystyle{}x {A_{1}}+{x}^{2} {A_{2}}+y {A_{3}}+{y}^{2} {A_{4}}\)
x A1 + (x)**2 A2 + y A3 + (y)**2 A4
zoom(ex, ${x A??, x**2 A??}$);
\(\displaystyle{}x {A_{1}}+{x}^{2} {A_{2}}+ ... \)
x A1 + (x)**2 A2 + ...