Barton,
> >We should probably put a working definition of
> >hessian somewhere -- how about share/vector/vect.mac ?
>
> Since vect.mac declares "." to be commutative, I suggest that we
> not define hessian in vect.mac. Maybe hessian should go into a
> new file: /share/calculus/hessian.mac. The commuative "."
> declaration in vect.mac messes up matrix multiplication.
Well, another approach is to cut the declare(".", commutative) from
vect.mac -- that certainly is not playing nice with the rest of Maxima.
I can see the motivation -- the scalar product is often represented in
print as a dot -- but the dot has wider currency in Maxima as
noncommutative multiplication. Although vect.mac was written
decades ago, we're not obligated to perpetuate every decision for eternity.
The scalar product could have its own function dot(x, y) or, x dot y,
or, I dunno, scalar_product(x, y), or we could beef up the simplification
of x . y such that the operands may be reordered if it can be shown
the result is the same after reordering.
Anyway it's something to think about.
best,
Robert