Calculating the Dirac equation on a Schwarzschild metric with torsion

See gr-qc/0209096 and gr-qc/0010085

> restart;

> grtw();

`GRTensorII Version 1.79 (R4)`

`6 February 2001`

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

`Copyright 1994-2001 by the authors.`

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

`/home/vulcan/grii/mymetrics`

> define(sigma,sigma(0)=1);

> define(pr,pr(1,1)=1,pr(1,sigma(1))=sigma(1),pr(1,sigma(2))=sigma(2),pr(1,sigma(3))=sigma(3),pr(sigma(1),1)=sigma(1),pr(sigma(2),1)=sigma(2),pr(sigma(3),1)=sigma(3),pr(sigma(2),sigma(1))=-pr(sigma(1),sigma(2)),pr(sigma(1),sigma(2))=I*sigma(3),pr(sigma(3),sigma(1))=-pr(sigma(1),sigma(3)),pr(sigma(1),sigma(3))=-I*sigma(2),pr(sigma(3),sigma(2))=-pr(sigma(2),sigma(3)),pr(sigma(2),sigma(3))=I*sigma(1),pr(sigma(1),sigma(1))=1,pr(sigma(2),sigma(2))=1,pr(sigma(3),sigma(3))=1,pr((a::integer)*sigma(b::algebraic),(d::integer)*sigma(c::integer))=a*d*pr(sigma(b),sigma(c)));

> define(pd,pd(0,a::algebraic)=0,pd(a::algebraic,0)=0,pd(1,1)=1,pd(I*a::algebraic,b::algebraic)=I*pd(a,b),pd(-I*a::algebraic,b::algebraic)=-I*pd(a,b),pd(a::algebraic,I*b::algebraic)=I*pd(a,b),pd(a::algebraic,-I*b::algebraic)=-I*pd(a,b),pd(-a::algebraic,b::algebraic)=-pd(a,b),pd(a::algebraic,-b::algebraic)=-pd(a,b));

> define(`&p`,`&p`(-a::algebraic,-b::algebraic)=`&p`(a,b),(-pd(sigma(a::algebraic),sigma(b::algebraic))) &p (-pd(sigma(c::algebraic),sigma(d::algebraic)))=pd(sigma(a),sigma(b)) &p pd(sigma(c),sigma(d)),(-pd(a::algebraic,b::algebraic)) &p (-m::function*pd(c::algebraic,d::algebraic))=m*(pd(a,b) &p pd(c,d)),pd(a::algebraic,b::algebraic) &p (-m::function*pd(c::algebraic,d::algebraic))=-m*(pd(a,b) &p pd(c,d)),(-pd(a::algebraic,b::algebraic)) &p pd(c::algebraic,d::algebraic)=-(pd(a,b) &p pd(c,d)),pd(sigma(a::algebraic),sigma(b::algebraic)) &p pd(sigma(c::algebraic),sigma(d::algebraic))=pd(pr(sigma(a),sigma(c)),pr(sigma(b),sigma(d))),pd(1,sigma(a::algebraic)) &p pd(sigma(b::algebraic),sigma(c::algebraic))=pd(pr(1,sigma(b)),pr(sigma(a),sigma(c))),pd(sigma(a::algebraic),sigma(b::algebraic)) &p pd(1,sigma(c::algebraic))=pd(pr(sigma(a),1),pr(sigma(b),sigma(c))),pd(sigma(a::algebraic),1) &p pd(sigma(b::algebraic),sigma(c::algebraic))=pd(pr(sigma(a),sigma(b)),pr(1,sigma(c))),pd(sigma(a::algebraic),sigma(b::algebraic)) &p pd(sigma(c::algebraic),1)=pd(pr(sigma(a),sigma(c)),pr(sigma(b),1)),pd(1,sigma(a::algebraic)) &p pd(1,sigma(b::algebraic))=pd(pr(1,1),pr(sigma(a),sigma(b))),pd(sigma(a::algebraic),1) &p pd(sigma(b::algebraic),1)=pd(pr(sigma(a),sigma(b)),pr(1,1)),I*(a::algebraic) &p (I*b::algebraic)=-(a &p b),(I*a::algebraic) &p (b::algebraic)=I*(a &p b),(a::algebraic) &p (I*b::algebraic)=I*(a &p b));

>

> definemore(`&p`,`&p`(c::algebraic*pd(sigma(a::algebraic),sigma(b::algebraic)),d::algebraic*pd(sigma(e::algebraic),sigma(f::algebraic)))=c*d*`&p`(pd(sigma(a),sigma(b)),pd(sigma(e),sigma(f))),`&p`(c::algebraic*pd(a::algebraic,sigma(b::algebraic)),d::algebraic*pd(sigma(e::algebraic),sigma(f::algebraic)))=c*d*`&p`(pd(a,sigma(b)),pd(sigma(e),sigma(f))),`&p`(c::algebraic*pd(sigma(a::algebraic),b::algebraic),d::algebraic*pd(sigma(e::algebraic),sigma(f::algebraic)))=c*d*`&p`(pd(sigma(a),b),pd(sigma(e),sigma(f))),`&p`(c::algebraic*pd(sigma(a::algebraic),sigma(b::algebraic)),d::algebraic*pd(e::algebraic,sigma(f::algebraic)))=c*d*`&p`(pd(sigma(a),sigma(b)),pd(e,sigma(f))),`&p`(c::algebraic*pd(sigma(a::algebraic),sigma(b::algebraic)),d::algebraic*pd(sigma(e::algebraic),f::algebraic))=c*d*`&p`(pd(sigma(a),sigma(b)),pd(sigma(e),f)),`&p`(pd(sigma(a::algebraic),1),pd(1,sigma(b::algebraic)))=pd(pr(sigma(a),1),pr(1,sigma(b))),`&p`(c::algebraic*pd(sigma(a::algebraic),e::algebraic),d::algebraic*pd(f::algebraic,sigma(b::algebraic)))=c*d*`&p`(pd(sigma(a),e),pd(f,sigma(b))),`&p`(a::algebraic,0)=0 );

