Application Center - Maplesoft

App Preview:

Relativistic Astrophysics and Cosmology with Maple

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application



Introduction to relativistic astrophysics and cosmology through Maple

Vladimir L. Kalashnikov ,

Belarussian Polytechnical Academy,

Abstract: The basics of the relativistic astrophysics including the celestial mechanics in weak field, black holes and cosmological models are illustrated and analyzed by means of Maple 6

Application Areas/Subjects: Science, Astrophysics, General Relativity, Tensor Analysis, Differential geometry, Differential equations


A rapid progress of observational astrophysics, which resulted from the active use of orbital telescopes, essentially intensifies the astrophysical research of the last decade and allows us to choose more definite directions of further investigations. At the same time, the development of high-performance computers advances numerical astrophysics and cosmology. Against a background of these achievements, there is the renaissance of analytical and semi-analytical approaches, which is induced by new generation of highly efficient computer algebra systems.

Here we present the pedagogical introduction to relativistic astrophysics and cosmology, which is based on computational and graphical resources of Maple 6. The pedagogical aims define only standard functions despite the fact that there are powerful General Relativity (GR) oriented extensions like GRTensor. The knowledge of basics of GR and differential geometry is supposed. It should be noted, that our choice of metric signature (+2) governs the definitions of Lagrangians and energy-momentum tensors.

The computations in this worksheet take about of 6 min of CPU time (PIII-500) and 9 Mb of memory.


Relativistic celestial mechanics in weak gravitational field


Schwarzschild metric

Equation of motion

Light ray deflection

Planet's perihelion motion


Relativistic stars and black holes


Geometric units

Relativistic star

Degeneracy stars and gravitational collapse

Schwarzschild black hole

Reisner-Nordstrom black hole (charged black hole)

Kerr black hole (rotating black hole)


Cosmological models


Robertson-Walker metric

Standard models

Einstein static

Einstein-de Sitter

de Sitter and anti-de Sitter

Closed Friedmann-Lemaitre

Open Friedmann-Lemaitre

Expanding spherical and recollapsing hyperbolical universes

Bouncing model

Our universe (?)


Bianchi models and Mixmaster universe



Relativistic celestial mechanics in weak gravitational field


