We clean up and load GRTensorII

> restart:

> grtw():

`GRTensorII Version 1.79 (R6)`

`2 February 2001`

`Developed by Peter Musgrave, Denis Pollney and Kay...

`Copyright 1994-2001 by the authors.`

`Latest version available from: http://grtensor.phy...

We start by loading the Reissner-Nordstrom-de Sitter metric

> qload(rndsq);

`Default spacetime` = rndsq

`For the rndsq spacetime:`

Coordinates

x(up)

`x `^a = vector([r, theta, phi, t])

`Line element`

` ds`^2 = ` d`*r^`2 `/(1-2*m/r-1/3*Lambda*r^2+Q^2/(...

`The Reissner-Nordstrom-de Sitter metric`

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)

`CPU Time ` = .821

> 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

`CPU Time ` = .60e-1

> grdisplay(_);

`For the rndsq spacetime:`

`Full Contraction of Riemann`

`K ` = 8/3*(18*m^2*r^2-36*m*r*Q^2+Lambda^2*r^8+21*Q...

` R_{a b c d ; e} R^{a b c d ; e}`

`diRiem ` = -16/3*(-3*r^2+6*m*r+Lambda*r^4-3*Q^2)*(...

` R_{a b ; e} R^{a b ; e}`

`diRicci ` = -80/3*(-3*r^2+6*m*r+Lambda*r^4-3*Q^2)*...

` C_{a b c d ; e} C^{a b c d ; e}`

`diWeyl ` = -16*(-3*r^2+6*m*r+Lambda*r^4-3*Q^2)*(15...

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

`CPU Time ` = .10e-1

> grdisplay(_);

`For the rndsq spacetime:`

`Full Contraction of Riemann`

`K ` = 8*(6*m^2*r^2-12*m*r*Q^2+7*Q^4)/(r^8)

` R_{a b c d ; e} R^{a b c d ; e}`

`diRiem ` = -16*(2*m*r-r^2-Q^2)*(45*m^2*r^2-108*m*r...

` R_{a b ; e} R^{a b ; e}`

`diRicci ` = -80*(2*m*r-r^2-Q^2)*Q^4/(r^12)

` C_{a b c d ; e} C^{a b c d ; e}`

`diWeyl ` = -48*(2*m*r-r^2-Q^2)*(15*m^2*r^2-36*m*r*...

A special diagonal metric considered as follows:

> qload(sdiaga);

`Default spacetime` = sdiaga

`For the sdiaga spacetime:`

Coordinates

x(up)

`x `^a = vector([r, theta, phi, t])

`Line element`

` ds`^2 = ` d`*r^`2 `/A(r)+r^2*` d`*theta^`2 `+r^2*...

> grcalc(RiemSq,diRiem,diRicci,diWeyl);

`CPU Time ` = .211

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

`CPU Time ` = .60e-1

> grdisplay(_);

`For the sdiaga spacetime:`

`Full Contraction of Riemann`

`K ` = (4*diff(A(r),r)^2*r^2+4-8*A(r)+4*A(r)^2+diff...

` R_{a b c d ; e} R^{a b c d ; e}`

`diRiem ` = A(r)*(16*diff(A(r),r)^2*r^2-16*r^3*diff...
`diRiem ` = A(r)*(16*diff(A(r),r)^2*r^2-16*r^3*diff...

` R_{a b ; e} R^{a b ; e}`

`diRicci ` = 1/2*A(r)*(10*diff(A(r),`$`(r,2))^2*r^4...
`diRicci ` = 1/2*A(r)*(10*diff(A(r),`$`(r,2))^2*r^4...

` C_{a b c d ; e} C^{a b c d ; e}`

`diWeyl ` = 1/3*A(r)*(-80*A(r)*diff(A(r),r)*r+10*di...
`diWeyl ` = 1/3*A(r)*(-80*A(r)*diff(A(r),r)*r+10*di...
`diWeyl ` = 1/3*A(r)*(-80*A(r)*diff(A(r),r)*r+10*di...

We now go directly to the Kerr-Newman case:

> qload(newkn);

`Default spacetime` = newkn

`For the newkn spacetime:`

Coordinates

x(up)

`x `^a = vector([r, u, phi, t])

`Line element`

` ds`^2 = (r^2+u^2)*` d`*r^`2 `/(r^2-2*m*r+a^2+Q^2)...
` ds`^2 = (r^2+u^2)*` d`*r^`2 `/(r^2-2*m*r+a^2+Q^2)...

Constraints = [u = a*cos(theta)]

`Kerr Newman Solution in Boyer-Lindquist coordinate...

> grcalc(RiemSq,diRiem,diRicci,diWeyl);

`CPU Time ` = 1.993

> 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

`CPU Time ` = .161

> grdisplay(_);

`For the newkn spacetime:`

`Full Contraction of Riemann`

`K ` = 8*(7*r^4*Q^4+90*m^2*r^2*u^4+6*m^2*r^6-60*r*Q...

` R_{a b c d ; e} R^{a b c d ; e}`

`diRiem ` = -16*(-45*u^10*m^2+2700*u^6*m*r^3*Q^2-72...
`diRiem ` = -16*(-45*u^10*m^2+2700*u^6*m*r^3*Q^2-72...
`diRiem ` = -16*(-45*u^10*m^2+2700*u^6*m*r^3*Q^2-72...
`diRiem ` = -16*(-45*u^10*m^2+2700*u^6*m*r^3*Q^2-72...
`diRiem ` = -16*(-45*u^10*m^2+2700*u^6*m*r^3*Q^2-72...
`diRiem ` = -16*(-45*u^10*m^2+2700*u^6*m*r^3*Q^2-72...

` R_{a b ; e} R^{a b ; e}`

`diRicci ` = 16*Q^4*(5*r^4-10*r^3*m+4*a^2*r^2+5*r^2...

` C_{a b c d ; e} C^{a b c d ; e}`

`diWeyl ` = -48*(-15*u^10*m^2+900*u^6*m*r^3*Q^2-240...
`diWeyl ` = -48*(-15*u^10*m^2+900*u^6*m*r^3*Q^2-240...
`diWeyl ` = -48*(-15*u^10*m^2+900*u^6*m*r^3*Q^2-240...
`diWeyl ` = -48*(-15*u^10*m^2+900*u^6*m*r^3*Q^2-240...
`diWeyl ` = -48*(-15*u^10*m^2+900*u^6*m*r^3*Q^2-240...

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

`CPU Time ` = .220

> grdisplay(_);

`For the newkn spacetime:`

`Full Contraction of Riemann`

`K ` = -48*m^2*(r+a*cos(theta))*(-r+a*cos(theta))*(...

` R_{a b c d ; e} R^{a b c d ; e}`

`diRiem ` = 720*m^2*(r^4+4*r^3*a*cos(theta)-6*a^2*c...
`diRiem ` = 720*m^2*(r^4+4*r^3*a*cos(theta)-6*a^2*c...

` R_{a b ; e} R^{a b ; e}`

`diRicci ` = 0

` C_{a b c d ; e} C^{a b c d ; e}`

`diWeyl ` = 720*m^2*(r^4+4*r^3*a*cos(theta)-6*a^2*c...
`diWeyl ` = 720*m^2*(r^4+4*r^3*a*cos(theta)-6*a^2*c...

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);

`Default spacetime` = gammas

`For the gammas spacetime:`

Coordinates

x(up)

`x `^a = vector([r, u, phi, t])

`Line element`

` ds`^2 = ((-2*m*r+r^2)/(r^2-2*m*r+u^2*m))^delta*` ...

Constraints = [delta = gamma^2-1, epsilon = gamma^2...

`    gamma metric, u = m^(1/2)sin(theta)   `

> gralter(g(dn,dn),13);

Component simplification of a GRTensorII object:

Applying routine `Apply constraints repeatedly` to object g(dn,dn)

`CPU Time ` = .40e-1

> grcalc(RiemSq);

`CPU Time ` = .221

> 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

`CPU Time ` = .40e-1

> grdisplay(_);

`For the gammas spacetime:`

`Full Contraction of Riemann`

`K ` = 48*(-r+m+gamma*m)^2*((-(-r+2*m)/r)^gamma)^2*...

> grcalc(diRiem);

`CPU Time ` = 2.614

> 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

`CPU Time ` = .80e-1

> grdisplay(_);

`For the gammas spacetime:`

` R_{a b c d ; e} R^{a b c d ; e}`

`diRiem ` = 80*(4*m^2+6*m^2*gamma+2*gamma^2*m^2-6*m...

Finally we look at the BZT "black hole"

> qload(bzt);

`Default spacetime` = bzt

`For the bzt spacetime:`

Coordinates

x(up)

`x `^a = vector([r, phi, t])

`Line element`

` ds`^2 = ` d`*r^`2 `/(r^2/(sigma^2)-m+Q^2*ln(r))+r...

> grcalc(RiemSq,diRiem,diRicci);

`Debug-using the long definition`

`CPU Time ` = .50e-1

> grdisplay(_);

`For the bzt spacetime:`

`Full Contraction of Riemann`

`K ` = (12*r^4+4*r^2*Q^2*sigma^2+3*Q^4*sigma^4)/(si...

` R_{a b c d ; e} R^{a b c d ; e}`

`diRiem ` = -20*(-r^2+m*sigma^2-Q^2*ln(r)*sigma^2)*...

` R_{a b ; e} R^{a b ; e}`

`diRicci ` = -6*(-r^2+m*sigma^2-Q^2*ln(r)*sigma^2)*...

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);

`CPU Time ` = .61e-1

> 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

`CPU Time ` = .60e-1

> grdisplay(_);

`For the bzt spacetime:`

`CY(dn,up)`

CY(dn,up)

CY[a]^b = matrix([[0, 0, 0], [0, 0, Q^2/(r*sqrt(r^2...

`CY(up)`

CY(up)

CY^a = `All components are zero`

CY

CY = `All components are zero`

CYY

CYY = -2*Q^4*(r^2-m*sigma^2+Q^2*ln(r)*sigma^2)/(r^6...

CYYY

CYYY = -Q^4*(12*r^4-2*r^2*Q^2*sigma^2+Q^4*sigma^4-2...
CYYY = -Q^4*(12*r^4-2*r^2*Q^2*sigma^2+Q^4*sigma^4-2...
CYYY = -Q^4*(12*r^4-2*r^2*Q^2*sigma^2+Q^4*sigma^4-2...

The calculation time for this worksheet is

> kernelopts(cputime);

9.894

>