[Fwd: Maxima's christoffel]



The routine christof() only displays UNIQUE values of the Christoffel
symbols, which are defined to be symmetric in the first two indices in
Maxima. So when, for instance, mcs[4,2,4] is not displayed, it's not because
it's zero, but because it has the same value as mcs[2,4,4], which was
already displayed. You can verify this by explicitly checking the value of
mcs[4,2,4], and so on.

I verified and in this particular case, apart from the differences in index
ordering, Maxima with ctensor yields the same results as Maple 11's built-in
tensor package.


Viktor


-----Original Message-----
From: maxima-bounces at math.utexas.edu [mailto:maxima-bounces at math.utexas.edu]
On Behalf Of Thomas Widlar
Sent: Thursday, September 06, 2007 11:04 PM
To: maxima at math.utexas.edu
Subject: [Fwd: Maxima's christoffel]

 

I have compared Maxima's internal calculation (on the left) 
to our explicit calculation (on the right) which is attached. 
Our Gamma subscripts are in reverse order of Maxima's mcs 
which also have +1 added to each  subcript. The values agree 
in all but five cases (marked XXX below) where Maxima mcs has 
zero and our Gamma has an expression. With Sean Carroll and Dr. 
Evans having checked them carefully by hand and our calculating 
them explicitly with Maxima, we have some confidence in the Gammas.

However it could be that Viktor's solution is not the same problem 
as ours due to a difference in coordinate order or the metric 
specification. Does anything stand out to you?

I have found ctensor.mac and the christof(dis) function. I will try
to figure out what is going on.


Viktor Toth's program.

load(ctensor);
depends([a,b],[t,r]);
ct_coords:[t,r,O,P];
lg:ident(4);
lg[1,1]:-exp(2*a);
lg[2,2]:exp(2*b);
lg[3,3]:r2;
lg[4,4]:r2*sin(O)2;
cmetric();
ug;
christof(mcs);

RESULTS:

(%i11) christof(mcs);

                 da
(%t11) mcs     = --        == Gamma[0,0,0]
          1,1,1  dt           

                 da   2a-2b
(%t12) mcs     = -- %e    == Gamma[1,0,0]
          1,1,2  dr           

                 da
(%t13) mcs     = --        == Gamma[0,1,0]
          1,2,1  dr           

                 db
(%t14) mcs     = --        == Gamma[1,1,0]
          1,2,2  dt               

XXX    mcs      = 0        <> Gamma[0,0,1] = da/dt
          2,1,1

XXX    mcs      = 0        <> Gamma[1,0,1] = db/dt
          2,1,2

                    2b-2a db
(%t15) mcs      = %e      --    == Gamma[0,1,1]
          2,2,1           dt   

                  db
(%t16) mcs      = --        == Gamma[1,1,1]
          2,2,2   dr           

                  1
(%t17) mcs      = -        == Gamma[2,2,1]
          2,3,3   r           

                  1
(%t18) mcs      = -        == Gamma[3,3,1]
          2,4,4   r

                                        
XXX     mcs     = 0        <> Gamma[2,1,2] = 1/r
           3,2,3

                     -2b
(%t19) mcs     = - %e   r        == Gamma[1,2,2]
          3,3,2           

                 cos(O)
(%t20) mcs     = ------        == Gamma[3,3,2];
          3,4,4  sin(O)       
                                    
XXX    mcs     = 0        <> Gamma[3,1,3] = 1/r
          4,2,4

XXX    mcs     = 0        <> Gamma[3,2,3] = cos(O)/sin(O)
          4,3,4

                    -2b
(%t21) mcs     = -%e   r sin (O)       == Gamma[1,3,3]
          4,4,2           

(%t22) mcs     = - cos(O) sin(O)        == Gamma[2,3,3]
          4,4,3           

    All the rest of the zeroes agree.