Some Context Probleme ?



M.Gilg@uha.fr writes:

> I want to define bilinear maps, which can also be
> symmetric or antisymmetric. This has to be over
> a vector space say X1 to Xn. I need also some scalar a1 to am.
> The fonction will be define as :
> f(X1,X2):=a1 X1+a2 X2 +....

So you want to perform calculations in Hom(V (x) V,K), which is
canonically isomorphic to Hom(V,K) (x) Hom(V,K) = V^* (x) V^* (where V
is your finite-dimensional vector-space over some field K and (x)
denotes the tensor product over K).

If your bilinear maps are explicitly given by coordinates you might
consider one of Maxima's tensor packages (which are in a usable state
thanks to Valerij Pipin) contained in the standard distribution.

If you want to perform coordinate-free calculations, you could instead
try to recast your equations in terms of elements of V^* and then use
Maxima's dot operator:

(C1) dotscrules:true;
(D1) 				     TRUE
(C2) declare([a,b],scalar);
(D2) 				     DONE
(C3) (a*x) . y + x . (b*y);
(D3) 			     b (x . y) + a (x . y)
(C4) ratsimp(%);
(D4) 			        (b + a) (x . y)
(C5) %-(b+a)*(y . x);
(D5) 		       (b + a) (x . y) - (b + a) (y . x)
(C6) ratsimp(%);
(D6) 		      (- b - a) (y . x) + (b + a) (x . y)
(C7) factor(%);
(D7) 			   - (b + a) (y . x - x . y)
(C8) 

In both cases you could also make use of more sophisticated
simplification functions like EXPANDWRT.

Wolfgang
-- 
wjenkner@inode.at