We clean up and load GRTensorII
> restart:
> grtw():
We start by loading the Reissner-Nordstrom-de Sitter metric
> qload(rndsq);
I0, I1, I2, and I3 (in the notation of gr-qc/9808055) are predefined in GRTensorII as RiemSq, diRiem, diRicci, and diWeyl respectively.
We calculate them all here in one go:
> grcalc(RiemSq,diRiem,diRicci,diWeyl);
Created definition for R(dn,dn,up,up)
`Differential Invariants`
`Last modified Jan. 20, 1995`
Created a definition for R(dn,dn,up,up,cdn)
Created definition for R(dn,up)
Created a definition for R(dn,up,cdn)
Created a definition for C(dn,dn,up,up,cdn)
> gralter(_,expand,factor);
Component simplification of a GRTensorII object:
Applying routine expand to object RiemSq
Applying routine expand to object diRiem
Applying routine expand to object diRicci
Applying routine expand to object diWeyl
Applying routine factor to object RiemSq
Applying routine factor to object diRiem
Applying routine factor to object diRicci
Applying routine factor to object diWeyl
> grdisplay(_);
Specializations are easily obtained. For example, for Lambda=0 we would use:
> grmap(_,subs,Lambda=0,`x`);
Applying routine subs to RiemSq
Applying routine subs to diRiem
Applying routine subs to diRicci
Applying routine subs to diWeyl
> gralter(_,factor);
Component simplification of a GRTensorII object:
Applying routine factor to object RiemSq
Applying routine factor to object diRiem
Applying routine factor to object diRicci
Applying routine factor to object diWeyl
> grdisplay(_);
A special diagonal metric considered as follows:
> qload(sdiaga);
> grcalc(RiemSq,diRiem,diRicci,diWeyl);
6 is an alias for expand and 7 is an alias for factor and these are used as follows:
> gralter(_,6,7);
Component simplification of a GRTensorII object:
Applying routine expand to object RiemSq
Applying routine expand to object diRiem
Applying routine expand to object diRicci
Applying routine expand to object diWeyl
Applying routine factor to object RiemSq
Applying routine factor to object diRiem
Applying routine factor to object diRicci
Applying routine factor to object diWeyl
> grdisplay(_);
We now go directly to the Kerr-Newman case:
> qload(newkn);
> grcalc(RiemSq,diRiem,diRicci,diWeyl);
> gralter(_,6,7);
Component simplification of a GRTensorII object:
Applying routine expand to object RiemSq
Applying routine expand to object diRiem
Applying routine expand to object diRicci
Applying routine expand to object diWeyl
Applying routine factor to object RiemSq
Applying routine factor to object diRiem
Applying routine factor to object diRicci
Applying routine factor to object diWeyl
> grdisplay(_);
The Kerr case
> grmap(_,subs,Q=0,`x`);
Applying routine subs to RiemSq
Applying routine subs to diRiem
Applying routine subs to diRicci
Applying routine subs to diWeyl
13 is an alias for applying the constraints continuously until the expression does not change:
> gralter(_,13,6,7);
Component simplification of a GRTensorII object:
Applying routine `Apply constraints repeatedly` to object RiemSq
Applying routine `Apply constraints repeatedly` to object diRiem
Applying routine `Apply constraints repeatedly` to object diRicci
Applying routine `Apply constraints repeatedly` to object diWeyl
Applying routine expand to object RiemSq
Applying routine expand to object diRiem
Applying routine expand to object diRicci
Applying routine expand to object diWeyl
Applying routine factor to object RiemSq
Applying routine factor to object diRiem
Applying routine factor to object diRicci
Applying routine factor to object diWeyl
> grdisplay(_);
We now load a generalization of the gamma metric, specialize to the gamma metric, and calculate RiemSq, and diRiem.
These are displayed along the symmetry axis.
> qload(gammas);
> gralter(g(dn,dn),13);
Component simplification of a GRTensorII object:
Applying routine `Apply constraints repeatedly` to object g(dn,dn)
> grcalc(RiemSq);
> grmap(_,subs,u=0,`x`);
Applying routine subs to RiemSq
> gralter(_,6,7);
Component simplification of a GRTensorII object:
Applying routine expand to object RiemSq
Applying routine factor to object RiemSq
> grdisplay(_);
> grcalc(diRiem);
> grmap(_,subs,u=0,`x`);
Applying routine subs to diRiem
> gralter(_,6,7);
Component simplification of a GRTensorII object:
Applying routine expand to object diRiem
Applying routine factor to object diRiem
> grdisplay(_);
Finally we look at the BZT "black hole"
> qload(bzt);
> grcalc(RiemSq,diRiem,diRicci);
`Debug-using the long definition`
> grdisplay(_);
Now all 3-spaces are Weyl flat, but the conformal properties are governed by the Cotton-York (equivalently the Weyl-Schouten) tensor. The Cotton-York tensor is a two-index symmetric, divergence and trace-free tensor which in three dimensions is zero if and only if the space is conformally flat. In what follows we define and calculate the Cotton-York tensor (CY), trace, divergence, and two obvious invariants.
> grdef(`CY{^a ^b}:=2*LevC{^a^c^d}*(R{^b c ;d}-kdelta{^b c}*R{^f f ;d}/4)`);
Created definition for R(up,dn)
Created a definition for R(up,dn,cdn)
Created definition for CY(up,up)
> grdef(`CY{^a}:=CY{^a^b;b}`);
Created a definition for CY(up,up,cdn)
Created definition for CY(up)
> grdef(`CY:=CY{a ^a}`);
Created definition for CY(dn,up)
Created definition for CY
> grdef(`CYY:=CY{^a^b}*CY{a b}`);
Created definition for CY(dn,dn)
Created definition for CYY
> grdef(`CYYY:=CY{^a^b;c}*CY{a b ;^c}`);
Created a definition for CY(dn,dn,cdn)
Created definition for CY(dn,dn,cup)
Created definition for CYYY
> grcalc(CY(dn,up),CY(up),CY,CYY,CYYY);
> gralter(_,2,7);
Component simplification of a GRTensorII object:
Applying routine `simplify[trig]` to object CY(dn,up)
Applying routine `simplify[trig]` to object CY(up)
Applying routine `simplify[trig]` to object CY
Applying routine `simplify[trig]` to object CYY
Applying routine `simplify[trig]` to object CYYY
Applying routine factor to object CY(dn,up)
Applying routine factor to object CY(up)
Applying routine factor to object CY
Applying routine factor to object CYY
Applying routine factor to object CYYY
> grdisplay(_);
The calculation time for this worksheet is
> kernelopts(cputime);
>