[Maxima] the argument simp:false
jakubi at df.uba.ar
Tue Sep 1 15:24:37 CDT 2009
> But in brief, in ev(..., XXX), the XXX may be:
> * a symbol
> ** with a special interpretation (noeval, nouns, expand, ...)
> ** a variable name with the evflags property, in which case it is
> bound to true (simp, float, exponentialize, ...)
> ** a function name, in which case that function is de-nounified
> within the expression (diff, sum, ...)
> ** another symbol, in which case it is evaluated; its value should be
> a list, which is treated as arguments to ev
> * an assignment or equation (a:3 or a=3), in which case that variable
> is bound locally to that value
> * a function definition, in which case that function is bound locally
> to that definition
I find that such a listing of the admisible syntaxes would clarify very much
the manual section for 'ev'.
> Well, ev(expr, foo:bar) or equivalently ev(expr, foo=bar) just means
> to evaluate expr while foo is temporarily bound to bar.
In particular, I have not seen an explicit mention that an assignment or
equation (foo:bar or foo=bar) are equivalent forms for a local/temporary binding.
However, at least in the case of 'simp', I do not find it working that way:
(%i2) simp : false$
(%i3) ev(1 + 1, simp = true);
(%i4) simp : true$
(%i5) ev(1 + 1, simp = false);
as I would have expected 1+1 in the last case.
I.e. the local binding for 'simp' does not seem to be working here the same
way as in ev(tellsimp (0^0, 1), simp: false).
Could you clarify on this point?
More information about the Maxima