> (-3*x*pd(sigma(1),sigma(2))) &p (-r*pd(sigma(0),sigma(3)));

3*I*x*r*pd(sigma(1),sigma(1))

> define(gam,gam(1)=I*pd(sigma(2),sigma(1)),gam(2)=I*pd(sigma(2),sigma(2)),gam(3)=I*pd(sigma(2),sigma(3)),gam(0)=pd(sigma(1),1),gam(5)=-pd(sigma(3),1));

> define(comu,comu(a::algebraic,b::algebraic)=a &p b - b &p a);

> comu(gam(1),gam(2));

-2*I*pd(1,sigma(3))

> I*comu(gam(2),gam(1))/4;

-1/2*pd(1,sigma(3))

> qload(sscw_2);

`Default spacetime` = sscw_2

`For the sscw_2 spacetime:`

Coordinates

x(up)

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

`Basis inner product`

eta(bup,bup)

eta^`(a)`*``^`(b)` = matrix([[-1, 0, 0, 0], [0, -1,...

`Basis (covariant components)`

w1(dn)

omega1[a] = vector([exp(1/2*lambda(r)), 0, 0, 0])

w2(dn)

omega2[a] = vector([0, r, 0, 0])

w3(dn)

omega3[a] = vector([0, 0, r*sin(theta), 0])

w4(dn)

omega4[a] = vector([0, 0, 0, exp(1/2*nu(r))])

> grcalc(metric);

Calculated e(bup,dn) for sscw_2 (.005000 sec.)

Calculated g(dn,dn) for sscw_2 (.011000 sec.)

`CPU Time ` = .13e-1

> gralter(metric,simplify);

Component simplification of a GRTensorII object:

Applying routine simplify to object g(dn,dn)

`CPU Time ` = .105

> grdisplay(metric);

`For the sscw_2 spacetime:`

`Covariant metric tensor`

g(dn,dn)

`g `[a]*``[b] = matrix([[-exp(lambda(r)), 0, 0, 0],...

> grcalc(ds);

Calculated ds for sscw_2 (.002000 sec.)

`CPU Time ` = .4e-2

> grdisplay(ds);

`For the sscw_2 spacetime:`

`Line element`

` ds`^2 = -exp(lambda(r))*` d`*r^`2 `-r^2*` d`*thet...

> gralter(ds,trigsin);

Component simplification of a GRTensorII object:

Applying routine `simplify[trigsin]` to object ds

`CPU Time ` = .8e-2

> grdisplay(ds);

`For the sscw_2 spacetime:`

`Line element`

` ds`^2 = -exp(lambda(r))*` d`*r^`2 `-r^2*` d`*thet...

> grcalc(w1(dn,pdn));grcalc(w2(dn,pdn));grcalc(w3(dn,pdn));grcalc(w4(dn,pdn));

Created a definition for w1(dn,pdn)

Calculated w1(dn,pdn) for sscw_2 (.004000 sec.)

`CPU Time ` = .165

Created a definition for w2(dn,pdn)

Calculated w2(dn,pdn) for sscw_2 (.004000 sec.)

`CPU Time ` = .30e-1

Created a definition for w3(dn,pdn)

Calculated w3(dn,pdn) for sscw_2 (.003000 sec.)

`CPU Time ` = .25e-1

Created a definition for w4(dn,pdn)

Calculated w4(dn,pdn) for sscw_2 (.003000 sec.)

`CPU Time ` = .30e-1

> grdisplay(w1(dn,pdn));

`For the sscw_2 spacetime:`

`w1(dn,pdn)`

w1(dn,pdn)

omega1[a]*``[`,b`] = matrix([[1/2*diff(lambda(r),r)...

> grdisplay(w2(dn,pdn));

`For the sscw_2 spacetime:`

`w2(dn,pdn)`

w2(dn,pdn)

omega2[a]*``[`,b`] = matrix([[0, 0, 0, 0], [1, 0, 0...

> grdisplay(w3(dn,pdn));

`For the sscw_2 spacetime:`

`w3(dn,pdn)`

w3(dn,pdn)

omega3[a]*``[`,b`] = matrix([[0, 0, 0, 0], [0, 0, 0...

> grdisplay(w4(dn,pdn));

`For the sscw_2 spacetime:`

`w4(dn,pdn)`

w4(dn,pdn)

omega4[a]*``[`,b`] = matrix([[0, 0, 0, 0], [0, 0, 0...

Now the definition of the torsion components. Observe how we used the previous results !

> grdef(`tor{ ^a b c }:=w1{ b ,c }*kdelta{ ^a $r } + w2{ b ,c }*kdelta{ ^a $theta } + w3{ b ,c }*kdelta{ ^a $phi } + w4{ b ,c }*kdelta{ ^a $t }`);

Created definition for tor(up,dn,dn)

> grcalc(tor(up,dn,dn));

Calculated kdelta(up,dn) for sscw_2 (0.000000 sec.)

Calculated tor(up,dn,dn) for sscw_2 (.022000 sec.)

`CPU Time ` = .22e-1

> grdisplay(tor(up,dn,dn));

`For the sscw_2 spacetime:`

`tor(up,dn,dn)`

tor^r*``[r*r] = 1/2*diff(lambda(r),r)*exp(1/2*lambd...

tor^theta*``[theta*r] = 1

tor^phi*``[phi*r] = sin(theta)

tor^t*``[t*r] = 1/2*diff(nu(r),r)*exp(1/2*nu(r))

tor^phi*``[phi*theta] = r*cos(theta)

> grmap(tor(up,dn,dn),subs,lambda(r)=f1(r),nu(r)=f2(r),`x`);

Applying routine subs to tor(up,dn,dn)

> grdisplay(tor(up,dn,dn));

`For the sscw_2 spacetime:`

`tor(up,dn,dn)`

tor^r*``[r*r] = 1/2*diff(f1(r),r)*exp(1/2*f1(r))

tor^theta*``[theta*r] = 1

tor^phi*``[phi*r] = sin(theta)

tor^t*``[t*r] = 1/2*diff(f2(r),r)*exp(1/2*f2(r))

tor^phi*``[phi*theta] = r*cos(theta)

> grcalc(tor(bup,bdn,bdn));

Created definition for tor(bup,bdn,bdn) 

Calculated detg for sscw_2 (0.000000 sec.)

Calculated g(up,up) for sscw_2 (.002000 sec.)

Calculated e(bdn,up) for sscw_2 (.004000 sec.)

Calculated tor(bup,bdn,bdn) for sscw_2 (.263000 sec.)

`CPU Time ` = .388

> gralter(tor(bup,bdn,bdn),trigsin,power,simplify);

Component simplification of a GRTensorII object:

Applying routine `simplify[trigsin]` to object tor(bup,bdn,bdn)

Applying routine `simplify[power]` to object tor(bup,bdn,bdn)

Applying routine simplify to object tor(bup,bdn,bdn)

`CPU Time ` = .104

> grdisplay(tor(bup,bdn,bdn));

`For the sscw_2 spacetime:`

`tor(bup,bdn,bdn)`

tor^``(`1`)*``[``(`1`)*``(`1`)] = -1/2*exp(-1/2*lam...

tor^``(`2`)*``[``(`2`)*``(`1`)] = -exp(-1/2*lambda(...

tor^``(`3`)*``[``(`3`)*``(`1`)] = -sin(theta)*exp(-...

tor^``(`4`)*``[``(`4`)*``(`1`)] = -1/2*exp(-1/2*lam...

tor^``(`3`)*``[``(`3`)*``(`2`)] = -cos(theta)

> grdef(`SS{ ^a ^b }`);

Created definition for SS(up,up)

> grcalc(SS(up,up)):

Enter components for object SS(up,up)

  If you wish to quit at any point and leave this object

  uninitialized, enter the string exit.

  REMEMBER to complete each entry with a semicolon.

SS^r*``^r

grcalc> (I/4)*comu(gam(1),gam(1));

SS^theta*``^r

grcalc> (I/4)*comu(gam(2),gam(1));

SS^phi*``^r

grcalc> (I/4)*comu(gam(3),gam(1));

SS^t*``^r

grcalc> (I/4)*comu(gam(0),gam(1));

SS^r*``^theta

grcalc> (I/4)*comu(gam(1),gam(2));

SS^theta*``^theta

grcalc> (I/4)*comu(gam(2),gam(2));

SS^phi*``^theta

grcalc> (I/4)*comu(gam(3),gam(2));

SS^t*``^theta

grcalc> (I/4)*comu(gam(0),gam(2));

SS^r*``^phi

grcalc> (I/4)*comu(gam(1),gam(3));

SS^theta*``^phi

grcalc> (I/4)*comu(gam(2),gam(3));

SS^phi*``^phi

grcalc> (I/4)*comu(gam(3),gam(3));

SS^t*``^phi

grcalc> (I/4)*comu(gam(0),gam(3));

SS^r*``^t

grcalc> (I/4)*comu(gam(1),gam(0));

SS^theta*``^t

grcalc> (I/4)*comu(gam(2),gam(0));

SS^phi*``^t

grcalc> (I/4)*comu(gam(3),gam(0));

SS^t*``^t

grcalc> (I/4)*comu(gam(0),gam(0));

Calculated SS(up,up) for sscw_2 (.652000 sec.)

`CPU Time ` = .653

> grdisplay(SS(up,up));

`For the sscw_2 spacetime:`

`SS(up,up)`

SS(up,up)

SS^a*``^b = matrix([[0, 1/2*pd(1,sigma(3)), -1/2*pd...

> grcalc(Chr(dn,dn,dn));

Calculated g(dn,dn,pdn) for sscw_2 (.009000 sec.)

Calculated Chr(dn,dn,dn) for sscw_2 (.008000 sec.)

`CPU Time ` = .20e-1

> gralter(Chr(dn,dn,dn),simplify);

Component simplification of a GRTensorII object:

Applying routine simplify to object Chr(dn,dn,dn)

`CPU Time ` = .49e-1

> grdisplay(Chr(dn,dn,dn));

`For the sscw_2 spacetime:`

`Christoffel symbol of the first kind (symmetric in...

Gamma[r*r*r] = -1/2*diff(lambda(r),r)*exp(lambda(r)...

Gamma[r*theta*theta] = -r

Gamma[r*phi*phi] = -r+r*cos(theta)^2

Gamma[r*t*t] = 1/2*diff(nu(r),r)*exp(nu(r))

Gamma[theta*theta*r] = r

Gamma[theta*phi*phi] = -r^2*cos(theta)*sin(theta)

Gamma[phi*phi*r] = r-r*cos(theta)^2

Gamma[phi*phi*theta] = r^2*cos(theta)*sin(theta)

Gamma[t*t*r] = -1/2*diff(nu(r),r)*exp(nu(r))

> grcalc(Chr(bdn,bdn,bdn));

Created definition for Chr(bdn,bdn,bdn) 

Calculated Chr(bdn,bdn,bdn) for sscw_2 (.211000 sec.)

`CPU Time ` = .218

> gralter(Chr(bdn,bdn,bdn),trigsin,expand,simplify);

Component simplification of a GRTensorII object:

Applying routine `simplify[trigsin]` to object Chr(bdn,bdn,bdn)

Applying routine expand to object Chr(bdn,bdn,bdn)

Applying routine simplify to object Chr(bdn,bdn,bdn)

`CPU Time ` = .108

> grdisplay(Chr(bdn,bdn,bdn));

`For the sscw_2 spacetime:`

`Chr(bdn,bdn,bdn)`

Gamma[``(`1`)*``(`1`)*``(`1`)] = 1/2*exp(-1/2*lambd...

Gamma[``(`1`)*``(`2`)*``(`2`)] = 1/r*exp(-1/2*lambd...

Gamma[``(`1`)*``(`3`)*``(`3`)] = 1/r*exp(-1/2*lambd...

Gamma[``(`1`)*``(`4`)*``(`4`)] = -1/2*exp(-1/2*lamb...

Gamma[``(`2`)*``(`2`)*``(`1`)] = -1/r*exp(-1/2*lamb...

Gamma[``(`2`)*``(`3`)*``(`3`)] = 1/sin(theta)*cos(t...

Gamma[``(`3`)*``(`3`)*``(`1`)] = -1/r*exp(-1/2*lamb...

Gamma[``(`3`)*``(`3`)*``(`2`)] = -1/sin(theta)*cos(...

Gamma[``(`4`)*``(`4`)*``(`1`)] = 1/2*exp(-1/2*lambd...

> grdef(`de{ i }:=(I/2)*SS{ ^a ^b }*Chr{ (a) (i) (b) }`);

Created definition for de(dn)

Here we have a new special term with torsion contribution !

> grdef(`det{ i }:=(I/2)*SS{ ^a ^b }*(Chr{ (a) (i) (b) }+(tor{ (a) (i) (b) }-tor{ (i) (b) (a) } + tor{ (b) (a) (i) }))`);

Created definition for tor(bdn,bdn,bdn) 

Created definition for det(dn)

> grcalc(de(dn));grcalc(det(dn));

Calculated de(dn) for sscw_2 (.016000 sec.)

`CPU Time ` = .17e-1

Calculated tor(bdn,bdn,bdn) for sscw_2 (.018000 sec.)

Calculated det(dn) for sscw_2 (.049000 sec.)

`CPU Time ` = .70e-1

> gralter(de(dn),trigsin,factor,expand);gralter(det(dn),trigsin,factor,expand);

Component simplification of a GRTensorII object:

Applying routine `simplify[trigsin]` to object de(dn)

Applying routine factor to object de(dn)

Applying routine expand to object de(dn)

`CPU Time ` = .16e-1

Component simplification of a GRTensorII object:

Applying routine `simplify[trigsin]` to object det(dn)

Applying routine factor to object det(dn)

Applying routine expand to object det(dn)

`CPU Time ` = .32e-1

> grdisplay(de(dn));

`For the sscw_2 spacetime:`

`de(dn)`

de(dn)

de[a] = vector([0, 1/2*I*pd(1,sigma(3))/r*exp(-1/2*...
de[a] = vector([0, 1/2*I*pd(1,sigma(3))/r*exp(-1/2*...

> grdisplay(det(dn));

`For the sscw_2 spacetime:`

`det(dn)`

det(dn)

det[theta] = 1/2*I*pd(1,sigma(3))/r*exp(-1/2*lambda...

det[phi] = -1/2*I/r*pd(1,sigma(2))*exp(-1/2*lambda(...
det[phi] = -1/2*I/r*pd(1,sigma(2))*exp(-1/2*lambda(...

det[t] = 1/4*pd(sigma(3),sigma(1))*exp(-1/2*lambda(...

> grdef(`ga{ ^a }:=[gam(1),gam(2),gam(3),gam(0)]`);

Components assigned for metric: sscw_2

Created definition for ga(up)

> grdisplay(ga(up));

`For the sscw_2 spacetime:`

`ga(up)`

ga(up)

ga^a = vector([I*pd(sigma(2),sigma(1)), I*pd(sigma(...

> grdef(`ver{ ^a ^b }`);

Created definition for ver(up,up)

> grcalc(ver(up,up));

Enter components for object ver(up,up)

  If you wish to quit at any point and leave this object

  uninitialized, enter the string exit.

  REMEMBER to complete each entry with a semicolon.

ver^r*``^r

grcalc> grcomponent(ga(up),[r]) &p grcomponent(ga(up),[r]) +grcomponent(ga(up),[r]) &p grcomponent(ga(up),[r])+2*grcomponent(eta(bup,bup),[r,r]);

ver^theta*``^r

grcalc> grcomponent(ga(up),[theta]) &p grcomponent(ga(up),[r]) +grcomponent(ga(up),[r]) &p grcomponent(ga(up),[theta])+2*grcomponent(eta(bup,bup),[theta,r]);

ver^phi*``^r

grcalc> grcomponent(ga(up),[phi]) &p grcomponent(ga(up),[r]) +grcomponent(ga(up),[r]) &p grcomponent(ga(up),[phi])+2*grcomponent(eta(bup,bup),[phi,r]);

ver^t*``^r

grcalc> grcomponent(ga(up),[t]) &p grcomponent(ga(up),[r]) +grcomponent(ga(up),[r]) &p grcomponent(ga(up),[t])+2*grcomponent(eta(bup,bup),[t,r]);

ver^r*``^theta

grcalc> grcomponent(ga(up),[r]) &p grcomponent(ga(up),[theta]) +grcomponent(ga(up),[theta]) &p grcomponent(ga(up),[r])+2*grcomponent(eta(bup,bup),[r,theta]);

ver^theta*``^theta

grcalc> grcomponent(ga(up),[theta]) &p grcomponent(ga(up),[theta]) +grcomponent(ga(up),[theta]) &p grcomponent(ga(up),[theta])+2*grcomponent(eta(bup,bup),[theta,theta]);

ver^phi*``^theta

grcalc> grcomponent(ga(up),[phi]) &p grcomponent(ga(up),[theta]) +grcomponent(ga(up),[theta]) &p grcomponent(ga(up),[phi])+2*grcomponent(eta(bup,bup),[phi,theta]);

ver^t*``^theta

grcalc> grcomponent(ga(up),[t]) &p grcomponent(ga(up),[theta]) +grcomponent(ga(up),[theta]) &p grcomponent(ga(up),[t])+2*grcomponent(eta(bup,bup),[t,theta]);

ver^r*``^phi

grcalc> grcomponent(ga(up),[r]) &p grcomponent(ga(up),[phi]) +grcomponent(ga(up),[phi]) &p grcomponent(ga(up),[r])+2*grcomponent(eta(bup,bup),[r,phi]);

ver^theta*``^phi

grcalc> grcomponent(ga(up),[theta]) &p grcomponent(ga(up),[phi]) +grcomponent(ga(up),[phi]) &p grcomponent(ga(up),[theta])+2*grcomponent(eta(bup,bup),[theta,phi]);

ver^phi*``^phi

grcalc> grcomponent(ga(up),[phi]) &p grcomponent(ga(up),[phi]) +grcomponent(ga(up),[phi]) &p grcomponent(ga(up),[phi])+2*grcomponent(eta(bup,bup),[phi,phi]);

ver^t*``^phi

grcalc> grcomponent(ga(up),[t]) &p grcomponent(ga(up),[phi]) +grcomponent(ga(up),[phi]) &p grcomponent(ga(up),[t])+2*grcomponent(eta(bup,bup),[t,phi]);

ver^r*``^t

grcalc> grcomponent(ga(up),[r]) &p grcomponent(ga(up),[t]) +grcomponent(ga(up),[t]) &p grcomponent(ga(up),[r])+2*grcomponent(eta(bup,bup),[r,t]);

ver^theta*``^t

grcalc> grcomponent(ga(up),[theta]) &p grcomponent(ga(up),[t]) +grcomponent(ga(up),[t]) &p grcomponent(ga(up),[theta])+2*grcomponent(eta(bup,bup),[theta,t]);

ver^phi*``^t

grcalc> grcomponent(ga(up),[phi]) &p grcomponent(ga(up),[t]) +grcomponent(ga(up),[t]) &p grcomponent(ga(up),[phi])+2*grcomponent(eta(bup,bup),[phi,t]);

ver^t*``^t

grcalc> grcomponent(ga(up),[t]) &p grcomponent(ga(up),[t]) +grcomponent(ga(up),[t]) &p grcomponent(ga(up),[t])+2*grcomponent(eta(bup,bup),[t,t]);

Calculated ver(up,up) for sscw_2 (.539000 sec.)

`CPU Time ` = .540

> grdisplay(ver(up,up));

`For the sscw_2 spacetime:`

`ver(up,up)`

ver(up,up)

ver^a*``^b = matrix([[-4, 0, 0, 0], [0, -4, 0, 0], ...

> grdef(`Psid{ a }:=[diff(psi(r),r),diff(psi(r),theta),diff(psi(r),phi),diff(psi(r),t)]`);

Components assigned for metric: sscw_2

Created definition for Psid(dn)

> grcalc(Psid(dn));

`CPU Time ` = .1e-2

> grdisplay(Psid(dn));

`For the sscw_2 spacetime:`

`Psid(dn)`

Psid(dn)

Psid[a] = vector([diff(psi(r),r), 0, 0, 0])

> grcalc(Psid(bdn));

Created definition for Psid(bdn) 

Calculated Psid(bdn) for sscw_2 (.002000 sec.)

`CPU Time ` = .9e-2

> gralter(Psid(bdn),simplify);

Component simplification of a GRTensorII object:

Applying routine simplify to object Psid(bdn)

`CPU Time ` = .12e-1

> grdisplay(Psid(bdn));

`For the sscw_2 spacetime:`

`Psid(bdn)`

Psid(bdn)

Psid[`(a)`] = vector([-diff(psi(r),r)*exp(-1/2*lamb...

> a0:=expand(grcomponent(de(dn),[t]));a00:=0;

a0 := 1/4*pd(sigma(3),sigma(1))*exp(-1/2*lambda(r))...

a00 := 0

> u0:=whattype(a0);u0;

u0 := `*`

`*`

> nops(a0);

4

> if u0=`+` then for i from 1 to nops(a0) do a00:=a00+I*h*grcomponent(ga(up),[t]) &p op(i,a0) od else a00:=I*h*grcomponent(ga(up),[t]) &p a0 fi;

a00 := 1/4*h*exp(-1/2*lambda(r))*diff(nu(r),r)*pd(s...

> a00;

1/4*h*exp(-1/2*lambda(r))*diff(nu(r),r)*pd(sigma(2)...

> a1:=expand(grcomponent(de(dn),[r]));a11:=0;

a1 := 0

a11 := 0

> u1:=whattype(a1);u1;

u1 := integer

integer

> nops(a1);

1

> if u1=`+` then for i from 1 to nops(a1) do a11:=a11+I*h*grcomponent(ga(up),[r]) &p op(i,a1) od else a11:=I*h*grcomponent(ga(up),[r]) &p a1 fi;

a11 := 0

> a11;

0

> a2:=expand(grcomponent(de(dn),[theta]));a22:=0;

a2 := 1/2*I*pd(1,sigma(3))/r*exp(-1/2*lambda(r))

a22 := 0

> u2:=whattype(a2);u2;

u2 := `*`

`*`

> nops(a2);

4

> if u2=`+` then for i from 1 to nops(a2) do a22:=a22+I*h*grcomponent(ga(up),[theta]) &p op(i,a2) od else a22:=I*h*grcomponent(ga(up),[theta]) &p a2 fi;

a22 := 1/2*h*exp(-1/2*lambda(r))/r*pd(sigma(2),sigm...

> a22;

1/2*h*exp(-1/2*lambda(r))/r*pd(sigma(2),sigma(1))

> a3:=expand(grcomponent(de(dn),[phi]));a33:=0;

a3 := -1/2*I/r*pd(1,sigma(2))*exp(-1/2*lambda(r))+1...

a33 := 0

> u3:=whattype(a3);u3;

u3 := `+`

`+`

> nops(a3);

2

> if u3=`+` then for i from 1 to nops(a3) do a33:=a33+I*h*grcomponent(ga(up),[phi]) &p op(i,a3) od else a33:=I*h*grcomponent(ga(up),[phi]) &p a3 fi;

> a33;

1/2*h*exp(-1/2*lambda(r))/r*pd(sigma(2),sigma(1))+1...

> grdef(`dd`);

Created definition for dd

> grcalc(dd);

Enter components for object dd

  If you wish to quit at any point and leave this object

  uninitialized, enter the string exit.

  REMEMBER to complete each entry with a semicolon.

dd

grcalc> a00+a11+a22+a33;

Calculated dd for sscw_2 (.007000 sec.)

`CPU Time ` = .8e-2

> grdisplay(dd);

`For the sscw_2 spacetime:`

dd

dd = 1/4*h*(exp(-1/2*lambda(r))*diff(nu(r),r)*pd(si...
dd = 1/4*h*(exp(-1/2*lambda(r))*diff(nu(r),r)*pd(si...

> gralter(dd,factor,expand);

Component simplification of a GRTensorII object:

Applying routine factor to object dd

Applying routine expand to object dd

`CPU Time ` = .6e-2

> grdisplay(dd);

`For the sscw_2 spacetime:`

dd

dd = 1/4*h*exp(-1/2*lambda(r))*diff(nu(r),r)*pd(sig...

> a0t:=expand(grcomponent(det(dn),[t]));a00t:=0;

a0t := 1/4*pd(sigma(3),sigma(1))*exp(-1/2*lambda(r)...

a00t := 0

> u0t:=whattype(a0t);u0t;

u0t := `+`

`+`

> nops(a0t);

2

> if u0t=`+` then for i from 1 to nops(a0t) do a00t:=a00t+I*h*grcomponent(ga(up),[t]) &p op(i,a0t) od else a00t:=I*h*grcomponent(ga(up),[t]) &p a0t fi;

> a00t;

1/4*h*exp(-1/2*lambda(r))*diff(nu(r),r)*pd(sigma(2)...

> a1t:=expand(grcomponent(det(dn),[r]));a11t:=0;

a1t := 0

a11t := 0

> u1t:=whattype(a1t);u1t;

u1t := integer

integer

> nops(a1t);

1

> if u1t=`+` then for i from 1 to nops(a1t) do a11t:=a11t+I*h*grcomponent(ga(up),[r]) &p op(i,a1t) od else a11t:=I*h*grcomponent(ga(up),[r]) &p a1t fi;

a11t := 0

> a11t;

0

> a2t:=expand(grcomponent(det(dn),[theta]));a22t:=0;

a2t := 1/2*I*pd(1,sigma(3))/r*exp(-1/2*lambda(r))-1...

a22t := 0

> u2t:=whattype(a2t);u2t;

u2t := `+`

`+`

> nops(a2t);

2

> if u2t=`+` then for i from 1 to nops(a2t) do a22t:=a22t+I*h*grcomponent(ga(up),[theta]) &p op(i,a2t) od else a22t:=I*h*grcomponent(ga(up),[theta]) &p a2t fi;

> a22t;

1/2*h*exp(-1/2*lambda(r))/r*pd(sigma(2),sigma(1))-1...

> a3t:=expand(grcomponent(det(dn),[phi]));a33t:=0;

a3t := -1/2*I/r*pd(1,sigma(2))*exp(-1/2*lambda(r))+...
a3t := -1/2*I/r*pd(1,sigma(2))*exp(-1/2*lambda(r))+...

a33t := 0

> u3t:=whattype(a3t);u3t;

u3t := `+`

`+`

> nops(a3t);

4

> if u3t=`+` then for i from 1 to nops(a3t) do a33t:=a33t+I*h*grcomponent(ga(up),[phi]) &p op(i,a3t) od else a33t:=I*h*grcomponent(ga(up),[phi]) &p a3t fi;

> a33t;

1/2*h*exp(-1/2*lambda(r))/r*pd(sigma(2),sigma(1))-1...
1/2*h*exp(-1/2*lambda(r))/r*pd(sigma(2),sigma(1))-1...

> grdef(`ddt`);

Created definition for ddt

> grcalc(ddt);

Enter components for object ddt

  If you wish to quit at any point and leave this object

  uninitialized, enter the string exit.

  REMEMBER to complete each entry with a semicolon.

ddt

grcalc> a00t+a11t+a22t+a33t;

Calculated ddt for sscw_2 (.010000 sec.)

`CPU Time ` = .11e-1

> grdisplay(ddt);

`For the sscw_2 spacetime:`

ddt

ddt = -1/4*h*(-exp(-1/2*lambda(r))*diff(nu(r),r)*pd...
ddt = -1/4*h*(-exp(-1/2*lambda(r))*diff(nu(r),r)*pd...
ddt = -1/4*h*(-exp(-1/2*lambda(r))*diff(nu(r),r)*pd...

> gralter(ddt,trigsin,factor,expand);

Component simplification of a GRTensorII object:

Applying routine `simplify[trigsin]` to object ddt

Applying routine factor to object ddt

Applying routine expand to object ddt

`CPU Time ` = .23e-1

> grdisplay(ddt);

`For the sscw_2 spacetime:`

ddt

ddt = 1/4*h*exp(-1/2*lambda(r))*diff(nu(r),r)*pd(si...
ddt = 1/4*h*exp(-1/2*lambda(r))*diff(nu(r),r)*pd(si...
ddt = 1/4*h*exp(-1/2*lambda(r))*diff(nu(r),r)*pd(si...

> grdef(`dirac:=I*h*ga{ ^l }*Psid{ (l) } + dd*psi(r) - m*c*psi(r)`);

Created definition for dirac

> grdef(`diract:=I*h*ga{ ^l }*Psid{ (l) } + ddt*psi(r) - m*c*psi(r)`);

Created definition for diract

> grcalc(diract);grcalc(dirac);

Calculated diract for sscw_2 (.009000 sec.)

`CPU Time ` = .12e-1

Calculated dirac for sscw_2 (.007000 sec.)

`CPU Time ` = .8e-2

> gralter(dirac,factor,power,normal,expand);gralter(diract,factor,power,normal,expand);

Component simplification of a GRTensorII object:

Applying routine factor to object dirac

Applying routine `simplify[power]` to object dirac

Applying routine normal to object dirac

Applying routine expand to object dirac

`CPU Time ` = .23e-1

Component simplification of a GRTensorII object:

Applying routine factor to object diract

Applying routine `simplify[power]` to object diract

Applying routine normal to object diract

Applying routine expand to object diract

`CPU Time ` = .32e-1

> grdisplay(dirac);

`For the sscw_2 spacetime:`

dirac

dirac = 1/4*h*psi(r)*exp(-1/2*lambda(r))*diff(nu(r)...
dirac = 1/4*h*psi(r)*exp(-1/2*lambda(r))*diff(nu(r)...

> grdisplay(diract);

`For the sscw_2 spacetime:`

diract

diract = 1/4*h*psi(r)*exp(-1/2*lambda(r))*diff(nu(r...
diract = 1/4*h*psi(r)*exp(-1/2*lambda(r))*diff(nu(r...
diract = 1/4*h*psi(r)*exp(-1/2*lambda(r))*diff(nu(r...

> define(`gen`);

> define(`gama`);

> grmap(dirac,subs,pd(sigma(1),1)=gama(0),pd(sigma(2),1)=-I*gama(0)*gama(5),pd(sigma(3),1)=-gama(5),pd(1,sigma(1))=2*gen(2,3),pd(1,sigma(2))=2*gen(3,1),pd(1,sigma(3))=2*gen(1,2),pd(sigma(2),sigma(1))=-I*gama(1),pd(sigma(2),sigma(2))=-I*gama(2),pd(sigma(2),sigma(3))=-I*gama(3),pd(sigma(1),sigma(1))=gama(1)*gama(5),pd(sigma(1),sigma(2))=gama(2)*gama(5),pd(sigma(1),sigma(3))=gama(3)*gama(5),pd(sigma(3),sigma(1))=2*I*gen(0,1),pd(sigma(3),sigma(2))=2*I*gen(0,2),pd(sigma(3),sigma(3))=2*I*gen(0,3),`x`);

Applying routine subs to dirac

> grmap(diract,subs,pd(sigma(1),1)=gama(0),pd(sigma(2),1)=-I*gama(0)*gama(5),pd(sigma(3),1)=-gama(5),pd(1,sigma(1))=2*gen(2,3),pd(1,sigma(2))=2*gen(3,1),pd(1,sigma(3))=2*gen(1,2),pd(sigma(2),sigma(1))=-I*gama(1),pd(sigma(2),sigma(2))=-I*gama(2),pd(sigma(2),sigma(3))=-I*gama(3),pd(sigma(1),sigma(1))=gama(1)*gama(5),pd(sigma(1),sigma(2))=gama(2)*gama(5),pd(sigma(1),sigma(3))=gama(3)*gama(5),pd(sigma(3),sigma(1))=2*I*gen(0,1),pd(sigma(3),sigma(2))=2*I*gen(0,2),pd(sigma(3),sigma(3))=2*I*gen(0,3),`x`);

Applying routine subs to diract

> grdisplay(dirac);

`For the sscw_2 spacetime:`

dirac

dirac = -1/4*I*h*psi(r)*exp(-1/2*lambda(r))*diff(nu...
dirac = -1/4*I*h*psi(r)*exp(-1/2*lambda(r))*diff(nu...

> grdisplay(diract);

`For the sscw_2 spacetime:`

diract

diract = -1/4*I*h*psi(r)*exp(-1/2*lambda(r))*diff(n...
diract = -1/4*I*h*psi(r)*exp(-1/2*lambda(r))*diff(n...
diract = -1/4*I*h*psi(r)*exp(-1/2*lambda(r))*diff(n...

> nops(grcomponent(dirac));

5

> nops(grcomponent(diract));

9

> grcomponent(diract)-grcomponent(dirac);

1/4*I*h*psi(r)*exp(-1/2*lambda(r))*diff(f2(r),r)*ex...
1/4*I*h*psi(r)*exp(-1/2*lambda(r))*diff(f2(r),r)*ex...

> grdisplay(tor(up,dn,dn));

`For the sscw_2 spacetime:`

`tor(up,dn,dn)`

tor^r*``[r*r] = 1/2*diff(f1(r),r)*exp(1/2*f1(r))

tor^theta*``[theta*r] = 1

tor^phi*``[phi*r] = sin(theta)

tor^t*``[t*r] = 1/2*diff(f2(r),r)*exp(1/2*f2(r))

tor^phi*``[phi*theta] = r*cos(theta)

> grdisplay(diract);

`For the sscw_2 spacetime:`

diract

diract = -1/4*I*h*psi(r)*exp(-1/2*lambda(r))*diff(n...
diract = -1/4*I*h*psi(r)*exp(-1/2*lambda(r))*diff(n...
diract = -1/4*I*h*psi(r)*exp(-1/2*lambda(r))*diff(n...

> grdisplay(metric);

`For the sscw_2 spacetime:`

`Covariant metric tensor`

g(dn,dn)

`g `[a]*``[b] = matrix([[-exp(lambda(r)), 0, 0, 0],...

> lambda(r):=1/(1-2*m/r);

lambda(r) := 1/(1-2*m/r)

> nu(r):=1-2*m/r;

nu(r) := 1-2*m/r

> grdisplay(metric);

`For the sscw_2 spacetime:`

`Covariant metric tensor`

g(dn,dn)

`g `[a]*``[b] = matrix([[-exp(1/(1-2*m/r)), 0, 0, 0...

> gralter(diract,factor,simplify,normal);

Component simplification of a GRTensorII object:

Applying routine factor to object diract

Applying routine simplify to object diract

Applying routine normal to object diract

`CPU Time ` = .321

> grdisplay(diract);

`For the sscw_2 spacetime:`

diract

diract = -1/4*(2*I*h*psi(r)*exp(1/2*r/(-r+2*m))*m*g...
diract = -1/4*(2*I*h*psi(r)*exp(1/2*r/(-r+2*m))*m*g...
diract = -1/4*(2*I*h*psi(r)*exp(1/2*r/(-r+2*m))*m*g...
diract = -1/4*(2*I*h*psi(r)*exp(1/2*r/(-r+2*m))*m*g...
diract = -1/4*(2*I*h*psi(r)*exp(1/2*r/(-r+2*m))*m*g...

>

>