Hello,
Thank you for this answer.
I will take a look to the tensor package.
Marc GILG
Le sam 14/12/2002 à 18:34, Wolfgang Jenkner a écrit :
> 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