On Sun, 2011-05-15 at 19:42 -0500, Barton Willis wrote:
> (%i3) makelist(expand(subst(sk, map(lambda([s], rhs(s)-lhs(s)), [e1,e2,e3,e4]))),sk, args(sol));
Maxima 5.24.0 http://maxima.sourceforge.net
using Lisp CLISP 2.44.1 (2008-02-23)
I am new to maxima. I tried breaking this expression down to understand
the parts.
I think the makelist() function substitutes the solution into the
initial equations to check. At least the result seems to indicate so.
I think I understand the map sub-expression.
map(lambda([s], lhs(s)), [e1,e2,e3,e4]);
This defines a function with one argument s and executes it with the
argument [e1,e2,e3,e4];
If I do
xx:map(lambda([s], lhs(s)), [e1,e2,e3,e4]);
makelist(expand(subst(sk, xx)),sk, args(sol));
The result is different.
It appears this is using some side effect of the syntax to substitute
the solution into the original equations.
Can someone please explain this syntax? I looked at describe("subst");,
but, did not find enough to explain the syntax.
tomdean