? ratriemann;

Calculate

? ratriemann;

Calculate

### ratriemann

Run Example
```(%i1)/*  Schwarzschild simplesave as name.macLoad from the file menu - >
File|Batch file*/kill(all);
(%o0)                                done
(%o1)          /usr/share/maxima/5.21.1/share/tensor/ctensor.mac
(%i2) /* set some flags */cframe_flag: false;
(%o2)                                false
(%i3) ratchristof: true;
(%o3)                                true
(%i4) ratriemann : true;
(%o4)                                true
(%i5) ratfac : true;
(%o5)                                true
(%i6) ctrgsimp: true;
(%o6)                                true
(%i7) /* define the dimension */dim: 4;
(%o7)                                  4
(%i8) /* list the coordinates */ct_coords: [t,x,y,z];
(%o8)                            [t, x, y, z]
(%i9) /* set up the metric *//* assign to lg a matrix of zeros  ':' means 'assign' */lg:zeromatrix(4,4);
[ 0  0  0  0 ]
[            ]
[ 0  0  0  0 ]
(%o9)                           [            ]
[ 0  0  0  0 ]
[            ]
[ 0  0  0  0 ]
(%i10) /* now add the Schwarzschild coefficients */lg[1,1]:1;
(%o10)                                 1
(%i11) lg[2,2]:-1;
(%o11)                                - 1
(%i12) lg[3,3]:-(1+f(t-x))^2;
2
(%o12)                         - (f(t - x) + 1)
(%i13) lg[4,4]:-(1+g(t-x))^2;
2
(%o13)                         - (g(t - x) + 1)
(%i14) /* make the inverse matrix */ug:invert(lg);
[ 1   0           0                  0         ]
[                                              ]
[ 0  - 1          0                  0         ]
[                                              ]
[                  1                           ]
[ 0   0   - ---------------          0         ]
(%o14)         [                         2                    ]
[           (f(t - x) + 1)                     ]
[                                              ]
[                                     1        ]
[ 0   0           0          - --------------- ]
[                                            2 ]
[                              (g(t - x) + 1)  ]
(%i15) /* get Christoffels */christof(mcs);
d
-- (f(t - x))
dt
(%t15)                    mcs        = -------------
1, 3, 3   f(t - x) + 1

d
-- (g(t - x))
dt
(%t16)                    mcs        = -------------
1, 4, 4   g(t - x) + 1

d
-- (f(t - x))
dx
(%t17)                    mcs        = -------------
2, 3, 3   f(t - x) + 1

d
-- (g(t - x))
dx
(%t18)                    mcs        = -------------
2, 4, 4   g(t - x) + 1

d
(%t19)            mcs        = (-- (f(t - x))) (f(t - x) + 1)
3, 3, 1    dt

d
(%t20)           mcs        = - (-- (f(t - x))) (f(t - x) + 1)
3, 3, 2      dx

d
(%t21)            mcs        = (-- (g(t - x))) (g(t - x) + 1)
4, 4, 1    dt

d
(%t22)           mcs        = - (-- (g(t - x))) (g(t - x) + 1)
4, 4, 2      dx

(%o22)                               done
(%i23) /* calculate and display Ricci tensor, ( 'dis' = true ) */ricci(true);
2                           2
d                           d
(%t23) ric     = - ((--- (f(t - x))) g(t - x) + (--- (g(t - x))) f(t - x)
1, 1         2                           2
dt                          dt
2                2
d                d
+ --- (g(t - x)) + --- (f(t - x)))/((f(t - x) + 1) (g(t - x) + 1))
2                2
dt               dt

2                             2
d                             d
(%t24) ric     = - ((----- (f(t - x))) g(t - x) + (----- (g(t - x))) f(t - x)
1, 2       dt dx                         dt dx
2                  2
d                  d
+ ----- (g(t - x)) + ----- (f(t - x)))/((f(t - x) + 1) (g(t - x) + 1))
dt dx              dt dx

2                           2
d                           d
(%t25) ric     = - ((--- (f(t - x))) g(t - x) + (--- (g(t - x))) f(t - x)
2, 2         2                           2
dx                          dx
2                2
d                d
+ --- (g(t - x)) + --- (f(t - x)))/((f(t - x) + 1) (g(t - x) + 1))
2                2
dx               dx

2
d
(%t26) ric     = - ((f(t - x) + 1) ((--- (f(t - x))) g(t - x)
3, 3                         2
dx
2
d                           d               d
- (--- (f(t - x))) g(t - x) + (-- (f(t - x))) (-- (g(t - x)))
2                         dx              dx
dt
2                2
d               d                d                d
- (-- (f(t - x))) (-- (g(t - x))) + --- (f(t - x)) - --- (f(t - x))))
dt              dt                 2                2
dx               dt
/(g(t - x) + 1)

2                           2
d                           d
(%t27) ric     = - (((--- (g(t - x))) f(t - x) - (--- (g(t - x))) f(t - x)
4, 4          2                           2
dx                          dt
2                                                  2
d                 d               d                d
+ --- (g(t - x)) + (-- (f(t - x))) (-- (g(t - x))) - --- (g(t - x))
2               dx              dx                 2
dx                                                 dt
d               d
- (-- (f(t - x))) (-- (g(t - x)))) (g(t - x) + 1))/(f(t - x) + 1)
dt              dt

(%o27)                               done
(%i28) /* Riemann with all indexes down */lriemann(true);
2
d
(%t28)         lriem           = (--- (f(t - x))) (f(t - x) + 1)
3, 3, 1, 1      2
dt

2
d
(%t29)        lriem           = (----- (f(t - x))) (f(t - x) + 1)
3, 3, 1, 2    dt dx

2
d
(%t30)        lriem           = (----- (f(t - x))) (f(t - x) + 1)
3, 3, 2, 1    dt dx

2
d
(%t31)         lriem           = (--- (f(t - x))) (f(t - x) + 1)
3, 3, 2, 2      2
dx

2
d
(%t32)         lriem           = (--- (g(t - x))) (g(t - x) + 1)
4, 4, 1, 1      2
dt

2
d
(%t33)        lriem           = (----- (g(t - x))) (g(t - x) + 1)
4, 4, 1, 2    dt dx

2
d
(%t34)        lriem           = (----- (g(t - x))) (g(t - x) + 1)
4, 4, 2, 1    dt dx

2
d
(%t35)         lriem           = (--- (g(t - x))) (g(t - x) + 1)
4, 4, 2, 2      2
dx

d               d
(%t36) lriem           = ((-- (f(t - x))) (-- (g(t - x)))
4, 4, 3, 3     dx              dx
d               d
- (-- (f(t - x))) (-- (g(t - x)))) (f(t - x) + 1) (g(t - x) + 1)
dt              dt

(%o36)                               done
(%i37) /* Riemann with all indexes up */uriemann(false);
(%o37)                               done
(%i38) /* calculate Einstein tensor */einstein(false);
(%o38)                               done
(%i39) /* show Einstein tensor as a matrix */cdisplay(ein);
2                           2
d                           d
ein = matrix([- ((--- (f(t - x))) g(t - x) + (--- (g(t - x))) f(t - x)
2                           2
dx                          dx
2
d                 d               d
+ --- (g(t - x)) + (-- (f(t - x))) (-- (g(t - x)))
2               dx              dx
dx
2
d               d                d
- (-- (f(t - x))) (-- (g(t - x))) + --- (f(t - x)))
dt              dt                 2
dx
2
d
/((f(t - x) + 1) (g(t - x) + 1)), ((----- (f(t - x))) g(t - x)
dt dx
2                            2                  2
d                            d                  d
+ (----- (g(t - x))) f(t - x) + ----- (g(t - x)) + ----- (f(t - x)))
dt dx                        dt dx              dt dx
/((f(t - x) + 1) (g(t - x) + 1)), 0, 0],
2                             2
d                             d
[- ((----- (f(t - x))) g(t - x) + (----- (g(t - x))) f(t - x)
dt dx                         dt dx
2                  2
d                  d
+ ----- (g(t - x)) + ----- (f(t - x)))/((f(t - x) + 1) (g(t - x) + 1)),
dt dx              dt dx
2                           2
d                           d
((--- (f(t - x))) g(t - x) + (--- (g(t - x))) f(t - x)
2                           2
dt                          dt
2
d               d                d
- (-- (f(t - x))) (-- (g(t - x))) + --- (g(t - x))
dx              dx                 2
dt
2
d               d                d
+ (-- (f(t - x))) (-- (g(t - x))) + --- (f(t - x)))
dt              dt                 2
dt
/((f(t - x) + 1) (g(t - x) + 1)), 0, 0],
2                2
d                d
--- (g(t - x)) - --- (g(t - x))
2                2
dx               dt
[0, 0, - -------------------------------, 0],
g(t - x) + 1
2                2
d                d
--- (f(t - x)) - --- (f(t - x))
2                2
dx               dt
[0, 0, 0, - -------------------------------])
f(t - x) + 1

(%o39)                               done
(%i40) /* ricci curvature */scurvature();
2                           2
d                           d
(%o40) (2 ((--- (f(t - x))) g(t - x) - (--- (f(t - x))) g(t - x)
2                           2
dx                          dt
2                           2                          2
d                           d                          d
+ (--- (g(t - x))) f(t - x) - (--- (g(t - x))) f(t - x) + --- (g(t - x))
2                           2                          2
dx                          dt                         dx
2
d               d                d
+ (-- (f(t - x))) (-- (g(t - x))) - --- (g(t - x))
dx              dx                 2
dt
2                2
d               d                d                d
- (-- (f(t - x))) (-- (g(t - x))) + --- (f(t - x)) - --- (f(t - x))))
dt              dt                 2                2
dx               dt
/((f(t - x) + 1) (g(t - x) + 1))
(%i41) /* Kretschmann scalar */rinvariant();
d               d                 d               d              2
4 ((-- (f(t - x))) (-- (g(t - x))) - (-- (f(t - x))) (-- (g(t - x))))
dx              dx                dt              dt
(%o41) ----------------------------------------------------------------------
2               2
(f(t - x) + 1)  (g(t - x) + 1)
2                     2
d              2      d              2        2
4 (--- (g(t - x)))    4 (--- (g(t - x)))        d               2
2                     2                8 (----- (g(t - x)))
dx                    dt                    dt dx
+ ------------------- + ------------------- - ---------------------
2                     2                      2
(g(t - x) + 1)        (g(t - x) + 1)         (g(t - x) + 1)
2                     2
d              2      d              2        2
4 (--- (f(t - x)))    4 (--- (f(t - x)))        d               2
2                     2                8 (----- (f(t - x)))
dx                    dt                    dt dx
+ ------------------- + ------------------- - ---------------------
2                     2                      2
(f(t - x) + 1)        (f(t - x) + 1)         (f(t - x) + 1)
(%i42) /* Geodesic equations */cgeodesic(true);
d                        dz 2    d               dz 2
(%t42) geod  = (-- (g(t - x))) g(t - x) (--)  + (-- (g(t - x))) (--)
1    dt                       ds      dt              ds
2
d                        dy 2    d               dy 2   d t
+ (-- (f(t - x))) f(t - x) (--)  + (-- (f(t - x))) (--)  + ---
dt                       ds      dt              ds       2
ds

d                        dz 2    d               dz 2
(%t43) geod  = - ((-- (g(t - x))) g(t - x) (--)  + (-- (g(t - x))) (--)
2       dx                       ds      dx              ds
2
d                        dy 2    d               dy 2   d x
+ (-- (f(t - x))) f(t - x) (--)  + (-- (f(t - x))) (--)  - ---)
dx                       ds      dx              ds       2
ds

d                        dz 2    d               dz 2
(%t44) geod  = - ((-- (g(t - x))) g(t - x) (--)  + (-- (g(t - x))) (--)
3       dy                       ds      dy              ds
2
d                       dy dz      d              dy dz    2        d y
- 2 (-- (f(t - x))) f(t - x) -- -- - 2 (-- (f(t - x))) -- -- - f (t - x) ---
dz                      ds ds      dz             ds ds               2
ds
2     2
d y   d y    d                        dy 2
- 2 f(t - x) --- - --- - (-- (f(t - x))) f(t - x) (--)
2     2    dy                       ds
ds    ds
d               dy 2      d                       dx dy
- (-- (f(t - x))) (--)  - 2 (-- (f(t - x))) f(t - x) -- --
dy              ds        dx                      ds ds
d              dx dy     dt  d                       dy
- 2 (-- (f(t - x))) -- -- - 2 -- (-- (f(t - x))) f(t - x) --
dx             ds ds     ds  dt                      ds
dt  d              dy                2
- 2 -- (-- (f(t - x))) --)/(f(t - x) + 1)
ds  dt             ds

2                2     2
2        d z              d z   d z
(%t45) geod  = (g (t - x) --- + 2 g(t - x) --- + ---
4                2                2     2
ds               ds    ds
d                        dz 2    d               dz 2
+ (-- (g(t - x))) g(t - x) (--)  + (-- (g(t - x))) (--)
dz                       ds      dz              ds
d                       dy dz      d              dy dz
+ 2 (-- (g(t - x))) g(t - x) -- -- + 2 (-- (g(t - x))) -- --
dy                      ds ds      dy             ds ds
d                       dx dz      d              dx dz
+ 2 (-- (g(t - x))) g(t - x) -- -- + 2 (-- (g(t - x))) -- --
dx                      ds ds      dx             ds ds
dt  d                       dz     dt  d              dz
+ 2 -- (-- (g(t - x))) g(t - x) -- + 2 -- (-- (g(t - x))) --
ds  dt                      ds     ds  dt             ds
d                        dy 2    d               dy 2                2
- (-- (f(t - x))) f(t - x) (--)  - (-- (f(t - x))) (--) )/(g(t - x) + 1)
dz                       ds      dz              ds

(%o45)                               done
(%i46) ```
Run Example
```load(ctensor);
(%o1)          /usr/share/maxima/5.21.1/share/tensor/ctensor.mac
(%i2) /* defino los flags */cframe_flag: false;
(%o2)                                false
(%i3) ratchristof: true;
(%o3)                                true
(%i4) ratriemann : true;
(%o4)                                true
(%i5) ratfac : true;
(%o5)                                true
(%i6) ctrgsimp: true;
(%o6)                                true
(%i7) /* defino la dimension */dim: 4;
(%o7)                                  4
(%i8) /* defino las coordenadas */ct_coords: [t,x,y,z];
(%o8)                            [t, x, y, z]
(%i9) lg:zeromatrix(4,4);
[ 0  0  0  0 ]
[            ]
[ 0  0  0  0 ]
(%o9)                           [            ]
[ 0  0  0  0 ]
[            ]
[ 0  0  0  0 ]
(%i10) /* ahora annado coeficientes */lg[1,1]:(-1/w*diff(PS(t,x),t)/PS(t,x))^2;
d             2
(-- (PS(t, x)))
dt
(%o10)                         ----------------
2        2
PS (t, x) w
(%i11) lg[2,2]:(-1/k*diff(PS(t,x),x)/PS(t,x))^2;
d             2
(-- (PS(t, x)))
dx
(%o11)                         ----------------
2   2
k  PS (t, x)
(%i12) lg[3,3]:x^2;
2
(%o12)                                x
(%i13) lg[4,4]:x^2*sin(x)^2;
2    2
(%o13)                            x  sin (x)
(%i14) /* Calculo la inversa del tensor mEtrico */ug:invert(lg);
[     2        2                                     ]
[   PS (t, x) w                                      ]
[ ----------------         0          0       0      ]
[  d             2                                   ]
[ (-- (PS(t, x)))                                    ]
[  dt                                                ]
[                                                    ]
[                      2   2                         ]
[                     k  PS (t, x)                   ]
[        0          ----------------  0       0      ]
[                    d             2                 ]
(%o14)      [                   (-- (PS(t, x)))                  ]
[                    dx                              ]
[                                                    ]
[                                     1              ]
[        0                 0          --      0      ]
[                                      2             ]
[                                     x              ]
[                                                    ]
[                                             1      ]
[        0                 0          0   ---------- ]
[                                          2    2    ]
[                                         x  sin (x) ]
(%i15) /* obtengo los sImbolos de Christoffel */christof(mcs);
2
d                  d             2
PS(t, x) (--- (PS(t, x))) - (-- (PS(t, x)))
2                dt
dt
(%t15)     mcs        = --------------------------------------------
1, 1, 1                       d
PS(t, x) (-- (PS(t, x)))
dt

2  d
(%t16) mcs        = (k  (-- (PS(t, x)))
1, 1, 2        dt
2
d               d                           d
((-- (PS(t, x))) (-- (PS(t, x))) - PS(t, x) (----- (PS(t, x)))))
dt              dx                         dt dx
d             2  2
/(PS(t, x) (-- (PS(t, x)))  w )
dx

(%t17) mcs        =
1, 2, 1
2
d               d                           d
(-- (PS(t, x))) (-- (PS(t, x))) - PS(t, x) (----- (PS(t, x)))
dt              dx                         dt dx
- -------------------------------------------------------------
d
PS(t, x) (-- (PS(t, x)))
dt

(%t18) mcs        =
1, 2, 2
2
d               d                           d
(-- (PS(t, x))) (-- (PS(t, x))) - PS(t, x) (----- (PS(t, x)))
dt              dx                         dt dx
- -------------------------------------------------------------
d
PS(t, x) (-- (PS(t, x)))
dx

d                d               d
(%t19) mcs        = ((-- (PS(t, x))) ((-- (PS(t, x))) (-- (PS(t, x)))
2, 2, 1     dx               dt              dx
2
d                  2    2           d             2
- PS(t, x) (----- (PS(t, x)))) w )/(k  PS(t, x) (-- (PS(t, x))) )
dt dx                                dt

2
d                  d             2
PS(t, x) (--- (PS(t, x))) - (-- (PS(t, x)))
2                dx
dx
(%t20)     mcs        = --------------------------------------------
2, 2, 2                       d
PS(t, x) (-- (PS(t, x)))
dx

1
(%t21)                          mcs        = -
2, 3, 3   x

sin(x) + x cos(x)
(%t22)                  mcs        = -----------------
2, 4, 4       x sin(x)

2   2
k  PS (t, x) x
(%t23)                  mcs        = - ----------------
3, 3, 2      d             2
(-- (PS(t, x)))
dx

2   2
k  PS (t, x) x sin(x) (sin(x) + x cos(x))
(%t24)     mcs        = - -----------------------------------------
4, 4, 2                  d             2
(-- (PS(t, x)))
dx

(%o24)                               done
(%i25) /* Calculo el tensor de Ricci y lo imprimo ( 'dis' = true ) */ricci(true);
d             3  d             3  2
(%t25) ric     = - ((-- (PS(t, x)))  (-- (PS(t, x)))  w  x sin(x)
1, 1       dt               dx
3
2        d                 d                 d             2  2
+ PS (t, x) (-- (PS(t, x))) (------ (PS(t, x))) (-- (PS(t, x)))  w  x sin(x)
dt                2                 dx
dt  dx
2                 2
2         d                 d                d             2  2
- PS (t, x) (----- (PS(t, x))) (--- (PS(t, x))) (-- (PS(t, x)))  w  x sin(x)
dt dx                2              dx
dt
2
d             2   d                 d             2  2
- PS(t, x) (-- (PS(t, x)))  (----- (PS(t, x))) (-- (PS(t, x)))  w  x sin(x)
dt               dt dx              dx
2                 2
2   2        d             2   d                 d
- k  PS (t, x) (-- (PS(t, x)))  (----- (PS(t, x))) (--- (PS(t, x))) x sin(x)
dt               dt dx                2
dx
2  d             3  d             3
+ k  (-- (PS(t, x)))  (-- (PS(t, x)))  x sin(x)
dt               dx
2
2           d             2   d                 d             2
- k  PS(t, x) (-- (PS(t, x)))  (----- (PS(t, x))) (-- (PS(t, x)))  x sin(x)
dt               dt dx              dx
3
2   2        d             2    d                 d
+ k  PS (t, x) (-- (PS(t, x)))  (------ (PS(t, x))) (-- (PS(t, x))) x sin(x)
dt                    2              dx
dt dx
2           d             3  d             2
- 2 k  PS(t, x) (-- (PS(t, x)))  (-- (PS(t, x)))  sin(x)
dt               dx
2
2   2        d             2   d                 d
+ 2 k  PS (t, x) (-- (PS(t, x)))  (----- (PS(t, x))) (-- (PS(t, x))) sin(x)
dt               dt dx              dx
2           d             3  d             2
- k  PS(t, x) (-- (PS(t, x)))  (-- (PS(t, x)))  x cos(x)
dt               dx
2
2   2        d             2   d                 d
+ k  PS (t, x) (-- (PS(t, x)))  (----- (PS(t, x))) (-- (PS(t, x))) x cos(x))
dt               dt dx              dx
2        d               d             3  2
/(PS (t, x) (-- (PS(t, x))) (-- (PS(t, x)))  w  x sin(x))
dt              dx

d               d
(%t26) ric     = - (((-- (PS(t, x))) (-- (PS(t, x)))
1, 2        dt              dx
2
d
- PS(t, x) (----- (PS(t, x)))) (2 sin(x) + x cos(x)))
dt dx
d
/(PS(t, x) (-- (PS(t, x))) x sin(x))
dx

d             3  d             3  2
(%t27) ric     = - ((-- (PS(t, x)))  (-- (PS(t, x)))  w  x sin(x)
2, 2       dt               dx
3
2        d                 d                 d             2  2
+ PS (t, x) (-- (PS(t, x))) (------ (PS(t, x))) (-- (PS(t, x)))  w  x sin(x)
dt                2                 dx
dt  dx
2                 2
2         d                 d                d             2  2
- PS (t, x) (----- (PS(t, x))) (--- (PS(t, x))) (-- (PS(t, x)))  w  x sin(x)
dt dx                2              dx
dt
2
d             2   d                 d             2  2
- PS(t, x) (-- (PS(t, x)))  (----- (PS(t, x))) (-- (PS(t, x)))  w  x sin(x)
dt               dt dx              dx
2                 2
2   2        d             2   d                 d
- k  PS (t, x) (-- (PS(t, x)))  (----- (PS(t, x))) (--- (PS(t, x))) x sin(x)
dt               dt dx                2
dx
2  d             3  d             3
+ k  (-- (PS(t, x)))  (-- (PS(t, x)))  x sin(x)
dt               dx
2
2           d             2   d                 d             2
- k  PS(t, x) (-- (PS(t, x)))  (----- (PS(t, x))) (-- (PS(t, x)))  x sin(x)
dt               dt dx              dx
3
2   2        d             2    d                 d
+ k  PS (t, x) (-- (PS(t, x)))  (------ (PS(t, x))) (-- (PS(t, x))) x sin(x)
dt                    2              dx
dt dx
2   2        d             3  d
- k  PS (t, x) (-- (PS(t, x)))  (-- (PS(t, x))) x sin(x)
dt               dx
2
2   2        d             3  d
- 2 k  PS (t, x) (-- (PS(t, x)))  (--- (PS(t, x))) sin(x)
dt                 2
dx
2           d             3  d             2
+ 2 k  PS(t, x) (-- (PS(t, x)))  (-- (PS(t, x)))  sin(x)
dt               dx
2
2   2        d             3  d
- k  PS (t, x) (-- (PS(t, x)))  (--- (PS(t, x))) x cos(x)
dt                 2
dx
2           d             3  d             2
+ k  PS(t, x) (-- (PS(t, x)))  (-- (PS(t, x)))  x cos(x)
dt               dx
2   2        d             3  d
+ 2 k  PS (t, x) (-- (PS(t, x)))  (-- (PS(t, x))) cos(x))
dt               dx
2   2        d             3  d
/(k  PS (t, x) (-- (PS(t, x)))  (-- (PS(t, x))) x sin(x))
dt               dx

2
2   2         d               d
(%t28) ric     = (k  PS (t, x) ((-- (PS(t, x))) (--- (PS(t, x))) x sin(x)
3, 3                   dt                2
dx
2
d                 d
- (----- (PS(t, x))) (-- (PS(t, x))) x sin(x)
dt dx              dx
d               d
- (-- (PS(t, x))) (-- (PS(t, x))) sin(x)
dt              dx
d               d
- (-- (PS(t, x))) (-- (PS(t, x))) x cos(x)))
dt              dx
d               d             3
/((-- (PS(t, x))) (-- (PS(t, x)))  sin(x))
dt              dx

2   2                d               d               2
(%t29) ric     = (k  PS (t, x) sin(x) ((-- (PS(t, x))) (-- (PS(t, x))) x
4, 4                          dt              dx
2
d               d
sin(x) + (-- (PS(t, x))) (--- (PS(t, x))) x sin(x)
dt                2
dx
2
d                 d
- (----- (PS(t, x))) (-- (PS(t, x))) x sin(x)
dt dx              dx
d               d
- (-- (PS(t, x))) (-- (PS(t, x))) sin(x)
dt              dx
2
d               d                2
+ (-- (PS(t, x))) (--- (PS(t, x))) x  cos(x)
dt                2
dx
2
d                 d               2
- (----- (PS(t, x))) (-- (PS(t, x))) x  cos(x)
dt dx              dx
d               d
- 3 (-- (PS(t, x))) (-- (PS(t, x))) x cos(x)))
dt              dx
d               d             3
/((-- (PS(t, x))) (-- (PS(t, x))) )
dt              dx

(%o29)                               done
(%i30) ```
Run Example
```/*  Schwarzschild simplesave as name.macLoad from the file menu - >
File|Batch file*/kill(all);
(%o0)                                done
(%o1)          /usr/share/maxima/5.21.1/share/tensor/ctensor.mac
(%i2) /* set some flags */cframe_flag: false;
(%o2)                                false
(%i3) ratchristof: true;
(%o3)                                true
(%i4) ratriemann : true;
(%o4)                                true
(%i5) ratfac : true;
(%o5)                                true
(%i6) ctrgsimp: true;
(%o6)                                true
(%i7) /* define the dimension */dim: 4;
(%o7)                                  4
(%i8) /* list the coordinates */ct_coords: [t,r,theta,phi];
(%o8)                         [t, r, theta, phi]
(%i9) /* set up the metric *//* assign to lg a matrix of zeros  ':' means 'assign' */lg:zeromatrix(4,4);
[ 0  0  0  0 ]
[            ]
[ 0  0  0  0 ]
(%o9)                           [            ]
[ 0  0  0  0 ]
[            ]
[ 0  0  0  0 ]
(%i10) /* now add the Schwarzschild coefficients */lg[1,1]:-A(r,theta,phi);
(%o10)                        - A(r, theta, phi)
(%i11) lg[2,2]:1/A(r, theta,phi);
1
(%o11)                         ----------------
A(r, theta, phi)
(%i12) lg[3,3]:r^2;
2
(%o12)                                r
(%i13) lg[4,4]:r^2*sin(theta)^2;
2    2
(%o13)                          r  sin (theta)
(%i14) /* make the inverse matrix */ug:invert(lg);
[          1                                               ]
[ - ----------------         0          0         0        ]
[   A(r, theta, phi)                                       ]
[                                                          ]
[         0           A(r, theta, phi)  0         0        ]
[                                                          ]
[                                       1                  ]
(%o14)   [         0                  0          --        0        ]
[                                        2                 ]
[                                       r                  ]
[                                                          ]
[                                                 1        ]
[         0                  0          0   -------------- ]
[                                            2    2        ]
[                                           r  sin (theta) ]
(%i15) /* get Christoffels */christof(mcs);
d
A(r, theta, phi) (-- (A(r, theta, phi)))
dr
(%t15)       mcs        = ----------------------------------------
1, 1, 2                      2

d
------ (A(r, theta, phi))
dtheta
(%t16)              mcs        = -------------------------
1, 1, 3                2
2 r

d
---- (A(r, theta, phi))
dphi
(%t17)               mcs        = -----------------------
1, 1, 4         2    2
2 r  sin (theta)

d
-- (A(r, theta, phi))
dr
(%t18)                mcs        = ---------------------
1, 2, 1    2 A(r, theta, phi)

d
------ (A(r, theta, phi))
dtheta
(%t19)              mcs        = -------------------------
1, 3, 1      2 A(r, theta, phi)

d
---- (A(r, theta, phi))
dphi
(%t20)               mcs        = -----------------------
1, 4, 1     2 A(r, theta, phi)

d
-- (A(r, theta, phi))
dr
(%t21)               mcs        = - ---------------------
2, 2, 2      2 A(r, theta, phi)

d
------ (A(r, theta, phi))
dtheta
(%t22)              mcs        = -------------------------
2, 2, 3       2  2
2 r  A (r, theta, phi)

d
---- (A(r, theta, phi))
dphi
(%t23)          mcs        = ----------------------------------
2, 2, 4      2  2                   2
2 r  A (r, theta, phi) sin (theta)

d
------ (A(r, theta, phi))
dtheta
(%t24)             mcs        = - -------------------------
2, 3, 2        2 A(r, theta, phi)

1
(%t25)                          mcs        = -
2, 3, 3   r

d
---- (A(r, theta, phi))
dphi
(%t26)              mcs        = - -----------------------
2, 4, 2       2 A(r, theta, phi)

1
(%t27)                          mcs        = -
2, 4, 4   r

(%t28)                 mcs        = - r A(r, theta, phi)
3, 3, 2

cos(theta)
(%t29)                      mcs        = ----------
3, 4, 4   sin(theta)

2
(%t30)           mcs        = - r A(r, theta, phi) sin (theta)
4, 4, 2

(%t31)               mcs        = - cos(theta) sin(theta)
4, 4, 3

(%o31)                               done
(%i32) /* calculate and display Ricci tensor, ( 'dis' = true ) */ricci(true);
2
d                            2
(%t32) ric     = (A(r, theta, phi) (------- (A(r, theta, phi))) sin (theta)
1, 1                            2
dtheta
d                       2    2
- (------ (A(r, theta, phi)))  sin (theta)
dtheta
2
2  2                 d                          2
+ r  A (r, theta, phi) (--- (A(r, theta, phi))) sin (theta)
2
dr
2                 d                         2
+ 2 r A (r, theta, phi) (-- (A(r, theta, phi))) sin (theta)
dr
d
+ A(r, theta, phi) (------ (A(r, theta, phi))) cos(theta) sin(theta)
dtheta
2
d                            d                      2
+ A(r, theta, phi) (----- (A(r, theta, phi))) - (---- (A(r, theta, phi))) )
2                        dphi
dphi
2                     2
/(2 r  A(r, theta, phi) sin (theta))

2
d                            2
(%t33) ric     = (A(r, theta, phi) (------- (A(r, theta, phi))) sin (theta)
2, 2                            2
dtheta
d                       2    2
- (------ (A(r, theta, phi)))  sin (theta)
dtheta
2
2  2                 d                          2
- r  A (r, theta, phi) (--- (A(r, theta, phi))) sin (theta)
2
dr
2                 d                         2
- 2 r A (r, theta, phi) (-- (A(r, theta, phi))) sin (theta)
dr
d
+ A(r, theta, phi) (------ (A(r, theta, phi))) cos(theta) sin(theta)
dtheta
2
d                            d                      2
+ A(r, theta, phi) (----- (A(r, theta, phi))) - (---- (A(r, theta, phi))) )
2                        dphi
dphi
2  3                   2
/(2 r  A (r, theta, phi) sin (theta))

2
d
--------- (A(r, theta, phi))
dr dtheta
(%t34)             ric     = - ----------------------------
2, 3          2 A(r, theta, phi)

2
d
------- (A(r, theta, phi))
dphi dr
(%t35)              ric     = - --------------------------
2, 4         2 A(r, theta, phi)

d                       2
(%t36) ric     = - ((------ (A(r, theta, phi)))
3, 3       dtheta
2                 d                           3
+ 2 r A (r, theta, phi) (-- (A(r, theta, phi))) + 2 A (r, theta, phi)
dr
2                     2
- 2 A (r, theta, phi))/(2 A (r, theta, phi))

d                          d
(---- (A(r, theta, phi))) (------ (A(r, theta, phi)))
dphi                      dtheta
(%t37) ric     = - -----------------------------------------------------
3, 4                         2
2 A (r, theta, phi)

2                 d                         2
(%t38) ric     = - (2 r A (r, theta, phi) (-- (A(r, theta, phi))) sin (theta)
4, 4                             dr
3                   2             2                   2
+ 2 A (r, theta, phi) sin (theta) - 2 A (r, theta, phi) sin (theta)
d                      2      2
+ (---- (A(r, theta, phi))) )/(2 A (r, theta, phi))
dphi

(%o38)                               done
(%i39) ```

### Related Help

Help for Ratriemann