The first results in the GR-theory were obtained without exact knowledge of the field equations (Einstein's equations for space-time geometry). The leading idea was the equivalence principle based on the equality of inertial and gravitational masses. We will demonstrate here that the natural consequences of this principle are the Schwarzschild metric and the basic experimental effects of GR-theory in weak gravitational field, i. e. planet's orbit precession and light ray deflection [see Sommerfeld A. Lectures on theoretical physics, v. 3, Academic Press, NY, 313-315 (1952) ].

Schwarzschild metric

Let us consider the centrally symmetric gravitational field, which is produced by mass M . The small cell K[infinity] falls along x -axis on the central mass. In the agreement with the equivalence principle, the uniformly accelerated motion locally compensates the gravitational force hence there is no a gravitational field in the free falling system K[infinity] . This results in the locally Lorenzian metric with linear element ( c is the velocity of light):

d s^2 = d x[infinity]^2 + d y[infinity]^2 + d z[infinity]^2 - c^2 d t[infinity]^2

The velocity v and radial coordinate r are measured in the spherical system K , which are connected with central mass. It is natural, the observer in this motionless system "feels" the gravitational field. Since the first system moves relatively second one there are the following relations between coordinates:

d x[infinity] = dr/sqrt(1-beta^2) ( beta = v/c )

d t[infinity] = sqrt(1-beta^2) dt

d y[infinity] =rd theta

d z[infinity] =r sin(theta) d phi

The first and second relations are the Lorentzian length shortening and time slowing down in the moving system. As result, K[infinity] from K looks as:

d s^2 = (1-beta^2)^(-1) d r^2 + r^2 ( d theta^2 + sin(theta)^2 d phi^2 ) - c^2 ( 1 - beta^2 ) d t^2

The sense of the additional terms in metric has to connect with the characteristics of gravitational field. What is the energy of K[infinity] in K ? If the mass of K[infinity] is m , and m[0] is the rest mass, the sum of kinetic and potential energies is:

> restart:
(m - m0)*c^2 - G*M*m/r=0;# energy conservation law (we suppose that the Newtonian law of gravitation is correct in the first approximation), G is the gravitational constant
subs( m=m0/sqrt(1-beta^2),% ):# relativistic mass
solve( %,sqrt(1-beta^2) ):
sqrt(1-beta^2) = expand(%);
1-beta^2 = taylor((1-subs(op(2,%)=alpha/r,rhs(%)))^2,alpha=0,2);# alpha=G*M/c^2, we use the first-order approximation on alpha

Warning, the name changecoords has been redefined

(m-m0)*c^2-G*M*m/r = 0

1-sqrt(1-beta^2)-G*M/(c^2*r) = 0

sqrt(1-beta^2) = 1-G*M/(c^2*r)

1-beta^2 = series(1+(-2*1/r)*alpha+O(alpha^2),alpha...

The last results in:

d s^2 = dr^2/(1-2*alpha/r) + r^2 ( d theta^2 + sin(theta)^2 d phi^2 ) - c^2 (1 - 2*alpha/r ) d t^2

This linear element describes the so-called Schwarzschild metric . In the first-order approximation:

> taylor( d(r)^2/(1-2*alpha/r)+r^2*(d(theta)^2+sin(theta)^2*d(phi)^2)-c^2*(1-2*alpha/r)*d(t)^2, alpha=0, 2 ):
convert( % , polynom ):
metric := d(s)^2 = collect( % , {d(r)^2, d(t)^2} );

metric := d(s)^2 = (-c^2+2*c^2*alpha/r)*d(t)^2+(1+2...

Equations of motion

Let us consider a motion of the small unit mass in Newtonian gravitational potential Phi = - G*M/r . Lagrangian describing the motion in centrally symmetric field is:

> L := (diff(r(t),t)^2 + r(t)^2*diff(theta(t),t)^2)/2 + G*M/r(t);

L := 1/2*diff(r(t),t)^2+1/2*r(t)^2*diff(theta(t),t)...

The transition to Schwarzschild metric transforms the time and radial differentials of coordinates (see, for example, [ Kai-Chia Cheng. A simple calculation of the perihelion Mercury from the principle of equivalence. Nature (Lond.), v. 155, 574 (1945); N.T. Roseveare, Mercury's perihelion from Le Verrier to Einstein, Clarendon Press - Oxford, 1982 ]):

dr --> (1 + alpha/r ) dr and dt --> (1+alpha/r)^(-1) dt (it should be noted, that the replacement will be performed for differentials, not coordinates, and we use the weak field approximation for square-rooting):

> L_n := collect(\
{diff(r(t),t)=gamma(r(t))^2*diff(r(t),t),\ diff(theta(t),t)=gamma(r(t))*diff(theta(t),t)}, L ) ),\
{diff(r(t),t)^2, diff(theta(t),t)^2});# modified Lagrangian, gamma(r) = 1+alpha/r(t)

L_n := 1/2*gamma(r(t))^4*diff(r(t),t)^2+1/2*r(t)^2*...

Next step for the obtaining of the equations of motion from Lagrangian is the calculation of the force diff(L(x,y),x) and the momentum diff(L(x,y),y) , where y = diff(x,t) :

> e1 := Diff(Lagrangian(r, Diff(r,t)), r) = diff(subs(r(t) = r, L_n),r);# first component of force
e2 := Diff(Lagrangian(r, Diff(r,t)), Diff(r,t)) = subs( x=diff(r(t),t), diff(subs(diff(r(t),t)=x, L_n), x));# first component of momentum
e3 := Diff(Lagrangian(theta, Diff(theta,t)), theta) = diff(subs(theta(t) = theta, L_n), theta);# second component of force
e4 := Diff(Lagrangian(theta, Diff(theta,t)), Diff(theta,t)) = subs(y=diff(theta(t),t), diff(subs(diff(theta(t),t)=y, L_n), y));# second component of momentum

e1 := Diff(Lagrangian(r,Diff(r,t)),r) = 2*gamma(r)^...

e2 := Diff(Lagrangian(r,Diff(r,t)),Diff(r,t)) = gam...

e3 := Diff(Lagrangian(theta,Diff(theta,t)),theta) =...

e4 := Diff(Lagrangian(theta,Diff(theta,t)),Diff(the...

The equations of motion are the so-called Euler-Lagrange equations diff(diff(L(x,y),y),t) - diff(L(x,y),x) = 0 (in fact, these equations are the second Newton's law and result from the law of least action). Now let us write the equations of motion in angular coordinates. Since e3 = 0 due to an equality to zero of the mixed derivative, we have from e4 the equation of motion diff(diff(L(r,theta,y[1],y[2]),y[2]),t) - diff(L(r,theta,y[1],y[2]),theta) = 0 ( y[1] = diff(r,t) , y[2] = diff(theta,t) ) in the form:

> Eu_Lagr_1 := Diff(rhs(e4),t) = 0;

Eu_Lagr_1 := Diff(r(t)^2*gamma(r(t))^2*diff(theta(t...


r(t)^2*gamma(r(t))^2*diff(theta(t),t) = H = const

> sol_1 := Diff(theta(t),t) = solve( gamma^2*diff(theta(t),t)/u(theta)^2 = H, diff(theta(t),t) );# u=1/r is the new variable

sol_1 := Diff(theta(t),t) = H*u(theta)^2/(gamma^2)

The introduced replacement u= 1/r leads to the next relations:

> Diff(r(t), t) = diff(1/u(t),t);
Diff(r(t), t) = diff(1/u(theta),theta)*diff(theta(t),t);# change of variables
sol_2 := Diff(r(t), t) = subs(diff(theta(t),t) = rhs(sol_1), rhs(%));# the result of substitution of above obtained Euler-Lagrange equation

Diff(r(t),t) = -diff(u(t),t)/(u(t)^2)

Diff(r(t),t) = -diff(u(theta),theta)*diff(theta(t),...

sol_2 := Diff(r(t),t) = -diff(u(theta),theta)*H/(ga...

The last result will be used for the manipulations with second Euler-Lagrange equation diff(diff(L(r,theta,y[1],y[2]),y[1]),t) - diff(L(r,theta,y[1],y[2]),r) = 0. We have for the right-hand side of e2 :

> Diff( subs( {diff(r(t),t)=rhs(%),gamma(r(t))=gamma}, rhs(e2)), t );


and can rewrite this expression:

> -2*gamma*H*diff(1+alpha/r(t),t)*diff(u(theta),theta) - H*gamma^2*diff(u(theta),theta$2)*diff(theta(t),t);# from the previous expression, definition of gamma and definition of derivative of product
first_term := subs({r(t)=1/u(theta), diff(theta(t),t)=rhs(sol_1)},\
subs(diff(r(t),t) = rhs(sol_2),%));# this is a first term in second Euler-Lagrange equation


first_term := -2*H^2*alpha*u(theta)^2*diff(u(theta)...

e1 results in:

> 2*gamma(r)^3*diff(r(t),t)^2*diff(gamma(r),r) + \
r*gamma(r)^2*diff(theta(t),t)^2 + \
r^2*gamma(r)*diff(theta(t),t)^2*diff(gamma(r),r) - \
G*M/(r^2);# This is e1

{diff(r(t),t) = rhs(sol_2), diff(gamma(r),r) = diff(1+alpha/r,r), diff(theta(t),t) = rhs(sol_1)},\
%):# we used the expressions for diff(r(t),t), gamma(r) and the first equation of motion

subs(gamma(r) = gamma, %):

second_term := subs(r = 1/u(theta), %);


second_term := -2*H^2*alpha*u(theta)^2*diff(u(theta...

And finally:

> Eu_Lagr_2 := expand( simplify(first_term - second_term)/u(theta)^2/H^2);

Eu_Lagr_2 := -diff(u(theta),`$`(theta,2))-u(theta)/...

In the first-order approximation:

> gamma^n = taylor((1+alpha*u)^n, alpha=0,2);

gamma^n = series(1+n*u*alpha+O(alpha^2),alpha,2)


> taylor( subs(gamma = 1+alpha*u(theta),Eu_Lagr_2), alpha=0,2 ):
basic_equation := convert(%, polynom) = 0;

basic_equation := -diff(u(theta),`$`(theta,2))-u(th...

Light ray deflection

In the beginning the obtained equation will be used for the search of the light ray deflection in the vicinity of a star. The fundamental consideration has to be based on the condition of null geodesic line d s^2 =0 for light, but we simplify a problem and consider the trajectory of the particle moving from the infinity. In this case H= infinity .

> eq_def := subs(G*M/(H^2)=0,basic_equation);

eq_def := -diff(u(theta),`$`(theta,2))-u(theta)+3*u...

The free propagation ( alpha =0) results in:

> subs(alpha=0, lhs(eq_def)) = 0;
sol := dsolve({%, u(0) = 1/R, D(u)(0) = 0}, u(theta));# theta is measured from perihelion, where r = R

-diff(u(theta),`$`(theta,2))-u(theta) = 0

sol := u(theta) = cos(theta)/R

That is r= R/cos(theta) . The last expression corresponds to the straight ray passing through point theta =0, r = R . To find the corrected solution in the gravitational field let substitute the obtained solution into eliminated term in eq_def :

> -op(1,lhs(eq_def)) - op(2,lhs(eq_def)) = subs(u(theta)=rhs(sol),op(3,lhs(eq_def)));
sol := dsolve({%, u(0) = 1/R, D(u)(0) = 0}, u(theta));#corrected solution in the presence of field

diff(u(theta),`$`(theta,2))+u(theta) = 3*cos(theta)...

sol := u(theta) = (-alpha+R)*cos(theta)/(R^2)-1/2*a...

The equation for asymptote limit(u(theta),theta = Pi/2) describes the observed ray. Then angle of ray deflection is 2*R/r (symmetrical deflection before and after perihelion). Hence

> simplify( 2*subs({theta=Pi/2, alpha=G*M/c^2},rhs(sol))*R );


This is correct expression for the light ray deflection in the gravitational field. For sun we have:

> subs({kappa=0.74e-28, M=2e33, R=6.96e10},4*kappa*M/R/4.848e-6);
# in ["],where kappa = G/c^2 [cm/g], 4.848e-6 rad corresponds to 1"


The ray trajectory within Pluto's orbit distance is presented below:

> K := (theta, alpha, R) -> 1 / (-(alpha-R)*cos(theta)/(R^2)-1/2*alpha*cos(2*theta)/(R^2)+3/2*alpha/(R^2)):
S := theta -> K(theta, 2.125e-6, 1):#deflected ray
SS := theta -> 1/cos(theta):#ray without deflection
p1 := polarplot([S,theta->theta,Pi/2..-Pi/2],axes=boxed):
p2 := polarplot([SS,theta->theta,Pi/2..-Pi/2],axes=boxed,color=black):
display(p1,p2,view=-10700..10700,title=`deflection of light ray`);#distance of propagation corresponds to 100 AU=1.5e10 km, distance is normalyzed to Sun radius

[Maple Plot]

Planet's perihelion motion

Now we return to basic_equation . Without relativistic correction to the metric ( alpha =0) the solution is

> sol := dsolve({subs({G*M/(H^2)=k,alpha=0},basic_equation),u(0)=1/R,D(u)(0)=0},u(theta));

sol := u(theta) = k-(k*R-1)*cos(theta)/R

This equation describes an elliptical orbit:

u=k ( 1+e* cos(theta) ),

where e = ( 1/(k*R) - 1) is the eccentricity. For Mercury k = 0.01, e = 0.2056, R = 83.3

> K := (theta, k, R) -> 1/(k-(k*R-1)*cos(theta)/R):
S := theta -> K(theta, .01, 83.3):
polarplot([S,theta->theta,0..2*Pi],title=`Orbit of Mercury`);

[Maple Plot]

The correction to this expression results from the substitution of obtained solution in basic_equation .

> subs({G*M/(H^2)=k,3*u(theta)^2*alpha=3*alpha*(k*(1+e*cos(theta)))^2},\


u(theta) = 3*alpha*k^2*e*cos(theta)+3*sin(theta)*e*...
u(theta) = 3*alpha*k^2*e*cos(theta)+3*sin(theta)*e*...

Now it is possible to plot the corrected orbit (we choose the exaggerated parameters for demonstration of orbit rotation):

> K := (theta, k, R, alpha, e) -> 1 / (3*alpha*k^2*e*cos(theta)+3*sin(theta)*alpha*k^2*e*theta+3/2*alpha*k^2*e^2-1/2*alpha*k^2*e^2*cos(2*theta)+k+3*alpha*k^2-(3*alpha*k^2*e*R+alpha*k^2*e^2*R+k*R+3*alpha*k^2*R-1)*cos(theta)/R):
S := theta -> K(theta, .42, 1.5, 0.01, 0.6):
polarplot([S,theta->theta,0..4.8*Pi],title=`rotation of orbit`);

[Maple Plot]

Now we try to estimate the perihelion shift due to orbit rotation. Let's suppose that the searched solution of basic_equation differs from one in the plane space-time only due to ellipse rotation. The parameter describing this rotation is omega : u ( theta ) = k (1 + e cos(theta-omega*theta) ).

> subs({G*M/(H^2)=k,u(theta)=k*(1+e*cos(theta-omega*theta))},\
basic_equation):#substitution of approximate solution
collect(%, cos(-theta+omega*theta)):
coeff(%, cos(-theta+omega*theta)):#the coefficient before this term gives algebraic equation for omega
subs(omega^2=0,%):#omega is the small value and we don't consider the quadratic term
solve(% = 0, omega):
subs({alpha = G*M/c^2, k = 1/R/(1+e)},2*Pi*%);#result is expressed through the minimal distance R between planet and sun; 2*Pi corresponds to the transition to circle frequency of rotation
subs(R=a*(1-e),%);#result expressed through larger semiaxis a of an ellipse



Hence for Mercury we have the perihelion shift during 100 years:

> subs({kappa=0.74e-28,M=2e33,a=57.9e11,e=0.2056},\
6*Pi*kappa*M/a/(1-e^2)*(100*365.26/87.97)/4.848e-6):#here we took into account the periods of Earth's and Mercury's rotations


Now we will consider the basic_equation in detail [ J. L. Synge, Relativity: the general theory, Amsterdam (1960) ]. The implicit solutions of this equation are:

> dsolve( subs(G*M/H^2=k, basic_equation), u(theta));

Int(1/(sqrt(_C1-_a^2+2*k*_a+2*_a^3*alpha)),_a = `` ...

Hence, these implicit solutions result from the following equation ( beta is the constant depending on the initial conditions):

> diff( u(theta), theta)^2 = 2*M*u(theta)^3 - u(theta)^2 + 2*u(theta)*M/H^2 + beta;# we use the units, where c=1, G=1 (see definition of the geometrical units in the next part)
f := rhs(%):
f = 2*M*( u(theta) - u1 )*( u(theta) - u2 )*( u(theta) - u3 );

diff(u(theta),theta)^2 = 2*M*u(theta)^3-u(theta)^2+...

2*M*u(theta)^3-u(theta)^2+2*u(theta)*M/(H^2)+beta =...

Here u1 , u2 , u3 are the roots of cubic equation, which describes the "potential" defining the orbital motion:

> fun := rhs(%);

fun := 2*M*(u(theta)-u1)*(u(theta)-u2)*(u(theta)-u3...

The dependence of this function on u leads to the different types of motion. The confined motion corresponds to an elliptical orbit

> plot(subs({u3=2, u2=1, u1=0.5, M=1/2},fun),u=0.4..1.1, title=`elliptical motion`, axes=boxed, view=0..0.08);

[Maple Plot]

The next situation with u-- >0 ( r-- > infinity ) corresponds to an infinite motion:

> plot(subs({u3=2, u2=1, u1=-0.1, M=1/2},fun),u=0..1.1, title=`hyperbolical motion`, axes=boxed, view=0..0.6);

[Maple Plot]

Now we return to the right-hand side of the modified basic equation.

> f;


In this expression, one can eliminate the second term by the substitution u ( theta )= y ( theta ) (2/M)^(1/3) + 1/(6*M) :

> collect( subs(u(theta) = (2/M)^(1/3)*y(theta) + 1/(6*M), f),y(theta) );


This substitution reduced our equation to canonical form for the Weierstrass P function [ E. T. Whittaker, G. N. Watson, A course of modern analysis, Cambridge (1927) ]:

> g2 = simplify(coeff(%, y(theta)));
g3 = -simplify(coeff(%%, y(theta), 0));
diff( y(theta), theta)^2 = 4*y(theta)^3 - g2*y(theta) - g3;

g2 = -1/6*2^(1/3)*(1/M)^(1/3)*(H^2-12*M^2)/(M*H^2)

g3 = -1/54*(-H^2+54*beta*M^2*H^2+18*M^2)/(M^2*H^2)

diff(y(theta),theta)^2 = 4*y(theta)^3-g2*y(theta)-g...

that results in:

> y(theta) = WeierstrassP(theta, g2, g3);

y(theta) = WeierstrassP(theta,g2,g3)

In the general case, the potential in the form of three-order polynomial produces the solution in the form of Jacobi sn-function :

> Orbit := proc(f, x)
print(`Equation in the form: u'(theta)^2 = a[0]*u^3+a[1]*u^2+a[2]*u+a[3]`):
if(% = 3) then
a[0] := coeff(f, x^3):# coefficients of polynomial
a[1] := coeff(f, x^2):
a[2] := coeff(f, x):
a[3] := coeff(f, x, 0):
sol := solve(f = 0, x):
print(`Roots of polynomial u[1] < u[2] < u[3]:`):
print(sol[1], sol[2], sol[3]):
solution := u[1] + (u[2]-u[1])*JacobiSN(theta*sqrt( 2*M*(u[3]-u[1]) )/2 + delta,sqrt((u[2]-u[1])/(u[3]-u[1])))^2:
print(`Result through Jacobi sn - function`):
print(u(theta) = solution):
print(`The polynomial degree is not 3`)

Warning, `a` is implicitly declared local to procedure `Orbit`

Warning, `sol` is implicitly declared local to procedure `Orbit`

Warning, `solution` is implicitly declared local to procedure `Orbit`

> Orbit(subs(u(theta)=x,f),x);

`Equation in the form: u'(theta)^2 = a[0]*u^3+a[1]*...

`Roots of polynomial u[1] < u[2] < u[3]:`


`Result through Jacobi sn - function`

u(theta) = u[1]+(u[2]-u[1])*JacobiSN(1/2*theta*sqrt...

As u[1] = 1/r[1] and u[2] = 1/r[2] are the small values for the planets ( r[1] and r[2] are the perihelion and aphelion points) and u[1] + u[2] + u[3] = 1/(2*M) , we have 2 M u[3] =1 and

> u(theta) - u[1] = (u[2] - u[1])*JacobiSN(1/2*theta+delta,0)^2;

u(theta)-u[1] = (u[2]-u[1])*sin(1/2*theta+delta)^2

that is the equation of orbital motion (see above) with e = (u[2]-u[1])/(u[2]+u[1]) . u[1] > 0 corresponds to the elliptical motion, u[1] < 0 corresponds to hyperbolical motion. The period of the orbital motion in the general case:

> (u[2]-u[1])/(u[3]-u[1]):
kernel := 2/sqrt((1-t^2)*(1-t^2*%)):#2 in the numerator corresponds to sn^2-period
int(kernel, t=0..1);


and can be found approximately for small u[1] and u[2] as result of expansion:

> series(2*EllipticK(x), x=0,4):
subs(x = sqrt( 2*M*(u[2]-u[1]) ), %);


From the expression for u ( theta ) and obtained expression for the period of sn^2 we have the change of angular coordinate over period:

> %/(1/2*sqrt( 2*M*(u[3]-u[1]) )):


But sqrt(2*M*(u[3]-u[1])) = sqrt(1-2*M*(u[1]-u[2]-u[1])) ~ 1 + M*(2*u[1]+u[2]) . And the result is

> 2*Pi*(1 + M*(u[2]-u[1])/2)*(1 + M*(2*u[1]+u[2])):
series(%, u[1]=0,2):
series(%, u[2]=0,2):


The deviation of the period from 2 Pi causes the shift of the perihelion over one rotation of the planet around massive star.

> simplify(%-2*Pi):
subs({u[1]=1/r[1], u[2]=1/r[2]}, %):
subs({r[1]=a*(1+e), r[2]=a*(1-e)},G*%/c^2):# we returned the constants G and c


This result coincides with the expression, which was obtained on the basis of approximate solution of basic_equation. From the Kepler's low we can express this result through orbital period:

> subs(M=4*Pi^2*a^3/T^2, %):# T is the orbital period



So, we found the expression for the Schwarzschild metric from the equivalence principle without introducing of the Einstein's equations. On this basis and from Euler-Lagrange equations we obtained the main experimental consequences of GR-theory: the light ray deflection and planet's perihelion motion.

Relativistic stars and black holes


The most wonderful prediction of GR-theory is the existence of black holes, which are the objects with extremely strong gravitational field. The investigation of these objects is the test of our understanding of space-time structure. We will base our consideration on the analytical approach that demands to consider only symmetrical space-times. But this restriction does not decrease the significance of the obtained data because of the rich structure of analytical results and possibilities of clear interpretation clarify the physical basis of the phenomenon in the strongly curved space-time. The basic principles can be found in C. W. Misner, K. S. Thorne, J. A. Wheeler, Gravitation, San Francisco, 1973 , V. Frolov, I. Novikov, Physics of Black Holes, Kluwer, Dordrecht, 1998 .

Geometric units

The very useful normalization in GR utilizes the so-called geometric units. Since the left-hand side of the Einstein equations describes the curvature tensor (its dimension is cm^(-2) ), the right-hand side is to have same dimension. Let's the gravitational constant is G = 6.673*10^(-8) cm^3/(g*s^2) = 1 and the light velocity is c = 2.998*10^10 cm/s = 1,


G / c^2 = .7425*10^(-28) cm/g = 1

c^5 / G = 3.63*10^59 erg/s = 1 (power unit)

G / c = 2.23*10^(-18) Hz* cm^2 / g = 1 (characteristic of absorption)

c^2 / sqrt(G) = 3.48*10^24 CGSE units (field strength)

h /2 Pi = 1.054*10^(-27) g* cm^2 /s = 2.612*10^(-66) cm^2

elementary charge e = 1.381*10^(-34) cm

1 ps = 3.0856*10^18 cm

1 eV = 1.324*10^(-61) cm

There are the following extremal values of length, time, mass and density (the so-called Planck units), which are useful in the context of the consideration of GR validity:

sqrt(G*h/(2*Pi*c^3)) = 1.616*10^(-33) cm (Planck length)

sqrt(G*h/(2*Pi*c^5)) = 5.391*10^(-44) s (Planck time)

sqrt(h*c/(2*Pi*G)) = 2.177*10^(-5) g (Planck mass)

2*Pi*c^5/(h*G^2) = 5.157*10^93 g / cm^3 (Planck density)

Relativistic star

As stated above the first realistic metric was introduced by Schwarzschild for description of the spherically symmetric and static curved space. Let us introduce the spherically symmetric metric in the following form:

> restart:

coord := [t, r, theta, phi]:# spherical coordinates, which will be designated in text as [0,1,2,3]
g_compts := array(symmetric,sparse,1..4,1..4):# metric components
g_compts[1,1] := -exp(2*Phi(r)):# component of interval attached to d(t)^2
g_compts[2,2] := exp(2*Lambda(r)):# component of interval attached to d(r)^2
g_compts[3,3] := r^2:# component of interval attached to d(theta)^2
g_compts[4,4] := r^2*sin(theta)^2:# component of interval attached to d(phi)^2

g := create([-1,-1], eval(g_compts));# covariant metric tensor

ginv := invert( g, 'detg' );# contravariant metric tensor

Warning, the name changecoords has been redefined

Warning, the protected names norm and trace have been redefined and unprotected

g := TABLE([index_char = [-1, -1], compts = matrix(...

ginv := TABLE([index_char = [1, 1], compts = matrix...

Now we can use the standard Maple procedure for Einstein tensor definition

> # intermediate values
D1g := d1metric( g, coord ):
D2g := d2metric( D1g, coord ):
Cf1 := Christoffel1 ( D1g ):
RMN := Riemann( ginv, D2g, Cf1 ):
RICCI := Ricci( ginv, RMN ):
RS := Ricciscalar( ginv, RICCI ):

> Estn := Einstein( g, RICCI, RS ):# Einstein tensor
displayGR(Einstein,Estn);# Its nonzero components

`The Einstein Tensor`

`non-zero components :`

` G11` = -exp(2*Phi(r))*(2*diff(Lambda(r),r)*r+exp(...

` G22` = -(2*diff(Phi(r),r)*r-exp(2*Lambda(r))+1)/(...

` G33` = -r*(diff(Phi(r),r)-diff(Lambda(r),r)+r*dif...

` G44` = -sin(theta)^2*r*(diff(Phi(r),r)-diff(Lambd...

`character : [-1, -1]`

In the beginning we will consider the star in the form of drop of liquid. In this case the energy-momentum tensor is T[mu,nu] = ( p+rho ) u[mu] u[nu] + p g[mu,nu] (all components of u except for u[0] are equal to zero, and - 1 = g^(0, 0) u[0] u[0] ; the signature (-2) results in u[alpha]*u^alpha =1 and T[mu,nu] = ( p+rho ) u[mu] u[nu] - p g[mu,nu] ):

> T_compts := array(symmetric,sparse,1..4,1..4):# energy-momentum tensor for drop of liquid
T_compts[1,1] := exp(2*Phi(r))*rho(r):
T_compts[2,2] := exp(2*Lambda(r))*p(r):
T_compts[3,3] := p(r)*r^2:
T_compts[4,4] := p(r)*r^2*sin(theta)^2:
T := create([-1,-1], eval(T_compts));

T := TABLE([index_char = [-1, -1], compts = matrix(...

To write the Einstein equations (sign corresponds to W.Pauli, Theory of relativity, Pergamon Press (1958) )

G[mu,nu] = -8 Pi T[mu,nu]

let's extract the tensor components:

> Energy_momentum := get_compts(T);
Einstein := get_compts(Estn);

Energy_momentum := matrix([[exp(2*Phi(r))*rho(r), 0...

Einstein := matrix([[-exp(2*Phi(r))*(2*diff(Lambda(...

First Einstein equation for (0,0) - component is:

> 8*Pi*Energy_momentum[1,1] + Einstein[1,1]:
eq1 := simplify(%) = 0;#first Einstein equation

eq1 := (8*Pi*rho(r)*r^2-2*exp(-2*Lambda(r))*diff(La...

This equation can be rewritten as:

> eq1 := -8*Pi*rho(r)*r^2+Diff(r*(1-exp(-2*Lambda(r))),r) = 0;

eq1 := -8*Pi*rho(r)*r^2+Diff(r*(1-exp(-2*Lambda(r))...

The formal substitution results in:

> eq1_n := subs(\
r*(1-exp(-2*Lambda(r))) = 2*m(r),\
lhs(eq1)) = 0;

eq1_n := -8*Pi*rho(r)*r^2+Diff(2*m(r),r) = 0

> dsolve(eq1_n,m(r));

m(r) = Int(4*Pi*rho(r)*r^2,r)+_C1

So, m(r) is the mass inside sphere with radius r . To estimate _C1 we have to express Lambda from m :

> r*(1-exp(-2*Lambda(r))) = 2*m(r):
expand(solve(%, exp(-2*Lambda(r)) ));


Hence (see expression for g[mu,nu] through Lambda ) the Lorenzian metric in the absence of matter is possible only if _C1=0 .

Second Einstein equation for (1,1)-component is:

> eq2 := simplify( 8*Pi*Energy_momentum[2,2] + Einstein[2,2] ) = 0;#second Einstein equation

eq2 := (8*Pi*exp(2*Lambda(r))*p(r)*r^2-2*diff(Phi(r...

> eq2_2 := numer(\
subs(exp(2*Lambda(r)) = 1/(1-2*m(r)/r),eq2)))) = 0;

eq2_2 := -8*Pi*r^3*p(r)+2*diff(Phi(r),r)*r^2-4*diff...

As result we have:

> eq2_3 := Diff(Phi(r),r) = solve(eq2_2, diff(Phi(r),r) );

eq2_3 := Diff(Phi(r),r) = -(4*Pi*r^3*p(r)+m(r))/(r*...

We can see, that the gradient of the gravitational potential Phi is greater than in the Newtonian case diff(Phi,r) = m/(r^2) , that is the pressure in GR is the source of gravitation.

For further analysis we have to define the relativist equation of hydrodynamics (relativist Euler's equation):

> compts := array([u_t,u_r,u_th,u_ph]):
u := create([1], compts):# 4-velocity
Cf2 := Christoffel2 ( ginv, Cf1 ):
(rho(r)+p(r))*get_compts(cov_diff( u, coord, Cf2 ))[1,2]/(u_t) = -diff(p(r),r);# radial component of Euler equation, u_r=u_th=u_ph=0
eq3 := Diff(Phi(r),r) = solve(%, diff(Phi(r),r) );

(rho(r)+p(r))*diff(Phi(r),r) = -diff(p(r),r)

eq3 := Diff(Phi(r),r) = -diff(p(r),r)/(rho(r)+p(r))...

As result we obtain the so-called Oppenheimer-Volkoff equation for hydrostatic equilibrium of star:

> Diff(p(r),r) = factor( solve(rhs(eq3) = rhs(eq2_3),diff(p(r),r)) );

Diff(p(r),r) = (4*Pi*r^3*p(r)+m(r))*(rho(r)+p(r))/(...

One can see that the pressure gradient is greater than in the classical limit ( diff(p,r) = - rho*m/(r^2) ) and this gradient is increased by pressure growth (numerator) and r decrease (denominator) due to approach to star center. So, one can conclude that in our model the gravitation is stronger than in Newtonian case.

Out of star m ( r ) =M , p= 0 ( M is the full mass of star). Then

> diff(Phi(r),r) = subs({m(r)=M,p(r)=0},rhs(eq2_3));
eq4 := dsolve(%, Phi(r));

diff(Phi(r),r) = -M/(r*(-r+2*M))

eq4 := Phi(r) = -1/2*ln(r)+1/2*ln(r-2*M)+_C1

The boundary condition

> 0 = limit(rhs(eq4),r=infinity);

0 = _C1

results in

> subs(_C1=0,eq4);

Phi(r) = -1/2*ln(r)+1/2*ln(r-2*M)

So, Schwarzschild metric out of star is:

> g_matrix := get_compts(g);

g_matrix := matrix([[-exp(2*Phi(r)), 0, 0, 0], [0, ...

> coord := [t, r, theta, phi]:
sch_compts := array(symmetric,sparse,1..4,1..4):# metric components
sch_compts[1,1] := expand( subs(Phi(r)=-1/2*ln(r)+1/2*ln(r-2*M),g_matrix[1,1]) ):# coefficient of d(t)^2 in interval
sch_compts[2,2] := expand( subs(Lambda(r)=-ln(1-2*M/r)/2,g_matrix[2,2]) ):# coefficient of d(r)^2 in interval
sch_compts[3,3]:=g_matrix[3,3]:# coefficient of d(theta)^2 in interval
sch_compts[4,4]:=g_matrix[4,4]:# coefficient of d(phi)^2 in interval
sch := create([-1,-1], eval(sch_compts));# Schwarzschild metric

sch := TABLE([index_char = [-1, -1], compts = matri...

Now we consider the star, which is composed of an incompressible substance rho = rho 0 = const (later we will use also the following approximation: p =( gamma -1) rho , where gamma =1 (dust), 4/3 (noncoherent radiation), 2 (hard matter) ).

Then the mass is

> m(r) = int(4*Pi*rho0*r^2,r);
M = subs(r=R,rhs(%));# full mass

m(r) = 4/3*Pi*rho0*r^3

M = 4/3*Pi*rho0*R^3

and the pressure is

> diff(p(r),r) = subs( {rho(r)=rho0,m(r)=4/3*Pi*rho0*r^3},\
-(4*Pi*r^3*p(r)+m(r))*(rho(r)+p(r))/(r*(r-2*m(r))) );# Oppenheimer-Volkoff equation
eq5 := dsolve(%,p(r));

diff(p(r),r) = -(4*Pi*r^3*p(r)+4/3*Pi*rho0*r^3)*(rh...

eq5 := p(r) = rho0*((-6*exp(-16*_C1*Pi*rho0)+2*sqrt...
eq5 := p(r) = rho0*((-6*exp(-16*_C1*Pi*rho0)+2*sqrt...

> solve(\
exp(-16*_C1*Pi*rho0));#boundary condition
exp(-16*_C1*Pi*rho0));#boundary condition



> sol1 := simplify(subs(exp(-16*_C1*Pi*rho0) = -3+8*Pi*rho0*R^2,rhs(eq5[1])));
sol2 := simplify(subs(exp(-16*_C1*Pi*rho0) = -3+8*Pi*rho0*R^2,rhs(eq5[2])));

sol1 := -1/4*rho0*(-3+12*Pi*rho0*R^2+sqrt(9-24*Pi*r...

sol2 := -1/4*rho0*(-3+12*Pi*rho0*R^2-sqrt(9-24*Pi*r...

In the center of star we have

> simplify(subs(r=0,sol1));



The pressure is infinity when the radius is equal to

> R_crit1 = simplify(solve(expand(denom(%)/12)=0,R)[1],radical,symbolic);
R_crit2 = simplify(solve(expand(denom(%%)/12)=0,R)[2],radical,symbolic);

R_crit1 = 1/3*sqrt(3)*sqrt(Pi*rho0)/(Pi*rho0)

R_crit2 = -1/3*sqrt(3)*sqrt(Pi*rho0)/(Pi*rho0)

> plot3d({subs(R=1,sol1),subs(R=1,sol2)},r=0..1,rho0=0..0.1,axes=boxed,title=`pressure`);#only positive solution has a physical sense

[Maple Plot]

To imagine the space-time geometry it is necessary to consider an equator section of the star ( theta = Pi /2) at fixed time moment in 3-dimensional flat space. The corresponding procedure is named as " embedding ". From the metric tensor, the 2-dimensional line element is ds^2 = dr^2/(1-2*m/r) + r^2 dphi^2 and for Euclidean 3-space we have ds^2 = dz^2 + dr^2 + r^2 dphi^2 . We will investigate the 2-surface z=z ( r ). As dz= dz/dr dr, one can obtain Euclidian line element: ds^2 = [1+ (dz/dr)^2 ] dr^2 + r^2 dphi^2

> subs(theta=Pi/2,get_compts(sch));#Schwarzschild metric
dr^2*%[2,2] + dphi^2*%[3,3] = (1+diff(z(r),r)^2)*dr^2 +r^2*dphi^2;#equality of intervals of flat and embedded spaces
diff(z(r),r) = solve(%,diff(z(r),r))[1];
dsolve(%,z(r));# embedding

matrix([[-1+2*M/r, 0, 0, 0], [0, 1/(1-2*M/r), 0, 0]...

dr^2/(1-2*M/r)+r^2*dphi^2 = (1+diff(z(r),r)^2)*dr^2...

diff(z(r),r) = sqrt(2)*sqrt((r-2*M)*M)/(r-2*M)

z(r) = 2*sqrt(2*M*r-4*M^2)+_C1

Now let's take the penultimate equation and to express M through rho[0] = const:

> rho_sol := solve(M = 4/3*Pi*rho0*R^3,rho0);# density from full mass
fun1 := Int(1/sqrt(r/((4/3)*Pi*rho0*r^3)-1),r);# inside space
fun2 := Int(1/sqrt(r/((4/3)*Pi*rho0)-1),r);# outside space

rho_sol := 3/4*M/(Pi*R^3)

fun1 := Int(2*1/(sqrt(3*1/(r^2*Pi*rho0)-4)),r)

fun2 := Int(2*1/(sqrt(3*r/(Pi*rho0)-4)),r)

> fun3 := value(subs(rho0=rho_sol,fun1));# inside
fun4 := value(subs(rho0=rho_sol,fun2));# outside

fun3 := (-R^3+r^2*M)/(sqrt(-(-R^3+r^2*M)/(r^2*M))*r...

fun4 := sqrt(4*r*R^3/M-4)*M/(R^3)

The resulting embedding for equatorial and vertical sections is presented below (Newtonian case corresponds to horizontal surface, that is the asymptote for r -- > infinity ). The outside space lies out of outside ring representing star border.

> fig1 := plot3d(subs(M=1,subs(R=2.66*M,subs(r=sqrt(x^2+y^2),fun3))),x=-5..5,y=-5..5,grid=[100,100],style=PATCHCONTOUR):# the inside of star [r in units of M]

fig2 := plot3d(subs(M=1,subs(R=2.66*M,subs(r=sqrt(x^2+y^2),fun4))),x=-5..5,y=-5..5,style=PATCHCONTOUR):# the outside of star


[Maple Plot]

We can see, that the change of radial coordinate dr versus the variation of interval dl= dr/sqrt(1-2*M/r) ( dl is the length of segment of curve on the depicted surface) in vicinity of the star is smaller in compare with Newtonian case (plane z =0, where dr=dl ). The star "rolls" the space so that an observer moves away from the star, but the radial coordinate increases slowly. But what is a hole in the vicinity of the center of surface, which illustrates the outside space? What happens if the star radius becomes equal or less than the radius of this hole R= 2 M ? Such unique object is the so-called black hole (see below).

But before consideration of the main features of black hole let us consider the motion of probe particle in space with Schwarzschild metric. We will base our consideration on the relativistic low of motion: g^(alpha, beta) p[alpha] p[beta] + mu^2 = 0 ( p is 4-momentum, mu is the rest mass). Then (if p =[ -E, diff(r,lambda), 0, L ], where L corresponds to angle momentum, lambda is the affine parameter, second term describes the radial velocity):

> -E^2/(1-2*M/r(tau)) + diff(r(tau),tau)^2/(1-2*M/r(tau)) + L^2/r(tau)^2+1 = 0;# tau=lambda*mu, E=E/mu, L=L/mu
eq6 := diff(r(tau),tau)^2 = expand(solve(%,diff(r(tau),tau)^2));# integral of motion
V := sqrt(-factor(op(2,rhs(eq6)) + op(3,rhs(eq6)) + op(4,rhs(eq6)) + op(5,rhs(eq6))));# effective potential


eq6 := diff(r(tau),tau)^2 = E^2+2*M/r(tau)-L^2/(r(t...

V := sqrt((r(tau)^2+L^2)*(r(tau)-2*M)/(r(tau)^3))

The effective potential determining the orbital motion is (we vary the angular momentum L and r ):

> subs({M=1,r(tau)=x,L=y},V):
plot({subs(y=3,%),subs(y=4,%),subs(y=6,%),1},x=0..30,axes=boxed,color=[red,green,blue,brown],title=`potentials`,view=0.6..1.4);#level E=1 corresponds to particle, which was initially motionless

[Maple Plot]

We considered the motion in the relativistic potential in the first part, but only in the framework of linear approximation (weak field). As result of such motion the perihelion rotation and light ray deflection appear. But now, in the more general case, one can see a very interesting feature of the relativistic orbital motion: unlike Newtonian case there is the maximum V[max] with the following potential decrease as result of radial coordinate decrease. If V[max] > E > 1 the motion is infinite (it is analogue of the hyperbolical motion in Newtonian case). V[max] > E =1 corresponds to parabolic motion. When E lies in the potential hole or E = V , we have the finite motion. The motion with energy, which is equal to extremal values of potential, corresponds to circle orbits (the stable motion for potential minimum, unstable one for the maximum). The existence of the extremes is defined by expressions:

> numer( simplify( diff( subs(r(tau)=r,V), r) ) ) = 0:# zeros of potential's derivative

1/2*(L+sqrt(L^2-12*M^2))*L/M, 1/2*(L-sqrt(L^2-12*M^...

As consequence, the circle motion is possible if L > 2 M sqrt(3) , when r > 3(2 M ). The minimal distance, which allows the circular unstable motion, is defined by

> limit(1/2*(L-sqrt(L^2-12*M^2))*L/M, L=infinity);


Lack of extremes (red curve) or transition to r < 3 M results in the falling motion (the similar case is E > V[max] ). This is the so-called gravitational capture and has no analogy in Newtonian mechanics of point-like masses. The finite orbital motion in the case of the right local minimum existence (blue curve) is the analog of one in the Newtonian case, but has no elliptical character (see first part).

As the particular case, let's consider the radial ( L =0) fall of particle. The proper time of falling particle is defined by next expression

> tau = Int( 1/sqrt(subs({L=0,r(tau)=r},rhs(eq6))),r);
tau = Int(1/(sqrt(2*M/r-2*M/R)),r);#R=2*M/(1-E^2) - apoastr, i.e. radius of zero velocity
limit( value( rhs(%) ),r=2*M ):
simplify(%);#So, this is convergent integral for r-->2*M

tau = Int(1/(sqrt(E^2+2*M/r-1)),r)

tau = Int(1/(sqrt(2*M/r-2*M/R)),r)


For the remote exterior observer we have diff(r,tau) = diff(r,t) diff(t,tau) = diff(r,t) E/(1-2*M/r) = E diff(r[o],t)

(here r[0] is the time coordinate relatively infinitely remote observer):

> r[o] := Int(1/(1-2*M/r),r) = int(1/(1-2*M/r),r);
limit( value( rhs(%) ),r=2*M );#this is divergent integral for r-->2*M

r[o] := Int(1/(1-2*M/r),r) = r+2*M*ln(r-2*M)


These equations will be utilized below.

Degeneracy stars and gravitational collapse

The previously obtained expressions for the time of radial fall have an interesting peculiarity if the radius of star is less or equal to 2 M ( 2*G*M/(c^2) in dimensional case, that is the so-called " gravitational radius " R[g] ). The finite proper time tau of fall corresponds to the infinite "remote" time r[o] , when r -- >2 M. This means, that for the remote observer the fall does not finish never. It results from the relativist time's slowing-down. The consequence of this phenomena is the infinite red shift of "falling" photons because of the red shift in Schwarzschild metric is defined by the next frequencies relation: omega[1]/omega[2] = Delta*tau[2]/(Delta*tau[1]) = sqrt(g[0,0](r[2])/g[0,0](r[1])) = sqrt(1-2*M/r[2])/sqrt(1-2*M/r[1]) (here Delta tau are the proper time intervals between light flash in different radial points). Simultaneously, the escape velocity is equal to sqrt(2*G*M/R) that is the velocity of light for sphere with R = R[g] . So, we cannot receive any information from interior of black hole.

How can appear the object with the radius, which is less than R[g] ? In the beginning we consider the pressure free radial (i.e. angular part of metric is equal to 0) collapse of dust sphere with mass M .

> r := 'r':
E := 'E':
subs( r=r(t),get_compts(sch) ):
d(s)^2 = %[1,1]*d(t)^2 + %[2,2]*d(r)^2;#Schwarzschild metric
-d(tau)^2 = collect(subs( d(r)=diff(r(t),t)*d(t),rhs(%) ),d(t));#tau is the proper time for the observer on the surface of sphere
subs({d(t)=E/(1-2*M/r(t)),d(tau)=1},%);#we used d(t)/d(tau) = E/(1-2*M/r)
pot_1 := factor( solve(%,(diff(r(t),t))^2) );#"potential"

d(s)^2 = (-1+2*M/r(t))*d(t)^2+d(r)^2/(1-2*M/r(t))

-d(tau)^2 = (-1+2*M/r(t)+diff(r(t),t)^2/(1-2*M/r(t)...

-1 = (-1+2*M/r(t)+diff(r(t),t)^2/(1-2*M/r(t)))*d(t)...

-1 = (-1+2*M/r(t)+diff(r(t),t)^2/(1-2*M/r(t)))*E^2/...

pot_1 := (r(t)-2*M)^2*(-r(t)+E^2*r(t)+2*M)/(E^2*r(t...

> plot({subs({E=0.5,M=1,r(t)=r},pot_1),0*r},r=1.7..3,axes=boxed,title=`(dr/dt)^2 vs r`);

[Maple Plot]

The collapse is the motion from the right point of zero velocity diff(r,t) (this is the velocity for remote observer) to the left point of zero velocity. These points are

> solve(subs(r(t)=r,pot_1)=0,r);

2*M, 2*M, -2*M/(-1+E^2)

that are the apoastr (see above) and the gravitational radius. Hence (from the value for apoastr and pot_1 ) diff(r,t)^2 = (1-2*M/r)^2*(2*M/r-1+E^2)/(E^2) = (1-2*M/r)^2*(2*M/r-2*M/R)/(1-2*M/R) = (1-R[g]/r)^2*(1-(1-R[g]/r)/(1-R[g]/R)) .

The slowing-down of the collapse for remote observer in vicinity of R[g] results from the time slowing-down (see above). But the collapsing observer has the proper velocity diff(r,tau) :

> pot_2 := simplify(pot_1*(E/(1-2*M/r(t)))^2);# d/d(t)=(d/d(tau))*(1-2*M/r)/E

pot_2 := (-r(t)+E^2*r(t)+2*M)/r(t)

> plot({subs({E=0.5,M=1,r(t)=r},pot_2),0*r},r=1.7..3,axes=boxed,title=`(dr/dtau)^2 vs r`);

[Maple Plot]

As result, the collapsing surface crosses the gravitational radius at finite time moment and limit(diff(r,t),r = R[g]) =1 (that is the velocity of light), when E = 1 ( R = infinity ). Time of collapse for falling observer is

> Int(1/sqrt(R/r-1),r)/sqrt(1-E^2);#from pot_2, R is apoastr
simplify( value(%), radical, symbolic);



It is obvious, that the obtained integral is 1/sqrt(1-E^2) int(1/sqrt(R/r-1),r = r .. R) = pi*R/sqrt(1-E^2) = Pi*M/((1-E^2)^(3/2)) .

It is natural, that the real stars are not clouds of dust and the equilibrium is supported by nuclear reactions. But when the nuclear reactions in the star finish, the "fall" of the star's surface can be prevented only by pressure of electron or baryons. The equilibrium state corresponds to the minimum of the net-energy composed of gravitational energy (-G*M^2)/R and thermal kinetic energy of composition. Let consider the hydrogen ball. When the temperature tends to zero, the kinetic energy of electrons is not equal to zero due to quantum degeneracy. In this case one electron occupies the cell with volume ~ lambda^3 , where lambda = h/(2*pi*p[e]) is the Compton wavelength ( p[e] is the electron's momentum). For non-relativistic electron:

> E[e] := p[e]^2/m[e];#kinetic energy of electron
E[k] := simplify( n[e]*R^3*subs( p[e]=h*n[e]^(1/3)/(2*pi),E[e] ) );# full kinetic energy, n[e] is the number density of electrons
E[k] := subs( n[e]=M/R^3/m[p],%);# m[p] is the mass of proton. We supposed m[e]<<m[p] and n[p]=n[e]
E[g] := -G*M^2/R:# gravitational energy
E := E[g] + E[k];# full energy

E[e] := p[e]^2/m[e]

E[k] := 1/4*n[e]^(5/3)*R^3*h^2/(pi^2*m[e])

E[k] := 1/4*(M/(R^3*m[p]))^(5/3)*R^3*h^2/(pi^2*m[e]...

E := -G*M^2/R+1/4*(M/(R^3*m[p]))^(5/3)*R^3*h^2/(pi^...

> pot := -1/R+1/R^2:# the dependence of energy on R
plot(pot,R=0.5..10, title=`energy of degenerated star`);

[Maple Plot]

One can see that the dependence of energy on radius has the minimum and, as consequence, there is the equilibrium state.

> solve( diff(E, R) = 0, R);# minimum of energy corresponding to equilibrium state

1/2*(M^2*m[p])^(1/3)*h^2/(M*m[p]^2*pi^2*m[e]*G), 1/...

So, we have the equilibrium state with R[min] ~ h^2/(G*M^(1/3)*m[e]*m[p]^(5/3)) and the star, which exists in such equilibrium state as result of the termination of nuclear reactions with the following radius decrease, is the white dwarf . The value of number density in this state is

> simplify( subs( R[min]=h^2/(G*M^(1/3)*m[e]*m[p]^(5/3)),n[e]=M/R[min]^3/m[p]) );#equilibrium number density

n[e] = M^2*G^3*m[e]^3*m[p]^4/(h^6)

So, the mass's increase decreases the equilibrium radius (unlike model of liquid drop, see above) and to increase the number density (the maximal density of solids or liquid defined by atomic packing is ~20 g/ cm^3 , for white dwarf this value is ~ 10^7 g/ cm^3 !). But, in compliance with principle of uncertainty, the last causes the electron momentum increase ( p[e]*n[e]^(-1/3) ~ h ). Our nonrelativistic approximation implies p[e] << m[e]*c or

> simplify( rhs(%)^(1/3)*h ) - c*m[e];#this must be large negative value


sqrt(G*c*h)*h*c/(G^2*m[p]^2), -sqrt(G*c*h)*h*c/(G^2...

The last result gives the nonrelativistic criterion M << (h*c)^(3/2)/(m[p]^2*G^(3/2)) . Therefore in the massive white dwarf the electrons have to be the relativistic particles:

> E[e] := h*c*n[e]^(1/3);#E=p*c for relativistic particle
E[k] := simplify( n[e]*R^3*E[e] );
E[k] := subs( n[e]=M/R^3/m[p],%);
E[g] := -G*M^2/R:
E := E[g] + E[k];#this is dependence -a/R+b/R
#equilibrium state:
simplify( diff(E, R), radical ):
numer(%);#there is not dependence on R therefore there is not stable configuration with energy minimum
solve( %=0, M );

E[e] := h*c*n[e]^(1/3)

E[k] := n[e]^(4/3)*R^3*h*c

E[k] := (M/(R^3*m[p]))^(4/3)*R^3*h*c

E := -G*M^2/R+(M/(R^3*m[p]))^(4/3)*R^3*h*c


0, sqrt(G*c*h)*c*h/(G^2*m[p]^2), -sqrt(G*c*h)*c*h/(...

We obtained the estimation for so-called critical mass M[c] ~ (h*c)^(3/2)/(m[p]^2*G^(3/2)) =1.4 M[sun] (so-called Chandrasekhar limit for white dwarfs). The smaller masses produce the white dwarf with non-relativistic electrons but larger masses causes collapse of star, which can not be prevented by pressure of degeneracy electrons. Such collapse can form a neutron star for 1.4 M[sun] < M < 3 M[sun] . Collapse for larger masses has to result in the black hole formation.

Schwarzschild black hole

Now we return to Schwarzschild metric.

> get_compts(sch);

matrix([[-1+2*M/r, 0, 0, 0], [0, 1/(1-2*M/r), 0, 0]...

One can see two singularities: r =2 M and r =0. What is a sense of first singularity? When we cross the horizon, sh[1,1] and sh[2,2] (i.e. g[0,0] and g[1,1] ) change signs. The space and time exchange the roles! The fall gets inevitable as the time flowing. As consequence, when particle or signal cross the gravitational radius, they cannot escape the falling on r =0. This fact can be illustrated by infinite value of acceleration on r= 2 M , which is - (Gamma^alpha)[0,0]/g[0,0] ( Gamma are the Christoffel symbols):

> D1sch := d1metric( sch, coord ):
Cf1 := Christoffel1 ( D1sch ):

`The Christoffel Symbols of the First Kind`

`non-zero components :`

` [11,2]` = M/(r^2)

` [12,1]` = -M/(r^2)

` [22,2]` = -M/((r-2*M)^2)

` [23,3]` = r

` [24,4]` = r*sin(theta)^2

` [33,2]` = -r

` [34,4]` = r^2*sin(theta)*cos(theta)

` [44,2]` = -r*sin(theta)^2

` [44,3]` = -r^2*sin(theta)*cos(theta)

> -get_compts(Cf1)[1,1,2]/get_compts(sch)[1,1];#radial component of acceleration


Such particles and signals will be expelled from the cause-effect chain of universe. Therefore an imaginary surface r = R[g] is named " event horizon ".

The absence of true physical singularity for r = R[g] can be illustrated in the following way. The invariant of Riemann tensor R[alpha,beta,gamma,delta]*R^(alpha, beta, gamma, de... is

> schinv := invert( sch, 'detg' ):
D2sch := d2metric( D1sch, coord ):
Cf1 := Christoffel1 ( D1sch ):
RMN := Riemann( schinv, D2sch, Cf1 ):
raise(schinv,RMN,1):#raise of indexes in Riemann tensor
RMNinv := raise(schinv,%,4):

TABLE([index_char = [], compts = 48*M^2/(r^6)])

and has no singularity on horizon. This is only coordinate singularity and its sense is the lack of rigid coordinates inside horizon. True physical singularity is r =0 and has the character of the so-called space-like singularity (the inavitable singularity for the observer crossing horizon).

Now try to embed the instant equator section of curved space into flat space (see above):

> z(r)[1] = int(sqrt(2*r*M-4*M^2)/(-r+2*M),r);
z(r)[2] = int(-sqrt(2*r*M-4*M^2)/(-r+2*M),r);

z(r)[1] = -2*sqrt(2*M*r-4*M^2)

z(r)[2] = 2*sqrt(2*M*r-4*M^2)

> plot3d({subs({M=1,r=sqrt(x^2+y^2)},rhs(%%)),subs({M=1,r=sqrt(x^2+y^2)},rhs(%))},x=-10..10,y=-10..10,axes=boxed,style=PATCHCONTOUR,grid=[100,100],title=`Schwarzschild black hole`);

[Maple Plot]

This is the black hole, which looks as a neck of battle (Einstein-Rosen bridge): the inside way to horizon and the outside way to horizon are the ways between different but identically asymptotically flat universes ("wormhole" through 2-dimensional sphere with minimal radius 2 M ). But since the static geometry is not valid upon horizon (note, that here t-->t+dt is not time translation), this scheme is not stable.

Let's try to exclude the above-mentioned coordinate singularity on the horizon by means of coordinate change. For example, we consider the null geodesics ( ds^2 =0) in Schwarzschild space-time corresponding to radial motion of photons: dt^2 = dr^2/((1-R[g]/r)^2) . Hence (see above considered expression for r[0] ):

> t = combine( int(-1/(1-R[g]/r),r) );

t = -r-R[g]*ln(r-R[g])

Then if v is the constant, which defines the radial coordinate for fixed t , we have

> t = -r - R[g]*ln( abs(-r/R[g]+1) ) + v;#module allows to extend the expression for r<R[g]

t = -r-R[g]*ln(abs(r/R[g]-1))+v

Differentiation of this equation with subsequent substitution of dt^2 in expression for interval in Schwarzschild metric produce

> defform(f=0,w1=1,w2=1,w3=1,v=1,R[g]=0,r=0,v=0);
d(t)^2 = expand( subs( d(R[g])=0,d( -r-R[g]*ln( r/R[g]-1 )+v ) )^2 );# differentials in new coordinates
subs( d(t)^2=rhs(%),sch_compts[1,1]*d(t)^2 ) + sch_compts[2,2]*d(r)^2 + sch_compts[3,3]*d(theta)^2 + sch_compts[4,4]*d(phi)^2:
collect( simplify( subs(R[g]=2*M,%) ),{d(r)^2,d(v)^2});#new metric

d(t)^2 = r^2*d(r)^2/((r-R[g])^2)-2*r*d(r)*d(v)/(r-R...


So, we have a new linear element (in the so-called Eddington-Finkelstein coordinates ) ds^2 = - ( 1-R[g]/r ) dV^2 + 2 dvdr + r^2 d(Omega)^2 ( d(Omega) is the spherical part). The corresponding metric has the regular character in all region of r (except for r =0). It should be noted, that the regularization was made by transition to "light coordinate" v therefore such coordinates can not be realized physically, but formally we continued analytically the coordinates to all r >0. We can see, that for future directed (i.e. dv^2 >0) null ( ds^2 =0) or time like ( ds^2 <0) worldlines dr <0 for r < R[g] that corresponds to above-mentioned conclusion about inevitable fall on singularity.

In the conclusion, we consider the problem of the deviation from spherical symmetry for static black hole. Such deviation can be described by the characteristic of quadrupole momentum q . Erez and Rosen found the corresponding static metric with axial symmetry:

> coord := [t, lambda, mu, phi]:
er_compts := array(symmetric,sparse,1..4,1..4):# metric components
er_compts[1,1] := -exp(2*psi):# coefficient of d(t)^2 in interval
er_compts[2,2] := M^2*exp(2*gamma-2*psi)*(lambda^2-mu^2)/(lambda^2-1):# coefficient of d(lambda)^2 in interval
er_compts[3,3] := M^2*exp(2*gamma-2*psi)*(lambda^2-mu^2)/(1-mu^2):# coefficient of d(mu)^2 in interval
er_compts[4,4] := M^2*exp(-2*psi)*(lambda^2-1)*(1-mu^2):# coefficient of d(phi)^2 in interval
er := create([-1,-1], eval(er_compts));# axially symmetric metric

er := TABLE([index_char = [-1, -1], compts = matrix...
er := TABLE([index_char = [-1, -1], compts = matrix...
er := TABLE([index_char = [-1, -1], compts = matrix...


> f1 := psi = 1/2*( (1+q*(3*lambda^2-1)*(3*mu^2-1)/4)*ln((lambda-1)/(lambda+1))+3/2*q*lambda*(3*mu^2-1) );
f2 := gamma = 1/2*(1+q+q^2)*ln((lambda^2-1)/(lambda^2-mu^2))-3/2*q*(1-mu^2)*(lambda*ln((lambda-1)/(lambda+1))+2)+9/4*q^2*(1-mu^2)*( (lambda^2+mu^2-1-9*lambda^2*mu^2)*(lambda^2-1)/16*ln((lambda-1)/(lambda+1))^2+(lambda^2+7*mu^2-5/3-9*mu^2*lambda^2)*lambda*ln((lambda-1)/(lambda+1))/4+1/4*lambda^2*(1-9*mu^2)+(mu^2-1/3) );
f3 := lambda = r/M-1;
f4 := mu = cos(theta);

f1 := psi = 1/2*(1+1/4*q*(3*lambda^2-1)*(3*mu^2-1))...

f2 := gamma = 1/2*(1+q+q^2)*ln((lambda^2-1)/(lambda...
f2 := gamma = 1/2*(1+q+q^2)*ln((lambda^2-1)/(lambda...

f3 := lambda = r/M-1

f4 := mu = cos(theta)

In the case q =0 we have

> get_compts(er):

matrix([[-(r-2*M)/r, 0, 0, 0], [0, r*M^2/(r-2*M), 0...

That is the Schwarzschild metric with regard to f3 and f4 .

Now let's find the horizon in the general case of nonzero quadrupole momentum. For static field ( diff(g[alpha,beta],t) =0) the corresponding condition is g[0,0] =0. Then

> map2(subs,psi=rhs(f1),er):
er2 := map2(subs,gamma=rhs(f2),%):


That is r =2 M ( lambda =1). But the result for invariant of curvature is:

> erinv := invert( er2, 'detg' ):
D1er := d1metric( er2, coord ):
D2er := d2metric( D1er, coord ):
Cf1 := Christoffel1 ( D1er ):
RMN := Riemann( erinv, D2er, Cf1 ):
raise(erinv,RMN,1):#raise of indexes in Riemann tensor
RMNinv := raise(erinv,%,4):
series(%,q=0,2):#expansion on q
res := simplify(%):

In the spherical case the result corresponds to above obtained:

> factor( subs(q=0,res) ):#spherical symmetry
subs(lambda=1,%);# this is 48*M^2/r^6


There is no singularity. But for nonzero q (let's choose mu =0 for sake of simplification):

> subs(mu=0,res):
#L'Hospital's rule for calculation of limit



Hence, there is a true singularity on horizon that can be regarded as the demonstration of the impossibility of static axially symmetric black hole with nonzero quadrupole momentum. Such momentum will be "taken away" by the gravitational waves in the process of the black hole formation.

Reissner-Nordstrom black hole (charged black hole)

The generalization of Schwarzschild metric on the case of spherically symmetric vacuum solution of bounded Einstein-Maxwell equations results in

> coord := [t, r, theta, phi]:
rn_compts := array(symmetric,sparse,1..4,1..4):# metric components
rn_compts[1,1] := -(1-2*M/r+Q^2/r^2):# coefficient of d(t)^2 in interval
rn_compts[2,2] := 1/(1-2*M/r+Q^2/r^2):# coefficient of d(r)^2 in interval
rn_compts[3,3]:=g_matrix[3,3]:# coefficient of d(theta)^2 in interval
rn_compts[4,4]:=g_matrix[4,4]:# coefficient of d(phi)^2 in interval
rn := create([-1,-1], eval(rn_compts));# Reissner-Nordstrom (RN) metric

rn := TABLE([index_char = [-1, -1], compts = matrix...

Here Q is the electric charge. The metric has three singularities: r =0 and

> denom(get_compts(rn)[2,2]) = 0;
r_p := solve(%, r)[1];
r_n := solve(%%, r)[2];

r^2-2*M*r+Q^2 = 0

r_p := M+sqrt(M^2-Q^2)

r_n := M-sqrt(M^2-Q^2)

Let's calculate the invariant of curvature:

> rninv := invert( rn, 'detg' ):
D1rn := d1metric( rn, coord ):
D2rn := d2metric( D1rn, coord ):
Cf1 := Christoffel1 ( D1rn ):
RMN := Riemann( rninv, D2rn, Cf1 ):
raise(rninv,RMN,1):#raise of indexes in Riemann tensor
RMNinv := raise(rninv,%,4):

TABLE([index_char = [], compts = 8*(6*M^2*r^2-12*M*...

> solve(get_compts(%),r);#nonphysical roots for numerator with nonzero Q

(1+1/6*I*sqrt(6))*Q^2/M, (1-1/6*I*sqrt(6))*Q^2/M

That is the situation like to one in Schwarzschild metric and two last singularities have a coordinate character. Now let us plot the signs of two first terms in linear element (we plot inverse value for second term in order to escape the divergence due to coordinate singularities).

> plot({subs({M=1,Q=1/2},get_compts(rn)[1,1]),\
r=0.1..2, title=`signs of first and second terms of linear element`);

[Maple Plot]

One can see the radical difference from the Schwarzschild black hole. The space and time terms exchange the roles in region r_n < r < r_p (between so-called inner and outer horizons with g[0,0] =0). But there are the usual signs in the vicinity of physical singularity, i. e. it has a time-like character and the falling observer can avoid this singularity.

Next difference is the lack of coordinate singularities for M^2 < Q^2 . In this case we have the so-called naked singularity. One can demonstrate that there is no such singularity as result of usual collapse of charged shell with mass M and charge Q . The total energy (in Newtonian limit but with correction in framework of special relativity, M_0 is the rest mass) is

> en := M(r) = M_0 + Q^2/r - M(r)^2/r;#we use the geometric units of charge so that the Coulomb low is G*Q_1*Q_2/r^2
sol := solve(en,M(r));

en := M(r) = M_0+Q^2/r-M(r)^2/r

sol := -1/2*r+1/2*sqrt(r^2+4*M_0*r+4*Q^2), -1/2*r-1...

The choice of the solution is defined by the correct asymptotic limit(sol,r = infinity) = M_0 :

> if limit(sol[1],r=infinity)=M_0 then true_sol := sol[1] fi:
if limit(sol[2],r=infinity)=M_0 then true_sol := sol[2] fi:


> diff(true_sol,r):


So, diff(M(r),r) = (M(r)^2-Q^2)/(r*(r+2*M(r))) . The collapse is possible if M decreases with decreasing R (domination of gravity over the Coulomb interaction in the process of collapse) that is possible, when M^2 > Q^2 . It should be noted, that the limit

> limit(true_sol,r=0);


resolves the problem of the infinite proper energy of charged particle.

Now we will consider the pressure free collapse of charged sphere of dust by analogy with Schwarzschild metric.

> r := 'r':
E := 'E':
subs( r=r(t),get_compts(rn) ):
d(s)^2 = %[1,1]*d(t)^2 + %[2,2]*d(r)^2;#RN metric
-d(tau)^2 = collect(subs( d(r)=diff(r(t),t)*d(t),rhs(%) ),d(t));#tau is the proper time for the observer on the surface of sphere
subs({d(t)=E/(1-2*M/r(t)+Q^2/r^2),d(tau)=1},%);#we used d(t)/d(tau)=E/(1-2*M/r+Q^2/r^2)
pot_1 := factor( solve(%,(diff(r(t),t))^2) ):#"potential" for remote observer
pot_2 := simplify(pot_1*(E/(1-2*M/r(t)+Q^2/r^2))^2):#"potential for collapsing observer" d/d(t)=(d/d(tau))*(1-2*M/r+Q^2/r^2)/E

d(s)^2 = (-1+2*M/r(t)-Q^2/(r(t)^2))*d(t)^2+d(r)^2/(...

-d(tau)^2 = (-1+2*M/r(t)-Q^2/(r(t)^2)+diff(r(t),t)^...

-1 = (-1+2*M/r(t)-Q^2/(r(t)^2)+diff(r(t),t)^2/(1-2*...

-1 = (-1+2*M/r(t)-Q^2/(r(t)^2)+diff(r(t),t)^2/(1-2*...

> plot({subs({E=0.5,M=1,Q=1/2,r(t)=r},pot_2),0*r},r=0.11..3,axes=boxed,title=`(dr/dtau)^2 vs r for collapsing observer`);

[Maple Plot]

The difference from Schwarzschild collapse is obvious: the observer crosses the outer and inner horizons but does not reach the singularity because of the collapsar explodes as white hole due to repulsion with consequent recollapse and so on.

And at last, we consider the "extreme" case M^2 = Q^2 .

> subs(Q^2=M^2, get_compts(rn));

matrix([[-1+2*M/r-M^2/(r^2), 0, 0, 0], [0, 1/(1-2*M...


So, we have one coordinate singularity in r = M . What happen with second horizon? Let's find the distance between horizons for fixed t and angular coordinates for RN-metric:

> get_compts(rn):
d(s)^2 = %[2,2]*d(r)^2;#RN metric
# or
d(s)^2 = d(r)^2/expand( (1-r_p/r)*(1-r_n/r) );#second representation of expression

d(s)^2 = d(r)^2/(1-2*M/r+Q^2/(r^2))

d(s)^2 = d(r)^2/(1-2*M/r+Q^2/(r^2))

Hence, when r_p-->r_n ( M^2-Q^2 --> 0)

> r_p := 'r_p':
r_n := 'r_n':
s = Int(1/sqrt((1-r_p/r)*(1-r_n/r)),r=r_n..r_p) ;
simplify( value(rhs(%)),radical,symbolic );

s = Int(1/(sqrt((1-r_p/r)*(1-r_n/r))),r = r_n .. r_...


we have s--> infinity . So, there is the infinitely long Einstein-Rosen bridge (charged string) between horizons that means a lack of wormhole between asymptotically flat universes. This fact can be illustrated by means of embedding of equatorial section of static RN space in flat Euclidian space (see above).

> d(r)^2/(1-1/r)^2 = (1+diff(z(r),r)^2)*d(r)^2;#equality of radial elements of intervals, M=1
diff(z(r),r) = solve(%,diff(z(r),r))[1];
dsolve(%,z(r));# embedding

d(r)^2/((1-1/r)^2) = (1+diff(z(r),r)^2)*d(r)^2

diff(z(r),r) = sqrt(2*r-1)/(r-1)

z(r) = 2*sqrt(2*r-1)+ln(sqrt(2*r-1)-1)-ln(sqrt(2*r-...

> plot3d(subs(r=sqrt(x^2+y^2),2*sqrt(2*r-1)+ln(sqrt(2*r-1)-1)-ln(sqrt(2*r-1)+1)),x=-10..10,y=-10..10,axes=boxed,style=PATCHCONTOUR,grid=[100,100],title=`extreme RN black hole`);#we expressed arctanh through ln

[Maple Plot]

The asymptotic behavior of RN-metric as r--> infinity is Minkowski. For investigation of the situation r-->M let introduce the new coordinate (see, for example, P.K. Townsend, "Black Holes", arXiv: gr-gc/9707012):

> rn_assym := subs( {r=M*(1+lambda),Q^2=M^2},get_compts(rn) );

rn_assym := matrix([[-1+2/(lambda+1)-1/((lambda+1)^...

> m1 := series(rn_assym[1,1],lambda=0,3);# we keep only leading term in lambda
m2 := series(rn_assym[2,2],lambda=0,3);# we keep only leading term in lambda
d(s)^2 = convert(m1,polynom)*d(t)^2 +M^2*convert(m2,polynom)*d(lambda)^2 + M^2*d(Omega)^2;#d(Omega) is spherical part

m1 := series(-1*lambda^2+O(lambda^3),lambda,3)

m2 := series(1*lambda^(-2)+O(lambda^(-1)),lambda,-1...

d(s)^2 = -lambda^2*d(t)^2+M^2*d(lambda)^2/(lambda^2...

This is the Robinson-Bertotti metric . The last term describes two-dimensional sphere with radius M (these dimensions are compactified in the vicinity of horizon) and the first terms corresponds to anti-de Sitter space-time (see below) with constant negative curvature.

Kerr black hole (rotating black hole)

In the general form the stationary rotating black hole is described by so-called Kerr-Newman metric, which in the Boyer-Linquist coordinates can be presented as:

> coord := [t, r, theta, phi]:
kn_compts :=
array(sparse,1..4,1..4):# metric components, a=J/M, J is the angular momentum

kn_compts[1,1] :=
-(Delta-a^2*sin(theta)^2)/Sigma:# coefficient of d(t)^2

kn_compts[1,4] :=
-2*a*sin(theta)^2*(r^2+a^2-Delta)/Sigma:# coefficient of d(t)*dphi

kn_compts[2,2] :=
Sigma/Delta:# coefficient of d(r)^2

kn_compts[3,3] :=
Sigma:# coefficient of d(theta)^2

kn_compts[4,4] :=
(((r^2+a^2)^2-Delta*a^2*sin(theta)^2)/Sigma)*sin(theta)^2:# coefficient of d(phi)^2

kn := create([-1,-1], eval(kn_compts));# Kerr-Newman (KN) metric


sub_1 := Sigma = r^2+a^2*cos(theta)^2;
sub_2 := Delta = r^2-2*M*r+a^2+sqrt(Q^2+P^2);# P is the magnetic (monopole) charge

kn := TABLE([index_char = [-1, -1], compts = matrix...

sub_1 := Sigma = r^2+a^2*cos(theta)^2

sub_2 := Delta = r^2-2*M*r+a^2+sqrt(Q^2+P^2)

In the absence of charges, this results in Kerr metric. The obvious singularities are (except for an usual singularity of spherical coordinates theta =0):

> r_p := solve( subs({Q=0,P=0},rhs(sub_2))=0,r )[1];#outer horizon
r_n := solve( subs({Q=0,P=0},rhs(sub_2))=0,r )[2];#inner horizon
solve( subs({Q=0,P=0},rhs(sub_1))=0,theta );

r_p := M+sqrt(M^2-a^2)

r_n := M-sqrt(M^2-a^2)

1/2*Pi-I*arcsinh(r/a), 1/2*Pi+I*arcsinh(r/a)

The last produces r =0, theta = Pi/2 .

As it was in the case of charged static black hole, there are three different situations: M^2 < a^2 , M^2 = a^2 , M^2 > a^2 .

Let consider the signs of g[0,0] , g[1,1] , g[4,4] ( M^2 > a^2 ).

> plot3d(subs({M=1,a=1/2,P=0,Q=0},subs({Sigma=rhs(sub_1),Delta=rhs(sub_2)},get_compts(kn)[1,1])),\


display(%,%%,title=`signs of first and second diagonal elements of metric`,axes=boxed);

r=-0.01..0.01,theta=Pi/2-0.01..Pi/2+0.01,color=blue,title=`four diagonal element of metric in vicinity of singularity`,axes=boxed);

[Maple Plot]

[Maple Plot]

One can see, that the approach to r =0 in the line, which differs from theta = Pi/2 , corresponds to usual signs of diagonal elements of metric, i.e. the observer crosses r =0 and comes into region r <0 without collision with singularity. But from the second picture we can see the change of the g[3,3] -sign for r <0. Now phi is the time like coordinate. But this coordinate has circle character and, as consequence, we find oneself in the world with closed time lines. The approach to r =0 in the line of theta = Pi/2 produces the change of g[0,0] -sign, i.e. we find a true singularity in this direction. These facts demonstrate that the singularity in Kerr black hole has a more complicated character than in above considered black holes.

The more careful consideration gives the following results:

1) M^2 < a^2 . There exists no horizon ( r_p and r_n are complex), but the singularity in r =0, theta = pi/2 keeps. To remove the coordinate singularity in theta =0 we introduce the Kerr-Schild coordinates with linear element

> macro(ts=`t*`):
ks_le := d(s)^2 = -d(ts)^2 + d(x)^2 + d(y)^2 + d(z)^2 + (2*M*r^3/(r^4+a^2*z^2))*( (r*(x*d(x)+y*d(y))-a*(x*d(y)-y*d(x)))/(r^2+a^2)+z*d(z)/r+d(ts) )^2;
x + I*y = (r + I*a)*sin(theta)*exp(I*(Int(1,phi)+Int(a/Delta,r)));
z = r*cos(theta);
ts = Int(1,t) + Int((r^2+a^2/Delta),r) - r;

ks_le := d(s)^2 = -d(`t*`)^2+d(x)^2+d(y)^2+d(z)^2+2...

x+I*y = (r+I*a)*sin(theta)*exp(I*(Int(1,phi)+Int(a/...

z = r*cos(theta)

`t*` = Int(1,t)+Int(r^2+a^2/Delta,r)-r

which is reduced to Minkowski metric by M--> 0.

> int(subs( {P=0,Q=0},subs(Delta=rhs(sub_2),a/Delta) ),r):

x+I*y = (r+I*a)*sin(theta)*exp(I*(phi+a*arctan(1/2*...

When r =0, theta = Pi/2 the singularity is the ring x^2+y^2 = a^2 , z = 0.

2) M^2 > a^2 . As before we have the ring singularity, but there are the horizons r_p and r_n . As a additional feature of Kerr metric we note here the existence of coordinate singularity:

> get_compts(kn)[1,1]=0;
subs( Delta=rhs( sub_2 ),numer( lhs(%) ) ):
solve( subs({Q=0,P=0},%) = 0,r );

-(Delta-a^2*sin(theta)^2)/Sigma = 0

M+sqrt(M^2-a^2+a^2*sin(theta)^2), M-sqrt(M^2-a^2+a^...

The crossing of ellipsoid r _ 1 = M+sqrt(M^2-a^2*cos(theta)^2) produces the change of g[0,0] -sign. As it was for Schwarzschild black hole this fact demonstrates the lack of static coordinates under this surface, which is called "ergosphere " and the region between r_p and r_1 is the ergoregion. The absence of singularity for r[r,r] suggests that the nonstatic behavior results from entrainment of observer by black hole rotation, but not from fall on singularity, as it takes place for observer under horizon in Schwarzschild black hole.


So, the elementary analysis by means of basic Maple 6 functions allows to obtain the main results of black hole physics including conditions of collapsar formation, the space-time structure of static spherically symmetric charged and uncharged black holes and stationary axially symmetric black hole.

Cosmological models


I suppose that the most impressive achievements of the GR-theory belong to the cosmology. The description of the global structure of the universe changes our opinion about reality and radically widens the horizon of knowledge. The considerable progress in the observations and measures allows to say that we are living in a gold age of cosmology. Here we will consider some basic conceptions of relativistic cosmology by means of analytical capabilities of Maple 6.

Robertson-Walker metric

We will base on the conception of foliation of 4-dimensional manifold on 3-dimensional space-like hyperplanes with a time-dependent geometry. Now let's restrict oneself to the isotropic and homogeneous evolution models, i.e. the models without dependence of curvature on the observer's location or orientation. We will suppose also that such foliation with isotropic and homogeneous geometry and energy-momentum distribution exists at each time moment. These space-like foliations are the so-called hyperplanes of homogeneity . The time vectors are defined by the proper time course in each space point.

Let us consider 3-geometry at fixed time moment. As it is known, in 3-dimensional space the curvature tensor has the following form:

R[iklm] = R[il] g[km] - R[im] g[kl] + R[km] g[il] - R[kl] g[im] + R/2 ( g[im] g[kl] - g[il] g[km] ).

But if (as it takes a place in our case) there is not the dependence of curvature on space-direction in arbitrary point, our space has a constant curvature ( Schur's theorem) that results in

R[iklm] = R/2 ( g[im] g[kl] - g[il] g[km] ), (1)

where R is the constant Ricci scalar.

Now we will consider the so-called Robertson-Walker metric :

g[ij] = delta[ij]/((1+R*delta[ij]*x^i*x^j/8)^2) (2)

For this metric the spatial curvature tensor is:

> restart:

coord := [x, y, z]:# coordinates
g_compts := array(symmetric,sparse,1..3,1..3):# metric components
g_compts[1,1] := 1/(1+R*(x^2+y^2+z^2)/8)^2:# component of interval attached to d(x)^2
g_compts[2,2] := 1/(1+R*(x^2+y^2+z^2)/8)^2:# component of interval attached to d(y)^2
g_compts[3,3] := 1/(1+R*(x^2+y^2+z^2)/8)^2:# component of interval attached to d(z)^2

g := create([-1,-1], eval(g_compts));# covariant metric tensor
ginv := invert( g, 'detg' ):# contravariant metric tensor

D1g := d1metric( g, coord ):# calculation of curvature tensor
D2g := d2metric( D1g, coord ):
Cf1 := Christoffel1 ( D1g ):
RMN := Riemann( ginv, D2g, Cf1 ):
displayGR(Riemann, RMN);

Warning, the protected names norm and trace have been redefined and unprotected

g := TABLE([compts = matrix([[1/((1+1/8*R*(x^2+y^2+...

`The Riemann Tensor`

`non-zero components :`

` R1212` = 2048*R/((8+R*x^2+R*y^2+R*z^2)^4)

` R1313` = 2048*R/((8+R*x^2+R*y^2+R*z^2)^4)

` R2323` = 2048*R/((8+R*x^2+R*y^2+R*z^2)^4)

`character : [-1, -1, -1, -1]`

Now we try to perform the direct calculations from Eq. (1):

> A := get_compts(g):
B := array(1..3, 1..3, 1..3, 1..3):
for i from 1 to 3 do
for j from 1 to 3 do
for k from 1 to 3 do
for l from 1 to 3 do
B[i,j,k,l] := eval(R*(A[i,k]*A[j,l] - A[i,l]*A[j,k])/2):# Eq. 1. These calculations can be performed also by means of tensor[prod] and tensor[permute_indices]
if B[i,j,k,l]<>0 then print([i,j,k,l],B[i,j,k,l]);# non-zero components
od: od: od: od:

[1, 2, 1, 2], 1/2*R/((1+1/8*R*(x^2+y^2+z^2))^4)

[1, 2, 2, 1], -1/2*R/((1+1/8*R*(x^2+y^2+z^2))^4)

[1, 3, 1, 3], 1/2*R/((1+1/8*R*(x^2+y^2+z^2))^4)

[1, 3, 3, 1], -1/2*R/((1+1/8*R*(x^2+y^2+z^2))^4)

[2, 1, 1, 2], -1/2*R/((1+1/8*R*(x^2+y^2+z^2))^4)

[2, 1, 2, 1], 1/2*R/((1+1/8*R*(x^2+y^2+z^2))^4)

[2, 3, 2, 3], 1/2*R/((1+1/8*R*(x^2+y^2+z^2))^4)

[2, 3, 3, 2], -1/2*R/((1+1/8*R*(x^2+y^2+z^2))^4)

[3, 1, 1, 3], -1/2*R/((1+1/8*R*(x^2+y^2+z^2))^4)

[3, 1, 3, 1], 1/2*R/((1+1/8*R*(x^2+y^2+z^2))^4)

[3, 2, 2, 3], -1/2*R/((1+1/8*R*(x^2+y^2+z^2))^4)

[3, 2, 3, 2], 1/2*R/((1+1/8*R*(x^2+y^2+z^2))^4)

The direct calculation on the basis of Eq. (1) and metric (2) results in the tensor with symmetries [ i,j,k,l ]=[ k,l,i,j ]=[ j,i,k,l ]=-[ i,j,l,k ] and [ i,j,k,l ]+[ i,l,j,k ]+[ i,k,l,j ] = 0. These symmetries and values of nonzero components correspond to curvature tensor, which was calculated previously from (2). As consequence, metric (2) satisfies to condition of constant curvature (Schur's theorem, Eq. (1)). We will base our further calculations on this metric.

The next step is the choice of the appropriate coordinates. We consider two types of coordinates: spherical and pseudospherical.

In the case of the spherical coordinates the transition of Eq. (2) to a new basis results in:

> g_sp := simplify(subs({x=r*cos(phi)*sin(theta),y=r*sin(phi)*sin(theta),z=r*cos(theta)},get_compts(g))):# This is transformation of coordinates in metric tensor
Sp_compts := array(1..3,1..3):# matrix of conversion from (NB!) spherical coordinates
Sp_compts[1,1] := cos(phi)*sin(theta):
Sp_compts[2,1] := sin(phi)*sin(theta):
Sp_compts[3,1] := cos(theta):
Sp_compts[1,2] := r*cos(phi)*cos(theta):
Sp_compts[2,2] := r*sin(phi)*cos(theta):
Sp_compts[3,2] := -r*sin(theta):
Sp_compts[1,3] := -r*sin(phi)*sin(theta):
Sp_compts[2,3] := r*cos(phi)*sin(theta):
Sp_compts[3,3] := 0:

Sp := eval(Sp_compts):

simplify( multiply(transpose(Sp), g_sp, Sp));#transition to new coordinates in metric


The denominator is

> denom(%[1,1]):


After substitution r* = r sqrt(R/2) (we will omit asterix and suppose R > 0), the metric is converted as:

> coord := [r, theta, phi]:# spherical coordinates
g_compts_sp := array(symmetric,sparse,1..3,1..3):# metric components
g_compts_sp[1,1] := (2/R)/(1+r^2/4)^2:# component of interval attached to d(r)^2
g_compts_sp[2,2] := (2/R)*r^2/(1+r^2/4)^2:# component of interval attached to d(theta)^2
g_compts_sp[3,3] := (2/R)*r^2*sin(theta)^2/(1+r^2/4)^2:# component of interval attached to d(phi)^2

g_sp := create([-1,-1], eval(g_compts_sp));# covariant metric tensor

g_sp := TABLE([compts = matrix([[2*1/(R*(1+1/4*r^2)...

The denominator's form suggests the transformation of radial coordinate: sin ( chi ) = r/ ( 1 + r^2 /4). Then for dr^2 -component we have

> diff(sin(chi),chi)*d(chi) = simplify(diff(r/(1+r^2/4),r))*d(r);
lhs(%)^2 = rhs(%)^2;
subs(cos(chi)^2=1-r^2/(1+r^2/4)^2,lhs(%)) = rhs(%):

cos(chi)*d(chi) = -4*(-4+r^2)*d(r)/((4+r^2)^2)

cos(chi)^2*d(chi)^2 = 16*(-4+r^2)^2*d(r)^2/((4+r^2)...

(r-2)^2*(r+2)^2*d(chi)^2/((4+r^2)^2) = 16*(r-2)^2*(...

that leads to a new metric ( d chi = dr/((1+r^2/4)^2) ):

> coord := [r, theta, phi]:# spherical coordinates
g_compts_sp := array(symmetric,sparse,1..3,1..3):# metric components
g_compts_sp[1,1] := 2/R:# component of interval attached to d(chi)^2
g_compts_sp[2,2] := (2/R)*sin(chi)^2:# component of interval attached to d(theta)^2
g_compts_sp[3,3] := (2/R)*sin(chi)^2*sin(theta)^2:# component of interval attached to d(phi)^2

g_sp := create([-1,-1], eval(g_compts_sp));# covariant metric tensor

g_sp := TABLE([compts = matrix([[2*1/R, 0, 0], [0, ...

Here R /2 is the Gaussian curvature K ( K >0) so that the linear element is:

> l_sp := d(s)^2 = a^2*(d(chi)^2 + sin(chi)^2*(d(theta)^2+sin(theta)^2*d(phi)^2));

l_sp := d(s)^2 = a^2*(d(chi)^2+sin(chi)^2*(d(theta)...

Here a = sqrt(1/K) is the scaling factor . Note, that substitution r = a sin(chi) produces the alternative form of metric:

> subs(\
l_sp):#we use d(r)=a*cos(chi)*d(chi)

d(s)^2 = d(r)^2/(1-r^2/(a^2))+r^2*d(theta)^2+r^2*si...

For negative curvature:

> coord := [r, theta, phi]:# spherical coordinates
g_compts_hyp := array(symmetric,sparse,1..3,1..3):# metric components
g_compts_hyp[1,1] := (-2/R)/(1-r^2/4)^2:# component of interval attached to d(r)^2
g_compts_hyp[2,2] := (-2/R)*r^2/(1-r^2/4)^2:# component of interval attached to d(theta)^2
g_compts_hyp[3,3] := (-2/R)*r^2*sin(theta)^2/(1-r^2/4)^2:# component of interval attached to d(phi)^2

g_hyp := create([-1,-1], eval(g_compts_hyp));# covariant metric tensor

g_hyp := TABLE([compts = matrix([[-2*1/(R*(1-1/4*r^...

where R is the module of Ricci scalar and new radial coordinate is I r sqrt(R/2) . Let's try to use the substitution sh ( chi ) = r/ ( 1 - r^2 /4). Then for dr^2 -component we have

> diff(sinh(chi),chi)*d(chi) = simplify(diff(r/(1-r^2/4),r))*d(r);
lhs(%)^2 = rhs(%)^2;
subs(cosh(chi)^2=1+r^2/(1-r^2/4)^2,lhs(%)) = rhs(%):

cosh(chi)*d(chi) = 4*(4+r^2)*d(r)/((-4+r^2)^2)

cosh(chi)^2*d(chi)^2 = 16*(4+r^2)^2*d(r)^2/((-4+r^2...

(4+r^2)^2*d(chi)^2/((r-2)^2*(r+2)^2) = 16*(4+r^2)^2...

And finally

> coord := [r, theta, phi]:# spherical coordinates
g_compts_hyp := array(symmetric,sparse,1..3,1..3):# metric components
g_compts_hyp[1,1] := -2/R:# component of interval attached to d(chi)^2
g_compts_hyp[2,2] := (-2/R)*sinh(chi)^2:# component of interval attached to d(theta)^2
g_compts_hyp[3,3] := (-2/R)*sinh(chi)^2*sin(theta)^2:# component of interval attached to d(phi)^2

g_hyp := create([-1,-1], eval(g_compts_hyp));# covariant metric tensor

g_hyp := TABLE([compts = matrix([[-2*1/R, 0, 0], [0...

Here R /2 is the Gaussian curvature K ( K <0). So, the linear element is

> l_hyp := d(s)^2 = a^2*(d(chi)^2 + sinh(chi)^2*(d(theta)^2+sin(theta)^2*d(phi)^2));

l_hyp := d(s)^2 = a^2*(d(chi)^2+sinh(chi)^2*(d(thet...

where a = sqrt(1/K) is the imaginary scale factor. The substitution r = a sinh( chi ) results in:

> subs(\
l_hyp):#we use d(r)=a*cosh(chi)*d(chi)

d(s)^2 = d(r)^2/(1+r^2/(a^2))+r^2*d(theta)^2+r^2*si...

At last, for the flat space:

> l_flat := d(s)^2 = a^2*(d(chi)^2 + chi^2*(d(theta)^2+sin(theta)^2*d(phi)^2));

l_flat := d(s)^2 = a^2*(d(chi)^2+chi^2*(d(theta)^2+...

Here a is the arbitrary scaling factor.

To imagine the considered geometries we can use the usual technique of embedding. In the general case the imbedding of 3-space is not possible if the dimension of enveloping flat space is only 4 (we have 6 functions g[i,j] , but the number of free parameters in 4-dimensional space is only 4). However, the constant nonzero curvature allows to embed our curved space in 4-dimensional flat space as result of next transformation of coordinates (for spherical geometry):

> defform(f=0,w1=1,w2=1,w3=1,v=1,chi=0,theta=0,phi=0);
e_1 := Dw^2 = a^2*d(cos(chi))^2;
e_2 := Dx^2 = (a*d(sin(chi)*sin(theta)*cos(phi)))^2;
e_3 := Dy^2 = (a*d(sin(chi)*sin(theta)*sin(phi)))^2;
e_4 := Dz^2 = (a*d(sin(chi)*cos(theta)))^2;

e_1 := Dw^2 = a^2*sin(chi)^2*d(chi)^2

e_2 := Dx^2 = a^2*(sin(theta)*cos(phi)*cos(chi)*d(c...

e_3 := Dy^2 = a^2*(sin(theta)*sin(phi)*cos(chi)*d(c...

e_4 := Dz^2 = a^2*(cos(theta)*cos(chi)*d(chi)-sin(c...

> #so we have for Euclidian 4-metric:
simplify( rhs(e_1) + rhs(e_2) + rhs(e_3) + rhs(e_4), trig);


> collect(%,d(phi)^2);


This expression can be easily converted in l_sp , i. e. the imbedding is correct.


> w^2 + x^2 + y^2 + z^2 =
(a*cos(chi))^2 +(a*sin(chi)*sin(theta)*cos(phi))^2 +
(a*sin(chi)*sin(theta)*sin(phi))^2 + (a*sin(chi)*cos(theta))^2);

w^2+x^2+y^2+z^2 = a^2

the considered hypersurface is the 3-sphere in flat 4-space. The scale factor is the radius of the closed spherical universe.

In the case l_hyp there is not the imbedding in flat Euclidian 4-space, but there is the imbedding in flat hyperbolical flat space with interval

-d w^2 + d x^2 + d y^2 + d z^2

As result we have

> w^2 - x^2 - y^2 - z^2 =
(a*cosh(chi))^2 - (a*sinh(chi)*sin(theta)*cos(phi))^2 -
(a*sinh(chi)*sin(theta)*sin(phi))^2 - (a*sinh(chi)*cos(theta))^2);

w^2-x^2-y^2-z^2 = a^2

This is expression for 3-hyperboloid in flat 4-space.

Standard models

Now we turn to some specific isotropic and homogeneous models. The assumption of time-dependent character of the geometry results in the time-dependence of scaling factor a ( t ). Then 4-metric (spherical geometry) is

> coord := [t, chi, theta, phi]:
g_compts := array(symmetric,sparse,1..4,1..4):
g_compts[1,1] := -1:#dt^2
g_compts[2,2] := a(t)^2:#chi^2
g := create([-1,-1], eval(g_compts));
ginv := invert( g, 'detg' ):

g := TABLE([compts = matrix([[-1, 0, 0, 0], [0, a(t...

The Einstein tensor is

> D1g := d1metric( g, coord ):
D2g := d2metric( D1g, coord ):
Cf1 := Christoffel1 ( D1g ):
RMN := Riemann( ginv, D2g, Cf1 ):
RICCI := Ricci( ginv, RMN ):
RS := Ricciscalar( ginv, RICCI ):
G := Einstein( g, RICCI, RS );

G := TABLE([compts = matrix([[-(2*sin(chi)^2+3*diff...

Let's the matter is defined by the energy-momentum tensor T[mu,nu] = ( p+ rho ) u[mu] u[nu] + p g[mu,nu] :

> T_compts := array(symmetric,sparse,1..4,1..4):# energy-momentum tensor for drop of liquid
T_compts[1,1] := rho(t):
T_compts[2,2] := a(t)^2*p(t):
T_compts[3,3] := a(t)^2*sin(chi)^2*p(t):
T_compts[4,4] := a(t)^2*sin(chi)^2*sin(theta)^2*p(t):
T := create([-1,-1], eval(T_compts));

T := TABLE([compts = matrix([[rho(t), 0, 0, 0], [0,...

Then the first Einstein equation G[0,0] - Lambda g[0,0] = - 8 Pi T[0,0] (we add the so-called cosmological constant Lambda , which can be considered as the energy density of vacuum):

> get_compts(G):
e1 := simplify(%):
e2 := simplify(%):
e3 := simplify(%):
E[1] := expand(e1/(-3)) = -8*Pi*expand(e3/(-3)) + expand(e2*Lambda/(-3));#first Einstein equation

E[1] := 1/(a(t)^2)+diff(a(t),t)^2/(a(t)^2) = 8/3*Pi...

Second equation is:

> get_compts(G):
e1 := simplify(%):
e2 := simplify(%):
e3 := simplify(%):
E[2] := expand(e1/a(t)^2) = -8*Pi*expand(e3/a(t)^2) + expand(e2*Lambda/a(t)^2);#second Einstein equation

E[2] := 2*diff(a(t),`$`(t,2))/a(t)+diff(a(t),t)^2/(...

Two other equations are tautological.

After elementary transformation we have for the second equation:

> expand(simplify(E[2]-E[1])/2);

diff(a(t),`$`(t,2))/a(t) = -4*Pi*p(t)+1/3*Lambda-4/...

Similarly, for the hyperbolical geometry we have:

> coord := [t, chi, theta, phi]:
g_compts := array(symmetric,sparse,1..4,1..4):
g_compts[1,1] := -1:#dt^2
g_compts[2,2] := a(t)^2:#chi^2
g := create([-1,-1], eval(g_compts));
ginv := invert( g, 'detg' ):

g := TABLE([compts = matrix([[-1, 0, 0, 0], [0, a(t...

> D1g := d1metric( g, coord ):
D2g := d2metric( D1g, coord ):
Cf1 := Christoffel1 ( D1g ):
RMN := Riemann( ginv, D2g, Cf1 ):
RICCI := Ricci( ginv, RMN ):
RS := Ricciscalar( ginv, RICCI ):
G := Einstein( g, RICCI, RS );

G := TABLE([compts = matrix([[-(-2*sinh(chi)^2+3*di...

> T_compts := array(symmetric,sparse,1..4,1..4):# energy-momentum tensor for drop of liquid
T_compts[1,1] := rho(t):
T_compts[2,2] := a(t)^2*p(t):
T_compts[3,3] := a(t)^2*sinh(chi)^2*p(t):
T_compts[4,4] := a(t)^2*sinh(chi)^2*sin(theta)^2*p(t):
T := create([-1,-1], eval(T_compts));

T := TABLE([compts = matrix([[rho(t), 0, 0, 0], [0,...

> get_compts(G):
e1 := simplify(%):
e2 := simplify(%):
e3 := simplify(%):
E[1] := expand(e1/(-3)) = -8*Pi*expand(e3/(-3)) + expand(e2*Lambda/(-3));#first Einstein equation

E[1] := -1/(a(t)^2)+diff(a(t),t)^2/(a(t)^2) = 8/3*P...

> get_compts(G):
e1 := simplify(%):
e2 := simplify(%):
e3 := simplify(%):
E[2] := expand(e1/a(t)^2) = -8*Pi*expand(e3/a(t)^2) + expand(e2*Lambda/a(t)^2):#second Einstein equation

diff(a(t),`$`(t,2))/a(t) = -4*Pi*p(t)+1/3*Lambda-4/...

The second equation is identical with one in spherical geometry.

In general, the first and second differential equations for scaling factor in our ideal universe:

> basic_1 := (diff(a(t),t)/a(t))^2 = -K/a(t)^2 + Lambda/3 + 8*Pi*rho(t)/3;#first basic equation for homogeneous universe
basic_2 := diff(a(t),`$`(t,2))/a(t) = -4*Pi*(p(t)+rho(t)/3)+1/3*Lambda;# second basic equation for homogeneous universe

basic_1 := diff(a(t),t)^2/(a(t)^2) = -K/(a(t)^2)+1/...

basic_2 := diff(a(t),`$`(t,2))/a(t) = -4*Pi*(p(t)+1...

Here K =+1 for spherical, -1 for hyperbolical and 0 for flat geometries. The left-hand side of the first equation is the square of Hubble constant H . If we denote the recent value of this parameter as H[0] , then H[0] = 65 km/(s*Mpc) ( ps is the parallax second corresponding to distance about of 3.26 light-years or 3* 10^13 km ) [ J. Garcia-Bellido, Astrophysics and cosmology, arXiv: hep-ph/0004188].

When K= Lambda = 0, the universe is defined by the so-called critical density rho[c] = 3*H[0]^2/(8*Pi) =7.9* 10^(-30) g/(cm^3) . Let's denote the recent relative values Omega[i] = rho[i]/rho[c] of the matter, radiation, cosmological constant and curvature as:

Omega[M] = 8*Pi*rho[M]/(3*H[0]^2) , Omega[R] = 8*Pi*rho[R]/(3*H[0]^2) , Omega[Lambda] = Lambda/(3*H[0]^2) , Omega[K] = - K/(a[0]^2*H[0]^2) .

Here a[0] is the recent scaling factor. At this moment the contribution of the radiation to density is negligible Omega[R] << Omega[M] . To rewrite the evolutionary equation in terms of Omega[i] we have to take into account the time dependence of these parameters: Lambda does not depend on a ( t ) (in framework of standard model), the dependence of curvature ~ 1/(a^2) , density of matter ~ 1/(a^3) , but for radiation ~ 1/(a^4) . The last results from the change of density of quanta ~ 1/(a^3) and their energy ~ 1/a . The resulting equation can be written as:

> basic_3 := H(a)^2 = H[0]^2*(Omega[R]*a[0]^4/a^4+Omega[M]*a[0]^3/a^3+Omega[Lambda]+Omega[K]*a[0]^2/a^2);

basic_3 := H(a)^2 = H[0]^2*(Omega[R]*a[0]^4/(a^4)+O...

As result of these definitions we have the cosmic sum rule :

1 = Omega[M]+Omega[R] + Omega[Lambda] + Omega[K] .

Let us transit to the new variables: y = a/a[0] , tau = H[0] ( t-t[0] ), where t[0] is the present time moment. Then

> basic_4 := diff(y(tau),tau) = sqrt(1 + (1/y(tau)-1)*Omega[M] + (y(tau)^2-1)*Omega[Lambda]);#we neglect the radiation contribution and use the cosmic sum rule. d(tau)=H[0]*d(t) --> a[0]*H[0]*(d(y)/d(tau))/a = (d(a)/d(t))/a = H

basic_4 := diff(y(tau),tau) = sqrt(1+(1/y(tau)-1)*O...

Now we will consider some typical standard models. For review see, for example, P.J.E. Peebles, Principles of physical cosmology, Prinston Univ. Press, 1993 , or on-line surveys P. B. Pal, Determination of cosmological parameters, arXiv: hep-ph/9906447, J. R. Bondono, The cosmological models.

Einstein static

> rhs(basic_1) = 0:
rhs(basic_2) = 0:
allvalues( solve({%, %%},{a(t), Lambda}) );# static universe

{a(t) = sqrt(K/(4*Pi*p(t)+4*Pi*rho(t))), Lambda = 1...

At this moment for the matter p =0 and the contribution of the radiation is small, therefore:

a^2 = 1/(4*Pi*rho), Lambda = 4*Pi*rho

This solution has a very simple form and requires K= +1 (the closed spherical universe) and positive Lambda (repulsive action of vacuum), but does not satisfy the observations of red shift in the spectra of extragalactic sources. The last is the well-known fact demonstrating the expansion of universe (the increase of scaling factor).

Einstein-de Sitter

Omega[M] = 1 and, as consequence Omega[Lambda] = Omega[K] = 0. This is the flat universe described by equation

> y(tau)^(1/2)*diff(y(tau),tau) = 1;
dsolve({%, y(0)=1}, y(tau)):

sqrt(y(tau))*diff(y(tau),tau) = 1

y(tau) = 1/4*(12*tau+8)^(2/3), y(tau) = (-1/4*(12*t...

> plot(1/4*(12*tau+8)^(2/3), tau= -2/3..2, axes=BOXED, title=`Einstein-de Sitter universe`);

[Maple Plot]

We have the infinite expansion from the initial singularity (Big Bang).

From the value of scaling factor y(tau) = (12*tau+8)^(2/3)/4 it is possible to find the universe's age:

> 0 = (12*H[0]*(0-t[0]) + 8)^(2/3)/4:# y(0)=0


> evalf((2/3)*3*10^19/65/60/60/24/365);#[yr]


The obtained universe's age does not satisfy the observations of star's age in older globular clusters.

de Sitter and anti-de Sitter

The empty universes ( Omega[M] =0) with R > 0 (de Sitter) and R < 0 (anti-de Sitter). Turning to basic_1 we have for de Sitter universe:

> assume(lambda,positive):

diff(a(t),t)^2 = -1+a(t)^2*lambda

a(t) = 1/(sqrt(lambda)), a(t) = -1/(sqrt(lambda)), ...

It is obvious, that the first two solutions don't satisfy the basic_2 . Another solutions give:

a ( t ) = cosh(sqrt(lambda)*(t-C))/(2*sqrt(lambda))

where C is the positive or negative constant defining the time moment corresponding to the minimal scaling factor.

> plot(subs(lambda=0.5,\
tau=-3..3,title=`de Sitter universe`,axes=boxed);

[Maple Plot]

For anti-de Sitter model we have:

> assume(lambda,negative):

diff(a(t),t)^2 = 1+a(t)^2*lambda

a(t) = sqrt(-lambda)/lambda, a(t) = -sqrt(-lambda)/...

De Sitter and anti-de Sitter universes play a crucial role in many modern issues in GR and cosmology, in particular, in inflationary scenarios of the beginning of universe evolution.

Closed Friedmann-Lemaitre

Omega[M] > 1 Lambda = 0 and, as consequence Omega[K] < 0 ( K =+1). This is the closed spherical universe.

> y(tau)*(diff(y(tau),tau)^2+b) =Omega[M];# b=Omega[M]-1 > 0

y(tau)*(diff(y(tau),tau)^2+b) = Omega[M]

> solve( %,diff(y(tau),tau) );

sqrt(-y(tau)*(y(tau)*b-Omega[M]))/y(tau), -sqrt(-y(...

> d(t)=sqrt(y/b/(Omega[M]/b - y))*d(y);

d(t) = sqrt(y/(b*(Omega[M]/b-y)))*d(y)

Introducing a new variable phi we have:

> sqrt(y/(Omega[M]/b - y)) = tan(phi);
y = solve(%, y);
y = convert(rhs(%),sincos);

sqrt(y/(Omega[M]/b-y)) = tan(phi)

y = tan(phi)^2*Omega[M]/(b*(1+tan(phi)^2))

y = sin(phi)^2*Omega[M]/(cos(phi)^2*b*(1+sin(phi)^2...

But this is y = Omega[M]*sin(phi)^2/b = Omega[M]*(1-cos(2*phi))/(2*b) . And

> defform(f=0,w1=0,w2=0,v=1,phi=0,y=0);
d(y) = d( (Omega[M]/b)*sin(phi)^2 );

d(y) = 2*sin(phi)*cos(phi)*`&^`(d(phi),Omega[M]/b)+...

Then our equation results in

> subs( y=Omega[M]*sin(phi)^2/b,sqrt(y/(b*(Omega[M]/b-y))) ):


> d(t) = simplify( (Omega[M]/b)*tan(phi)*2*sin(phi)*cos(phi) )*d(phi)/sqrt(b);

d(t) = -2*Omega[M]*(-1+cos(phi)^2)*d(phi)/(b^(3/2))...

Hence, the age of universe is:

> #initial conditions: y(0)=0 --> phi=0
int( Omega[M]*(1-cos(2*x))/(Omega[M]-1)^(3/2), x=0..phi):
sol_1 := t = simplify(%);#age of universe vs phi

sol_1 := t = 1/2*Omega[M]*(2*phi-sin(2*phi))/((Omeg...

This equation in the combination with y ( phi ) is the parametric representation of cycloid:

> y = Omega[M]*(1-cos(2*phi))/(2*(Omega[M]-1)):
plot([subs(Omega[M]=5,rhs(sol_1)),subs(Omega[M]=5,rhs(%)),phi=0..Pi], axes=boxed, title=`closed Friedmann-Lemaitre universe`);

[Maple Plot]

In this model the expansion from the singularity changes into contraction and terminates in singularity (Big Crunch)

The age of universe is:

> #initial conditions: y(t0)=1 --> phi=?
1 = sin(phi)^2*Omega[M]/(Omega[M]-1):
sol_2 := solve(%,phi);
subs(phi=sol_2[1],rhs(sol_1));#age of universe vs Omega[M]
plot(%, Omega[M]=1.01..10, axes=BOXED, title=`age of universe [ 1/H[0] ]`);

sol_2 := arcsin(sqrt(Omega[M]*(Omega[M]-1))/Omega[M...


[Maple Plot]

So, the increase of Omega[M] decreases the age of universe, which is less than in Einstein-de Sitter model. The last and the modern observations of microwave background suggesting Omega[K] ~0 do not agree with this model.

Open Friedmann-Lemaitre

Omega[M] < 1 Lambda = 0 and, as consequence Omega[K] > 0 ( K = -1). This is an open hyperbolical spherical universe. From the above introduced equation we have

> y(tau)*(diff(y(tau),tau)^2 - a) = Omega[M];# a = -b = 1-Omega[M]>0

y(tau)*(diff(y(tau),tau)^2-a) = Omega[M]

> solve( %,diff(y(tau),tau) );

sqrt(y(tau)*(y(tau)*a+Omega[M]))/y(tau), -sqrt(y(ta...

> diff(y(tau), tau)=sqrt((Omega[M] + a*y(tau))/y(tau));

diff(y(tau),tau) = sqrt((y(tau)*a+Omega[M])/y(tau))...

> dsolve(%, y(tau)):
sol_1 := simplify( subs(a=1-Omega[M],%),radical,symbolic);#implicit solution for y(tau)

sol_1 := 1/2*(-Omega[M]*ln(1/2*(Omega[M]+2*y(tau)-2...
sol_1 := 1/2*(-Omega[M]*ln(1/2*(Omega[M]+2*y(tau)-2...
sol_1 := 1/2*(-Omega[M]*ln(1/2*(Omega[M]+2*y(tau)-2...

> #definition of _C1
simplify( subs(_C1=%,sol_1) ):
sol_2 := solve(%,tau);#implicit solution with defined _C1

sol_2 := -1/4*(ln(-(Omega[M]-1)/((Omega[M]+2*y-2*y*...
sol_2 := -1/4*(ln(-(Omega[M]-1)/((Omega[M]+2*y-2*y*...

This solution can be plotted in the following form:

> subs(Omega[M]=0.3,sol_2):
plot(%, y=0.01..2, axes=BOXED, colour=RED, title=`hyperbolical universe (time vs scaling factor)` );

[Maple Plot]

The extreme case Omega[M] -- >0 (almost empty world)

> limit(sol_2,Omega[M]=0);


results in the linear low of universe expansion and gives the estimation for maximal age of universe in this model:

> evalf(3*10^19/65/60/60/24/365);#[yr]


The dependence on Omega[M] looks as:

> -(subs(y=0,sol_2)-subs(y=1,sol_2)):#age of universe [ 1/H[0] ]
plot(%, Omega[M]=0..1,axes=boxed, title=`age of universe [ 1/H[0] ]`);

[Maple Plot]

It is natural, the growth of matter density decreases the universe age. If estimations of Omega[M] give 0.3 (that results in the age ~12 gigayears for considered model), then this model does not satisfies the observations. Moreover, it is possible, that the nonzero curvature is not appropriate (see below).

Expanding spherical and recollapsing hyperbolical universes

This model demonstrates the possibility of the infinite expansion of universe with spherical geometry in the presence of nonzero cosmological constant.

> with(DEtools):
DEplot(subs({Omega[M]=1,Omega[Lambda]=2.59},basic_4),[y(tau)],tau=-2.5..1,[[y(0)=1]],stepsize=0.01,axes=boxed,linecolor=red,arrows=none,title=`loitering expansion`);

Warning, the name adjoint has been redefined

[Maple Plot]

We selected the parameters, which are close to ones for static universe ( Omega[M] =1) but the cosmological term slightly dominates Omega[Lambda] > 2*Omega[M] . There is the delay of expansion, which looks like transition to collapse, but the domination of Omega[Lambda] causes the further expansion. This model can explain the large age of universe for large H[0] and to explain the misalignment in the "red shift-distance" distribution for distant quasars.

The next example demonstrate the collapsing behavior of open (hyperbolical) universe:

> p1 := DEplot(subs({Omega[M]=0.5,Omega[Lambda]=-1},basic_4),[y(tau)],tau=-0.65..0.7,[[y(0)=1]],stepsize=0.01,axes=boxed,linecolor=red,arrows=none):#expansion

> p2 := DEplot(subs({Omega[M]=0.5,Omega[Lambda]=-1},lhs(basic_4)=-rhs(basic_4)),[y(tau)],tau=0.71..1.98,[[y(0.71)=1.36]],stepsize=0.01,axes=boxed,linecolor=red,arrows=none):#we have to change the sign in right-hand side of basic_4 and to change the initial condition

> with(plots):
display(p1,p2,title=`recollapsing open universe`);

Warning, the name changecoords has been redefined

[Maple Plot]

Bouncing model

Main feature of the above considered nonstatic models (except for de Sitter model) is the presence of singularity at the beginning of expansion and, it is possible, at the end of evolution. On the one hand, the singularity is not desirable, but, on the other hand, the standard model of Big Bang demands a high-density and hot beginning of expansion. The last corresponds to the conditions in the vicinity of the singularity. The choice of the parameters allows the behavior without singularity:

> p1 := DEplot(subs({Omega[M]=0.1,Omega[Lambda]=1.5},basic_4),[y(tau)],tau=-1.13..1,[[y(0)=1]],stepsize=0.01,axes=boxed,linecolor=red,arrows=none):#expansion
p2 := DEplot(subs({Omega[M]=0.1,Omega[Lambda]=1.5},lhs(basic_4)=-rhs(basic_4)),[y(tau)],tau=-3..-1.14,[[y(-3)=2.3]],stepsize=0.01,axes=boxed,linecolor=red,arrows=none):#contraction
display(p1,p2,title=`bouncing universe`);

[Maple Plot]

Our universe (?)

The modern observations of microwave background suggest [ J. Garcia-Bellido, Astrophysics and cosmology, arXiv: hep-ph/0004188]: Omega[K] ~ 0 (flat universe), Omega[Lambda] ~ 0.7, Omega[M] ~ 0.3. The corresponding behavior of scaling factor looks as:

> DEplot(subs({Omega[M]=0.3,Omega[Lambda]=0.7},basic_4),[y(tau)],tau=-.96...2,[[y(0)=1]],stepsize=0.01,axes=boxed,linecolor=red,arrows=none,title=`Our universe?`);

[Maple Plot]

We are to note, that our comments about appropriate (or not appropriate) character of the considered models are not rigid. The picture of topologically nontrivial space-time can combine the universes with the very different local geometries and dynamics in the framework of a hypothetical Big Universe ("Tree of Universes").


Bianchi models and Mixmaster universe

A good agreement of the isotropic homogeneous models with observations does not provide for their validity nearby singularity. In particular, in framework of analytical approach, we can refuse the isotropy of universe in the beginning of expansion [for review see Ya.B. Zel'dovich, I.D. Novikov, Relativistic Astrophysics, V. 2: The structure and evolution of the universe, The university of Chicago Press, Chicago (1983) ]. Let us consider the anisotropic homogeneous flat universe without rotation:

> coord := [t, x, y, z]:
g_compts := array(symmetric,sparse,1..4,1..4):# metric components
g_compts[1,1] := -1:
g_compts[2,2] := a(t)^2:
g_compts[3,3] := b(t)^2:
g_compts[4,4] := c(t)^2:

g := create([-1,-1], eval(g_compts));

ginv := invert( g, 'detg' ):

g := TABLE([compts = matrix([[-1, 0, 0, 0], [0, a(t...

The Einstein tensor is:

> # intermediate values
D1g := d1metric( g, coord ):
D2g := d2metric( D1g, coord ):
Cf1 := Christoffel1 ( D1g ):
RMN := Riemann( ginv, D2g, Cf1 ):
RICCI := Ricci( ginv, RMN ):
RS := Ricciscalar( ginv, RICCI ):
Estn := Einstein( g, RICCI, RS ):# Einstein tensor
displayGR(Einstein,Estn);# Its nonzero components

`The Einstein Tensor`

`non-zero components :`

` G11` = -(diff(b(t),t)*diff(a(t),t)*c(t)+diff(c(t)...

` G22` = a(t)^2*(diff(b(t),`$`(t,2))*c(t)+diff(c(t)...

` G33` = b(t)^2*(diff(a(t),`$`(t,2))*c(t)+diff(c(t)...

` G44` = c(t)^2*(diff(a(t),`$`(t,2))*b(t)+diff(b(t)...

`character : [-1, -1]`

In the vacuum state the right-hand sides of Einstein equations are 0. Then

> E_eqn := get_compts(Estn):
e1 := numer( E_eqn[1,1] ) = 0;
e2 := expand( numer( E_eqn[2,2] )/a(t)^2 ) = 0;
e3 := expand( numer( E_eqn[3,3] )/b(t)^2 ) = 0;
e4 := expand( numer( E_eqn[4,4] )/c(t)^2 ) = 0;

e1 := -diff(b(t),t)*diff(a(t),t)*c(t)-diff(c(t),t)*...

e2 := diff(b(t),`$`(t,2))*c(t)+diff(c(t),`$`(t,2))*...

e3 := diff(a(t),`$`(t,2))*c(t)+diff(c(t),`$`(t,2))*...

e4 := diff(a(t),`$`(t,2))*b(t)+diff(b(t),`$`(t,2))*...

We will search the power-behaved solutions of this system ( Kasner metric ):

> e5 := simplify( subs({a(t)=a_0*t^p_1,b(t)=b_0*t^p_2,c(t)=c_0*t^p_3},e1) );
e6 := simplify( subs({a(t)=a_0*t^p_1,b(t)=b_0*t^p_2,c(t)=c_0*t^p_3},e2) );
e7 := simplify( subs({a(t)=a_0*t^p_1,b(t)=b_0*t^p_2,c(t)=c_0*t^p_3},e3) );
e8 := simplify( subs({a(t)=a_0*t^p_1,b(t)=b_0*t^p_2,c(t)=c_0*t^p_3},e4) );

e5 := -b_0*t^(p_2-2+p_1+p_3)*p_2*a_0*p_1*c_0-c_0*t^...
e5 := -b_0*t^(p_2-2+p_1+p_3)*p_2*a_0*p_1*c_0-c_0*t^...

e6 := b_0*t^(p_3-2+p_2)*p_2^2*c_0-b_0*t^(p_3-2+p_2)...
e6 := b_0*t^(p_3-2+p_2)*p_2^2*c_0-b_0*t^(p_3-2+p_2)...

e7 := a_0*t^(p_3-2+p_1)*p_1^2*c_0-a_0*t^(p_3-2+p_1)...
e7 := a_0*t^(p_3-2+p_1)*p_1^2*c_0-a_0*t^(p_3-2+p_1)...

e8 := a_0*t^(p_1-2+p_2)*p_1^2*b_0-a_0*t^(p_1-2+p_2)...
e8 := a_0*t^(p_1-2+p_2)*p_1^2*b_0-a_0*t^(p_1-2+p_2)...

If t is not equal to zero, we have:

> e9 := factor( e5/t^(p_2-2+p_1+p_3) );
e10 := factor( e6/t^(p_3-2+p_2) );
e11 := factor( e7/t^(p_3-2+p_1) );
e12 := factor( e8/t^(p_2-2+p_1) );

e9 := -b_0*a_0*c_0*(p_2*p_1+p_3*p_1+p_3*p_2) = 0

e10 := b_0*c_0*(p_2^2-p_2+p_3^2-p_3+p_3*p_2) = 0

e11 := a_0*c_0*(p_1^2-p_1+p_3^2-p_3+p_3*p_1) = 0

e12 := a_0*b_0*(p_1^2-p_1+p_2^2-p_2+p_2*p_1) = 0

> e13 := e9/(-b_0*a_0*c_0);
e14 := e10/(b_0*c_0);
e15 := e11/(a_0*c_0);
e16 := e12/(a_0*b_0);

e13 := p_2*p_1+p_3*p_1+p_3*p_2 = 0

e14 := p_2^2-p_2+p_3^2-p_3+p_3*p_2 = 0

e15 := p_1^2-p_1+p_3^2-p_3+p_3*p_1 = 0

e16 := p_1^2-p_1+p_2^2-p_2+p_2*p_1 = 0

The following manipulation gives a connection between parameters:

> ((e14 + e15 + e16) - e13)/2;

p_2^2-p_2+p_3^2-p_3+p_1^2-p_1 = 0

That is p_1^2 + p_2^2 + p_3^2 = p_1 + p_2 + p_3 (3) .

> collect(e15-e16,{p_2,p_3});

p_3^2+(p_1-1)*p_3-p_2^2+(1-p_1)*p_2 = 0

-p_1^2+(1-p_3)*p_1+p_2^2+(p_3-1)*p_2 = 0


p_3 ( p_3 + p_1 - 1) = p_2 ( p_2 + p_1 - 1),

p_2 ( p_3 + p_2 - 1) = p_1 ( p_3 + p_1 - 1).

The last expressions suggest the simple solution:

( p_3 + p_1 - 1) = p_2 , ( p_2 + p_1 - 1) = p_3 and

( p_3 + p_2 - 1) = p_1 , ( p_3 + p_1 - 1) = p_2 ,


( p_3 + p_1 - 1) = - p_2 , ( p_2 + p_1 - 1) = - p_3 and

( p_3 + p_2 - 1) = - p_1 , ( p_3 + p_1 - 1) = - p_2

The first results in

> p_3 + p_1 - 1 + p_2 + p_1 - 1 + p_3 + p_2 - 1 - (p_1+p_2+p_3);


The second produces

> (p_3 + p_1 - 1 + p_2 + p_1 - 1 + p_3 + p_2 - 1 + (p_1+p_2+p_3))/3;


These expressions in the combination with Eq. (3) suggest that there is only one independent parameter p :

> solve({p_1 + p_2 + p = 1, p_1^2 + p_2^2 + p^2 = 1},{p_1,p_2}):
sol_1 := allvalues(%);#first choice
solve({p_1 + p_2 + p = 3, p_1^2 + p_2^2 + p^2 = 3},{p_1,p_2}):
sol_2 := allvalues(%);#second choice

sol_1 := {p_1 = -1/2*p+1/2-1/2*sqrt(-3*p^2+2*p+1), ...
sol_1 := {p_1 = -1/2*p+1/2-1/2*sqrt(-3*p^2+2*p+1), ...

sol_2 := {p_1 = -1/2*p+3/2-1/2*I*(p-1)*sqrt(3), p_2...
sol_2 := {p_1 = -1/2*p+3/2-1/2*I*(p-1)*sqrt(3), p_2...

So, if the parameters p_1 , p_2 , p_3 are real, we have p_1^2 + p_2^2 + p_3^2 = p_1 + p_2 + p_3 =1 and

> sol_p_1 := factor(subs(sol_1,p_1));
sol_p_2 := factor(subs(sol_1,p_2));
sol_p_3 := 1 - %% - %;

sol_p_1 := -1/2*p+1/2-1/2*sqrt(-(3*p+1)*(p-1))

sol_p_2 := -1/2*p+1/2+1/2*sqrt(-(3*p+1)*(p-1))

sol_p_3 := p

The values of the analyzed parameters are shown in the next figure:

> plot({sol_p_1,sol_p_2,sol_p_3},p=-1/3..1, axes=boxed, title=`powers of t`);

[Maple Plot]

Hence, there are two directions of expansion and one direction of contraction for t-- > infinity (so-called "pancake" singularity ) or one direction of expansion and two direction of contraction for t-- >0 ( "sigar" singularity ).

Now let consider more complicated situation with homogeneous anisotropic metric.

We will use the tetrad notation of Einstein equations that allows to avoid the explicit manipulations with coordinates. In the synchronous frame we have for the homogeneous geometry (here Greek indexes change from 1 to 3) [ L.D. Landau, E.M. Lifshitz, The classical theory of fields, Pergamon Press, Oxford (1962) ]:

g[0,0] = - 1, g[alpha,beta] = eta[a,b] exp(a)[alpha] exp(b)[beta] ,

where eta[a,b] is the time dependent matrix, exp(a)[alpha] is the frame vector ( a changes from 1 to 3, that is the number of space triad). We will use the following representation for eta :

> eta := array([[a(t)^2,0,0],[0,b(t)^2,0],[0,0,c(t)^2]]);#a, b, c are the time-dependent coefficients of anisotropic deformation
eta_inv := inverse(eta):
kappa1 := map(diff,eta,t):#kappa1[a,b]=diff(eta[a,b],t)
kappa2 := multiply( map(diff,eta,t),eta_inv );#kappa2[a]^b=diff(eta[a,b],t)*eta_inv, i.e. we raise the index by eta_inv

eta := matrix([[a(t)^2, 0, 0], [0, b(t)^2, 0], [0, ...

kappa2 := matrix([[2*diff(a(t),t)/a(t), 0, 0], [0, ...

The first vacuum Einstein equation has a form

R[0]^0 = - 1/2 diff(kappa[a]^a,t) - 1/4 kappa[a]^b kappa[b]^a = 0

> eq_1 := evalm( -trace(map(diff,kappa2,t))/2 - trace( multiply(kappa2,transpose(kappa2))/4) ) = 0;#first Einstein equation

eq_1 := -diff(a(t),`$`(t,2))/a(t)-diff(b(t),`$`(t,2...

The next Einstein equations demand the definition of Bianchi structured constants: C^ab = n^ab+e^abc*a[c] , (C^c)[ab] = e[abd] C^dc . Here e[abc] = e^abc is the unit antisymmetric symbol, n^ab is the symmetric "tensor", which can be expressed through its principal values n[i] , a[c] is the vector. The Bianchi types are:

Type a n[1] n[2] n[3]

I 0 0 0 0

II 0 1 0 0

VII 0 1 1 0

VI 0 1 -1 0

IX 0 1 1 1

VIII 0 1 1 -1

V 1 0 0 0

IV 1 0 0 1

VII zeta 0 1 1

III ( zeta =1),

VI ( zeta >< 1) zeta 0 1 -1

We will analyze type IX model, where C^11 = C^22 = C^33 = C[23] [1] = C[31] [2]= C[12] [3] = 1. The curvature P[a]^b = 1/(2*eta) {2 C^bd C[ad] + C^db C[ad] + C^bd C[da] - C[d]^d ( (C^b)[a]+C[a]^b ) + delta[a]^b [ (C^d)[d]^2 - 2 C^df C[df] ]} is

> Cab := array([[1,0,0],[0,1,0],[0,0,1]]);#C^(ab)
C_ab := multiply(eta,eta,Cab);#C[ab]
Ca_b := multiply(eta,Cab);#C[a]^b
C_a_b := multiply(Cab,eta);#C^b[a];
delta := array([[1,0,0],[0,1,0],[0,0,1]]):
evalm( (4*multiply(Cab,C_ab) - trace(C_a_b)*evalm(C_a_b+Ca_b) + delta*(trace(C_a_b)^2-2*trace(multiply(Cab,C_ab))))/(2*det(eta)) ):#here we use the diagonal form of eta and symmetry of structured constants
P := map(simplify,%);

Cab := matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]])

C_ab := matrix([[a(t)^4, 0, 0], [0, b(t)^4, 0], [0,...

Ca_b := matrix([[a(t)^2, 0, 0], [0, b(t)^2, 0], [0,...

C_a_b := matrix([[a(t)^2, 0, 0], [0, b(t)^2, 0], [0...

P := matrix([[-1/2*(-a(t)^4+b(t)^4-2*b(t)^2*c(t)^2+...

So, in the degenerate case a = b = c , t = const this model describes the closed spherical universe with a positive scalar curvature.

Hence we can obtained the next group of vacuum Einstein equations:

R[a]^b = - 1/(2*sqrt(eta)) [( diff(sqrt(eta)*kappa[a]^b,t) ) - P[a]^b ]= 0

> evalm( -map(diff,evalm(sqrt(det(eta))*kappa2),t)/(2*sqrt(det(eta)))):
evalm( map(simplify,%) - P );


The obtained expression gives three Einstein equations:

> eq_2 := Diff( (diff(a(t),t)*b(t)*c(t)),t )/(a(t)*b(t)*c(t)) = ( (b(t)^2-c(t)^2)^2 - a(t)^4 )/(2*a(t)^2*b(t)^2*c(t)^2);
eq_3 := Diff( (diff(b(t),t)*a(t)*c(t)),t )/(a(t)*b(t)*c(t)) = ( (a(t)^2-c(t)^2)^2 - b(t)^4 )/(2*a(t)^2*b(t)^2*c(t)^2);
eq_4 := Diff( (diff(c(t),t)*b(t)*a(t)),t )/(a(t)*b(t)*c(t)) = ( (a(t)^2-b(t)^2)^2 - c(t)^4 )/(2*a(t)^2*b(t)^2*c(t)^2);

eq_2 := Diff(diff(a(t),t)*b(t)*c(t),t)/(a(t)*b(t)*c...

eq_3 := Diff(diff(b(t),t)*a(t)*c(t),t)/(a(t)*b(t)*c...

eq_4 := Diff(diff(c(t),t)*b(t)*a(t),t)/(a(t)*b(t)*c...

The last group of Einstein equations results from

R[a]^0 = - 1/2 kappa[b]^c ( (C^b)[ca] - delta[a]^b (C^d)[dc] ) = 0

It is obvious, that in our case this equation is identically zero (see expression for (C^b)[ca] ). The substitutions of a = exp(alpha) , b = exp(beta) , c = exp(gamma) (do not miss these exponents with frame vectors!), dt = a b c ( d tau ) and the expressions diff(a,t) = diff(a,tau) diff(tau,t) = diff(a,tau)/(a*b*c) = diff(alpha,tau)/(b*c) and diff(diff(a,t),t) = 1/(a*b*c) diff(diff(alpha,tau)/(b*c),tau) = 1/(a*b*c) [ diff(diff(alpha,tau),tau)/(b*c) - ( (diff(gamma,tau)+diff(beta,tau))/(b*c) ) diff(alpha,tau) ] result in the simplification of the equations form:

> eq_1 := diff((alpha(tau)+beta(tau)+gamma(tau)), tau$2)/2 = diff(alpha(tau), tau)*diff(beta(tau),tau) + diff(alpha(tau),tau)*diff(gamma(tau),tau) + diff(beta(tau),tau)*diff(gamma(tau),tau);
eq_2 := 2*diff(alpha(tau),tau$2) = (b(t)^2-c(t)^2)^2-a(t)^4;
eq_3 := 2*diff(beta(tau),tau$2) = (a(t)^2-c(t)^2)^2-b(t)^4;
eq_4 := 2*diff(gamma(tau),tau$2) = (a(t)^2-b(t)^2)^2-c(t)^4;

eq_1 := 1/2*diff(alpha(tau),`$`(tau,2))+1/2*diff(be...

eq_2 := 2*diff(alpha(tau),`$`(tau,2)) = (b(t)^2-c(t...

eq_3 := 2*diff(beta(tau),`$`(tau,2)) = (a(t)^2-c(t)...

eq_4 := 2*diff(gamma(tau),`$`(tau,2)) = (a(t)^2-b(t...

Comparison of obtained equations with above considered Kasner's type equations suggests that these systems are identical if the right-hand sides of eq_2 , eq_3 and eq_4 are equal to zero. Therefore we will consider the system's evolution as dynamics of Kasner's solution perturbation. In this case tau = ln(t) + const ( dt = a b c d tau = t^(p[1]+p[2]+p[3]) d tau , as result d tau = dt/t ) and diff(alpha,tau) = p[1] , diff(beta,tau) = p[2] , diff(gamma,tau) = p[3] . We assume that the right-hand sides are close to zero, but contribution of exp(4*alpha) -terms dominates. Hence:

> eq_5 := diff(alpha(tau),`$`(tau,2)) = -exp(4*alpha(tau))/2;
eq_6 := diff(beta(tau),`$`(tau,2)) = exp(4*alpha(tau))/2;
eq_7 := diff(gamma(tau),`$`(tau,2)) = exp(4*alpha(tau))/2;

eq_5 := diff(alpha(tau),`$`(tau,2)) = -1/2*exp(4*al...

eq_6 := diff(beta(tau),`$`(tau,2)) = 1/2*exp(4*alph...

eq_7 := diff(gamma(tau),`$`(tau,2)) = 1/2*exp(4*alp...

The first equation is analog of equation describing the one-dimensional motion ( alpha is the coordinate) in the presence of exponential barrier:

> p:= dsolve({eq_5,alpha(5)=-2,D(alpha)(5)=-0.5},alpha(tau),type=numeric):

> with(plots):
display(%,%%,view=-1..1,axes=boxed, title=`reflection on barrier`);

[Maple Plot]

We can see, that the"particle" with initial velocity p[1] = -0.5 (green curve) is reflected on barrier (red curve) with change of velocity sign. But eq_5 , eq_6 , eq_7 results in p[1]+p[2] = const , p[1]+p[3] = const therefore

(p^new)[2] = p[2] + p[1] - (p^new)[1] = p[2] + 2 p[1] , (p^new)[3] = p[3] + p[1] - (p^new)[1] = p[3] + 2 p[1] ,

t = a b c = exp((1+2*p[1])*tau) ,

and the result is:

a = t^(-p[1]/(1+2*p[1])) , b = t^((p[2]+2*p[1])/(1+2*p[1])) , c = t^((p[3]+2*p[1])/(1+2*p[1]))

The following procedure gives a numerical algorithm for iteration of powers of t .

> iterations := proc(iter,p)
p_1_old := evalhf( -1/2*p+1/2-1/2*sqrt(-(3*p+1)*(p-1)) );
p_2_old := evalhf( -1/2*p+1/2+1/2*sqrt(-(3*p+1)*(p-1)) );
p_3_old := evalhf( p ):

for m from 1 to iter do
if(p_1_old<0) then
pp := evalhf(1+2*p_1_old):
p_1_n := evalhf(-p_1_old/pp):
p_2_n := evalhf((p_2_old+2*p_1_old)/pp):
p_3_n := evalhf((p_3_old+2*p_1_old)/pp):
else fi:

if(p_2_old<0) then
pp := evalhf(1+2*p_2_old):
p_1_n := evalhf((p_1_old+2*p_2_old)/pp):
p_2_n := evalhf(-p_2_old/pp):
p_3_n := evalhf((p_3_old+2*p_2_old)/pp):
else fi:

if(p_3_old<0) then
pp := evalhf(1+2*p_3_old):
p_1_n := evalhf((p_1_old+2*p_3_old)/pp):
p_2_n := evalhf((p_2_old+2*p_3_old)/pp):
p_3_n := evalhf(-p_3_old/pp):
else fi:

p_1_old := p_1_n:
p_2_old := p_2_n:
p_3_old := p_3_n:
if m = iter then pts := [p_1_old, p_2_old,p_3_old] fi;

Warning, `p_1_old` is implicitly declared local to procedure `iterations`

Warning, `p_2_old` is implicitly declared local to procedure `iterations`

Warning, `p_3_old` is implicitly declared local to procedure `iterations`

Warning, `m` is implicitly declared local to procedure `iterations`

Warning, `pp` is implicitly declared local to procedure `iterations`

Warning, `p_1_n` is implicitly declared local to procedure `iterations`

Warning, `p_2_n` is implicitly declared local to procedure `iterations`

Warning, `p_3_n` is implicitly declared local to procedure `iterations`

Warning, `pts` is implicitly declared local to procedure `iterations`

> with(plots):
pointplot3d({seq(iterations(i,0.6), i=1 .. 8)},symbol=diamond,axes=BOXED,labels=[p_1,p_2,p_3]);
pointplot3d({seq(iterations(i,0.6), i=7 .. 12)},symbol=diamond,axes=BOXED,labels=[p_1,p_2,p_3]);

[Maple Plot]

[Maple Plot]

One can see, that the evolution has character of switching between different Kasner's epochs (all points lie on the section of sphere p_1^2 + p_2^2 + p_3^2 =1 by plane p_1 + p_2 + p_3 =1). The negative power of t increases the corresponding scaling factor if t-- >0. In the upper figure the periodical change of signs takes place between y - and z - directions. The universe oscillates in these directions and monotone contracts in x- direction ( t-- >0). Next the evolution changes (lower figure): x- z oscillations are accompanied by the contraction in y -direction. The whole picture is the switching between different oscillations as the result of logarithmical approach to singularity. It is important, that there is a strong dependence on initial conditions that can cause the chaotical scenario of oscillations:

> pointplot3d({seq(iterations(i,0.601), i=1..100)},symbol=diamond,axes=BOXED,labels=[p_1,p_2,p_3],title=`Kasner's epochs (I)`);
pointplot3d({seq(iterations(i,0.605), i=1..100)},symbol=diamond,axes=BOXED,labels=[p_1,p_2,p_3],title=`Kasner's epochs (II)`);

[Maple Plot]

[Maple Plot]

So, we can conclude that the deflection from isotropy changes the scenario of the universe's evolution in the vicinity of singularity, so that the dynamics of the geometry looks like chaotical behavior of the deterministic nonlinear systems (so-called Mixmaster universe , see J. Wainwright, C.F.R. Ellis, eds., Dynamical systems in cosmology, Cambridge University press, Cambridg (1997) ).


The above-considered standard homogeneous models face the challenge of so-called horizon . The homogeneity of the universe results from the causal connection between its different regions. But the distance between these regions is defined by the time of expansion. Let's find the maximal distance of the light signal propagation in the expanding region. As ds^2 = 0 the accompanying radial coordinate of horizon is

> r = Int(1/a(t),t=0..t0);# t0 is the age of the universe
r = Int(1/y(tau),tau=-t0*H0..0)/(a0*H0);

r = Int(1/a(t),t = 0 .. t0)

r = Int(1/y(tau),tau = -t0*H0 .. 0)/(a0*H0)

For instance, in the Einstein-de Sitter model we have

> int( subs(y(tau)=1/4*(12*tau+8)^(2/3),1/y(tau)), tau=-2/3..0)/(a0*H0):# we use the above obtained expressions for this model
simplify( subs(a0=1/4*(12*0+8)^(2/3),%),radical );


and in the Friedmann-Lemaitre:

> int( subs(y(phi)=Omega[M]*(1-cos(2*phi))/(2*b),1/2*Omega[M]*(2-2*cos(2*phi))/(b^(3/2))/y(phi)),phi )/a0/H0;# we use the above obtained expressions for this model
simplify( subs(K=-1,subs(b=-K/a0^2/H0^2,%)),radical,symbolic );#b=Omega[M]-1=Omega[K] and K=-1 (spherical universe)



The last example is of interest. The increase of phi from 0 to Pi /2 corresponds to expansion of universe up to its maximal radius (see above). At the moment of maximal expansion the observer can see the photons from antipole of universe that corresponds to formation of full causal connection:

> plot([2*phi-sin(2*phi),2*phi],phi=0..Pi, title=`age of universe and time of photon travel (a.u.)`);

[Maple Plot]

This figure shows the age of Friedmann-Lemaitre universe in comparison with the time of photon propagation from outermost point of universe. For phi < Pi /2 there are the regions, which don't connect with us. After this points there is the causal connection. At the moment of recollapse the photons complete revolutions around universe.

The different approaches were developed in order to overcome the problem of horizon (see above considered loitering and Mixmaster models). But the most popular models are based on the so-called inflation scenario , which can explain also the global flatness of universe (see, for example, A.D. Linde, Particle physics and inflationary cosmology, Harwood academic press, Switzerland (1990) , on-line reviews A. Linde, Lectures on inflationary cosmology, arXiv: hep-th/9410082, R.H. Brandenberger, Inflationary cosmology: progress and problems, arXiv: hep-ph/9910410).

For escape the horizon problem we have to suppose the accelerated expansion with diff(a(t),`$`(t,2)) > 0. As result of this condition, the originally causally connected regions will expand faster, than the horizon expands. So, we observe the light from the regions, which was connected at the early stage of universe's evolution. In the subsection "Standard models" we derived from Einstein equations the energy conservation low basic_2 :

diff(a(t),`$`(t,2))/a(t) = -4*Pi*(p(t)+rho(t)/3)+La...

This equation demonstrates that in the usual conditions ( p > 0) the pressure is a source of gravitation, but if p < - rho/3 ( Lambda =0) or Lambda > 4 Pi rho ( p =0) the repulsion dominates and the expansion is accelerated. As the source of the repulsion, the scalar "inflaton" field phi is considered.

Let us introduce the simple Lagrangian for this homogeneous field:

L =- 1/2 diff(phi,x[i]) diff(phi,x[j]) g^ij - V ( phi ),

where V is the potential energy. The procedure, which was considered in first section, allows to derive from this Lagrangian the field equation:

1/sqrt(-g) diff(sqrt(-g)*g^ij*diff(phi,x[j]),x[i]) + diff(V,phi) = 0.

In the case of flat RW metric this equation results in:

> coord := [t, r, theta, phi]:
g_compts := array(symmetric,sparse,1..4,1..4):
g_compts[1,1] := -1:
g_compts[2,2] := a(t)^2:
g_compts[3,3]:= a(t)^2*r^2:
g_compts[4,4]:= a(t)^2*r^2*sin(theta)^2:
g := create([-1,-1], eval(g_compts)):#definition of flat RW metric
d1g:= d1metric(g, coord):
g_inverse:= invert( g, 'detg'):
Cf1:= Christoffel1 ( d1g ):
Cf2:= Christoffel2 ( g_inverse, Cf1 ):
det_scal := simplify( sqrt( -det( get_compts(g) ) ),radical,symbolic ):
g_det_sq := create([], det_scal):#sqrt(-g)
field := create([], phi(t)):#field
#calculation of first term in the field equation
cov_diff( field, coord, Cf2 ):
T := prod(g_inverse,%):
Tt := prod(g_det_sq,%):
Ttt := cov_diff( Tt, coord, Cf2 ):
field_eq := % + diff(V(phi),phi) = 0;

field_eq := 3*diff(phi(t),t)*diff(a(t),t)/a(t)+diff...

Now let's define the energy-momentum tensor for first Einstein equation:

T[ij] = g[ij] L - g[jl] f[x_i] diff(L,f[x_l]) ,

where f[x_i] = diff(phi,x[i]) . As consequence, rho = [- 1/2 diff(phi,t)^2 + V ( phi )] + diff(phi,t)^2 = 1/2 diff(phi,t)^2 + V ( phi ) , and (for i , j = 1,2,3) T[ij] = g[ij] ( 1/2 diff(phi,t)^2 - V ( phi )) --> p = 1/2 diff(phi,t)^2 - V ( phi ). Last expression emplies that the necessary condition p < - rho/3 may result from large V .

The dynamics of our system is guided by coupled system of equations:

> basic_inf_1 := K/(a(t)^2)+diff(a(t),t)^2/(a(t)^2) = 8/3*Pi*(1/2*diff(phi(t),t)^2+V(phi));#see above E[1]
basic_inf_2 := field_eq;

basic_inf_1 := K/(a(t)^2)+diff(a(t),t)^2/(a(t)^2) =...

basic_inf_2 := 3*diff(phi(t),t)*diff(a(t),t)/a(t)+d...

The meaning of K is considered earlier, here we will suppose K =0 (local flatness). In the slow-rolling approximation diff(phi(t),`$`(t,2)) , diff(phi(t),t)^2 -- >0 and for potential V ( phi )= m*phi^2/2 we have:

> basic_inf_1_n := subs(K=0,K/(a(t)^2)+diff(a(t),t)^2/(a(t)^2)) = 8/3*Pi*m^2*phi(t)^2/2;#see above E[1]
basic_inf_2_n := op(1,lhs(field_eq))+

basic_inf_1_n := diff(a(t),t)^2/(a(t)^2) = 4/3*Pi*m...

basic_inf_2_n := 3*diff(phi(t),t)*diff(a(t),t)/a(t)...

> dsolve({basic_inf_1_n,basic_inf_2_n,phi(0)=phi0,a(0)=a0},{phi(t),a(t)}):

{a(t) = exp(-1/6*m^2*t^2)*a0/exp(2/3*phi0*sqrt(Pi)*...

One can see, that for phi[0] >>1 there is an quasi-exponential expansion (inflation) of universe:

a ( t )= a[0] exp(H*t) , where H = 2 sqrt(Pi/3) phi[0] m

When t ~ 2*sqrt(3*Pi)/m phi[0] the regime of slow rolling ends and the potential energy of inflaton field converts into kinetic form that causes the avalanche-like creation of other particles from vacuum (so-called " reheating "). Only at this moment the scenario become similar to Big Bang picture. What is the size of universe after inflation?

> a(t)=subs( {H=2*sqrt(Pi/3)*phi[0]*m,t=2*sqrt(3*Pi)/m*phi[0]},a[0]*exp(H*t) );

a(t) = a[0]*exp(4*Pi*phi[0]^2)

If at the beginning of inflation the energy and size of universe are defined by Plank density and length, then m^2 (phi^2)[0] ~1, a[0] ~10^(-33) cm . The necessary value of m ~10^(-6) is constrained from the value of fluctuation of background radiation ( ~10^(-5) ). As result a ~ 10^(-33) exp(4*Pi/(m^2)) = 10^(-33) exp(4*Pi*10^12) cm , that is much larger of the observable universe. This is the reason why observable part of universe is flat, homogeneous and isotropic.

Let's return to basic_inf_2 . The reheating results from oscillation of inflaton field around potential minimum that creates new boson particles. The last damps the oscillations that can be taking into consideration by introducing of dumping term in basic_inf_2 :

> reh_inf := 3*diff(phi(t),t)*H+Gamma*diff(phi(t),t)+diff(phi(t),`$`(t,2)) = -m^2*phi(t);

reh_inf := 3*diff(phi(t),t)*H+Gamma*diff(phi(t),t)+...

Here H is the Hubble constant, Gamma is the decay rate, which is defined by coupling with material boson field. When H > Gamma , there are the coherent oscillations:

> dsolve(subs(Gamma=0,reh_inf),phi(t));

phi(t) = _C1*exp(-1/2*(3*H+sqrt(-(2*m-3*H)*(2*m+3*H...

diff(phi(t),t) = _C1*(-3/2*H-1/2*sqrt(-(2*m-3*H)*(2...
diff(phi(t),t) = _C1*(-3/2*H-1/2*sqrt(-(2*m-3*H)*(2...

The last expression demonstrates the decrease of energy density via time increase ( rho ~ diff(phi,t)^2 ) and, as result, the decrease of H (see basic_inf_1 ). This leads to H < Gamma , that denotes the reheating beginning.

In the conclusion of this short and elementary description it should be noted, that the modern inflation scenarios modify the standard model essentially. The Universe here looks like fractal tree of bubbles-universes, inflating and recollapsing foams, topological defects etc. The main features of this picture wait for thorough investigations.


Our consideration was brief and I omitted some important topics like perturbation theory for black holes and cosmological models, Penrose diagrams and conformal mappings for investigation of causal structure, gravitational waves etc. But I suppose to advance this worksheet hereafter.

LaTeX - version of this worksheet can be found on