|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
/*
* This file:
* http://anggtwu.net/MAXIMA/mysubst2.mac.html
* http://anggtwu.net/MAXIMA/mysubst2.mac
* (find-angg "MAXIMA/mysubst2.mac")
* Author: Eduardo Ochs <eduardoochs@gmail.com>
*
* (defun e () (interactive) (find-angg "MAXIMA/mysubst2.mac"))
* (defun o () (interactive) (find-angg "MAXIMA/mysubst.mac"))
* Supersedes: (find-angg "MAXIMA/mysubst.mac")
*
* See: (find-es "maxima" "operator-subst")
* (find-angg "MAXIMA/2025-1-s.mac")
*/
"_s_"(expr,subs) := sublis(subs, expr);
infix("_s_",99,101);
LSUBST (eqs) := map('LSUBST1,eqs);
LSUBST1(eq) := if is(op(eq) = ":=") then
block([fxy,f,xy,r],
fxy:lhs(eq), f:op(fxy), xy:args(fxy), r:rhs(eq),
buildq([fxy,f,xy,r], f=lambda(xy,r)))
else eq;
/*
* (eepitch-maxima)
* (eepitch-kill)
* (eepitch-maxima)
** (find-angg "MAXIMA/mysubst2.mac")
load ("mysubst2.mac");
S1 : [ a=3 ];
S2 : [ b=4 ];
S3 : [ a=3, b=4 ];
Sg : LSUBST('[ g(y):=sqrt(y)+y^3 ]);
f(g(4/5));
f(g(4/5)) _s_ Sg;
f(g(c/d)) _s_ Sg;
AIPIM : sqrt(a^2+b^2) = a+b;
AIPIM _s_ S1;
AIPIM _s_ S1 _s_ S2;
AIPIM _s_ S3;
M1 : matrix([a, "=", b, "=", c]);
M2 : matrix([a, "=", b],
["", "=", c]);
M1 _s_ [a=2, b=3, c=4];
M2 _s_ [a=2, b=3, c=4];
2=3;
is(2=3);
S4 : LSUBST('[ f(x):=g(x), g(x):=f(x) ]);
S5 : LSUBST('[ f(x):=g(g(x)), g(x):=f(f(x)) ]);
f(g(42)) _s_ S4;
f(g(42)) _s_ S5;
*/
/*
* Local Variables:
* coding: utf-8-unix
* End:
*/