Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
FREGRAVOL1.pdf
Скачиваний:
73
Добавлен:
05.06.2015
Размер:
5.17 Mб
Скачать

324

8 Conclusion of Volume 1

In this example the test particle, placed at distance of only 10 Schwarzschild radii from the center falls into the singularity in just two revolutions if its eccentricity is different from zero, no matter how it is small.

B.2 Metrigravpack

This is a MATHEMATICA package for the calculation of the Riemann and Ricci tensors of an arbitrary (pseudo) Riemannian metric in arbitrary space-time dimensions using the standard tensor calculus. It is an interactive package that is initialized and then waits fur further inputs by the user.

Metric Gravity

In this section we provide a package to calculate Einstein equations for any given metric in arbitrary dimensions and using the metric formalism

Routines: Metrigrav This routine is devised to calculate the Levi Civita connection, the Riemann curvature and the Einstein Tensor for general manifolds in the metric formalism. The inputs are

(1)the dimension n

(2)the set of coordinates a n vector = coordi

(3)the set of differentials, a n vector = diffe

(4)the metric given as a quadratic differential ds2=g[[i,j ]] dxi dxj .

TO START this programme you type mainmetric and then you follow instructions

Mainmetric

,

,

mainmetric:=

Print["OK I calculate your space, Give me the data"]; Print["Give me the dimension of your space"]; mdim = Input["dimension = ?"];

Print["Your space has dimension n = ", mdim];

Print["Now I stop and you give me two vectors of dimension ", mdim]; Print["vector coordi = vector of coordinates"];

Print["vector diffe = vector of differentials"]; Print["Next you give me the metric as ds2 = "];

Print["Then to resume calculation you print metricresume"];

-;

-

,

firstres:= Print "I resume the calculation"

, [ ];

Print["First I extract the metric coefficients from your data"]; gg = Table[0, {i, 1, mdim}, {j, 1, mdim}];

B Mathematica Packages

325

Do[{Do[{gg[[i,j]] = 21 (Coefficient[ds2, diffe[[i]] diffe[[j]]]);

gg[[j,i]] = 21 (Coefficient[ds2, diffe[[i]] diffe[[j]]]);

}, {j, i + 1, mdim}];

2

gg[[i,i]] = Coefficient[ds2, diffe[[i]]]; }, {i, 1, mdim}];

Print["Then I calculate the inverse metric"];

ggm = Simplify[Inverse[gg]]; Print["Done !"];

Print["and I calculate also the metric determinant"]; detto = Simplify[Det[gg]];

Print "Done"

[ ]; -;

-

Metricresume

metricresume:={ firstres; metrigrav; }

Routine Metrigrav

,

,

metrigrav:= holviel = diffe;

Print["I perform the calculation of the Christoffel symbols"]; Gam = Table[0, {i, 1, mdim}, {j, 1, mdim}, {k, 1, mdim}]; Do[

Do[

mdim

[{ = [ 1

Do Gam[[a,b,c]] Simplify 2 (ggm[[a,m]]

m=1

(∂coordi[[b]] gg[[m,c]]

+coordi[[c]] gg[[m,b]]

coordi[[m]] gg[[b,c]])), Trig True]; }, {c, 1, mdim}], {b, 1, mdim}],

{a, 1, mdim}];

mdim

= [ { } { }];

Conne Table holviel[[b]] Gam[[a,b,c]], a, 1, mdim , c, 1, mdim

b=1

Print["—————–"]; Print["I finished"];

Print["the Levi Civita connection is given by:"]; Do[Do[

Print["Γ [", i, j, "] = ", Conne[[i,j]]], {j, 1, mdim}], {i, 1, mdim}]; Print["Task finished"];

Print["The result is encoded in a tensor Gam[a,b,c]"]; Print["—————–"];

Print[" Now I calculate the Riemann tensor"];

Rie = Table[0, {a, 1, mdim}, {b, 1, mdim}, {f, 1, mdim}, {g, 1, mdim}];

Print["I tell you my steps :"];

Do[{Print[" a = ", a]; Do[{Print[" b = ", b]; Do[Do[{

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]