On 2/4/07, Thomas Widlar <twidlar at yahoo.com> wrote:
> Isn't the noun status necessary to retain an equation in untampered
> symbolic form?
No, not for mathematical functions, only for expression-to-expression functions.
> Shouldn't the other differential operators grad, div, curl and laplacian be
> added to the noun/verb system?
Probably. But the author of that package apparently preferred to make
everything a noun by default, and use "express" to expand. I don't
know why exactly, but I can guess. The expressed form depends on other
declarations (coordinate system, etc.), and the package lets you input
things without declaring those in advance. Perhaps the author also
felt that it was simply more convenient. But I agree that this is not
a consistent way to do things.
> Is there a way for the user to tell maxima that other functions be added to
> the noun/verb system?
You don't need to do anything at all. Write 'grad(...) and the
expression will stay unexpressed. Simplification rules such as
'grad(<constant>) => 0 can be expressed using the pattern matching
system. The express form is simply a defined function grad.
-s