vector times vector; vector^-1?



tellsimp tells me that defining rules on + and * might not work. And in fact I was not lucky 
with it. So I decided to learn how the simplifier works. But hacking simplus and friends is 
really a hard job. It is more or less impossible to trace these functions in simp.lisp cause 
they work with lots of side effects on the passed in arguments (rplaca and rplacd). 

What I have done so far (in my private copy of simp.lisp - I do not plan to commit to 
simp.lisp at this very experimental state) is

v: vector(1,2);
v - v; --> vector(0,0)
0 * v; --> vector(0,0)

v + v; --> 2 * vector(1,2) is already done by builtin simplifications. 
w: vector(3,4); 
v + w; --> v + w  no builtin simplification; so I am free to define my own, which is not very 
difficult then

Generally I do not plan do create builtin simplifications for vectors. For better readability 
vector expressions should only be nicely displayed when typed in and only be simplified if 
the user asks explicitely for it. An explicit function should do the work.

I think the next important step - and that is why I posted to the list this evening - is to make 
clear what simplification rules I (we) want. I believe that following Robert's suggestion to 
take mathematics as a guideline would be a good thing. 

Volker


Am 15 Nov 2008 um 16:36 hat Barton Willis geschrieben:

> Do you have a plan for how to do vector addition (tellsimp, hack
> simplus, ...)?
> 
> Barton
> 
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima