vector times vector; vector^-1?



Hi Viktor,

> I thought about using a global variable (say, nonscalar_matelements?) that
> controls whether or not matrix and list elements are considered commutative
> when the dot product of matrices and lists is calculated.

at least for matrices this already exists: matrix_element_mult.

To comment on the bigger issue: I think there are just too many 
useful operations and too few suitable symbols in ascii. (Sometimes
I define non ascii symbols like "?" as operators.)

One way out would be to have long descriptive names for
operations but have local definitions for operators symbols.
I guess "+", "*" and "^" are out of discussion, but you could do
something like declare_operator(".", inner_product) without messing
with non-commutative multiplication on a global level like vect does
now.

I believe this could be done mostly backwards compatible and be much
more in the spirit of maxima then inventing new objects for everything.

(Inventing new data types isn't bad, but there already is one free
CAS which is taking that approach.)

Just my 2 cents,
Harald