Fw: Re[Maxima] itensor



> Thanks for your interest in itensor.

Thanks for working with it & supporting my newbie questions.

> >exp : u([],[i],i)$
> >show(exp)$
> >would print (div u) or (del dot u)?
> I still don't understand what a sence to present in such a form. As to me
> notation U^i_{,i} is equally well as div U.

For that simple case.  But, for some of the more complex cases I have been
working with, it is more difficult to tell.

> Lc does not understand the symbolic indices. lch does it, however it is
still
> unsatisfactory. Actually it is possible to do without these functions. I
mean
> you migth use the kdelta instead them.

> As I said you can  kdelta here or use  the rule which will be replace all
the
> single lch with relevant kdelta.
> v cross v  in covariant notation will be
> kdelta([i,j],[i1,j1])*v([i1],[])*v([j1],[]). You can check that this is
> exactly zero.
> (C7) 'kdelta([i,j],[i1,j1])*v([i1])*v([j1])$
> (C8) show(%)$
>                                             I1 J1
> (D8)                          KDELTA       V   V
>                                              I/J      I1  J1
> (C9) canform(ev(%,kdelta));
> (D9)                                   0

How is this expression equivalent to (v cross v)?  It looks to me like it
has two free indices, where the result should only have one.

If instead, I enter.
ex : kdelta([i,j],[i1,j1])*v([i1])*v([j1])$
indices(ex);

returns
[[I, J], [I1, J1]]

This is indeed the case.

This also brings up the question; what exactly do the quotes ' ' do?  They
seem to supress expansion of the kdelta function.

>  This way  is very usefull if you want to apply conditions  like a
curl-free
> to expression. Say, lets introduce the two-form like
> (C18) tf: 'kdelta([i,j],[i1,j1])*'diff(v([i1]),j1)$
> (C19) show(tf)$
>                                            I1 J1   d
> (D19)                       KDELTA      (  ---   (V  ))
>                                             I/J    dJ1     I1
>
> Then we can use the property D D Forma =0,
>
> (C20) matchdeclare(I1,true);
> (D20)                                DONE
> (C21) defrule(grad, V([I1],[]),diff(FV([],[]),I1));
> (D21)             GRAD : V([I1], []) -> DIFF(FV([], []), I1)
> (C22) APPLYB1(tf,grad);
>                      d
> (D22)           (--- (FV([], [], I1))) KDELTA([I, J], [I1, J1])
>                     dJ1
> (C23) contract(canform(ev(ev(%,diff),kdelta)));
> (D23)                                  0

This part is going to take a while longer for me to digest..

Thanks for all the help,

               Rob
>