\(
\)

<< EDCRGTCcode.m

Example 5: Floratos-Kehagias 8-dim Ricci-flat metric (hep_th/9802107)

Clear[u, g, h, a, b, c];

xCoord = {x1, x2, x3, x4, x5, x6, x7, x8};

gFloKeh = {{u^2 g^2 h^2, 0, 0, 0, 0, 0, 0, 0}, {0, u^2 g^2 h^2, 
            0, 0, 0, 0, 0, 0}, {0, 0, 1/u^2, 0, 0, 0, 0, 2  a/u^2}, {0, 0, 0, 
            1/g^2, 2  b/g^2, 0, 0, 0}, {0, 0, 0, 2  b/g^2, g^2 + 4  b^2/g^2, 
            0, 0, 0}, {0, 0, 0, 0, 0, h^2 + 4  c^2/h^2, 2  c/h^2, 0}, {0, 0, 
            0, 0, 0, 2  c/h^2, 1/h^2, 0}, {0, 0, 2  a/u^2, 0, 0, 0, 0, 
            4  a^2/u^2 + u^2}};

The symbols u, g, h, a, b, c are functions  x1, x2 :

u = U[x1, x2]; g = G[x1, x2]; h = H[x1, x2]; a = A[x1, x2]; 
    b = B[x1, x2]; c = C[x1, x2];

The complex functions u^2 +2 i a, g^2 +2 i b, h^2 +2 i c  are assumed to be analytic functions of x1+i x2. Therefore, use simpRules to implement the Cauchy-Riemann & harmonic function conditions:

simpRules={D[a, x1] -> -u D[u, x2],D[a, x2] -> u D[u, x1],D[b, x1] -> -g D[g, x2],D[b, x2] -> g D[g, x1],D[c, x1] -> -h D[h, x2],D[c, x2] -> h D[h, x1],Z_.Derivative[0, 2][G_][x1, x2]+Z_.Derivative[2, 0][G_][x1, x2]:>-Z(Derivative[1, 0][G][x1, x2]^2+Derivative[0, 1][G][x1, x2]^2)/G[x1, x2]}

RGtensors[gFloKeh, xCoord]

\(
\)

zeroQ[Bianchi[1]] in this case gives False (after ~30 sec)! The reason is that the simpRules used imply relations among the 3rd derivatives of the functions U[x1,x2], G[x1,x2], H[x1,x2].

	Exercise: Find the additional two rules needed to satisfy the Bianchi identities.

Solution:

zeroQ[Bianchi[2]] // Timing

zeroQ[Bianchi[1]] // Timing

FALSE!!!

zer0=Derivative[0, 2][G][x1, x2]+ Derivative[2, 0][G][x1, x2]+((((Derivative[1, 0][G][x1, x2])^2)+((Derivative[0, 1][G][x1, x2])^2))/(G[x1, x2]));zer0 /. simpRules

This equation -- the condition that  G[x1, x2]^2is a  harmonic function --  is contained in simpRules. The Bianchi identities involve 3rd derivatives of metric functions like G[x1,x2]. Therefore, one must use two more rules that will satisfy the x1, x2 derivatives of this equation:

rule1=Solve[D[zer0, x1] == 0, Derivative[3, 0][G][x1, x2]][[1]]

rule2=Solve[D[zer0, x2] == 0, Derivative[0, 3][G][x1, x2]][[1]]

Use a pattern because U[x1,x2] and H[x1,x2]  also satisfy this equation:

DG3Rul={Derivative[3, 0][G_][x1, x2]:>((Derivative[1, 0][G][x1, x2] (((Derivative[0, 1][G][x1, x2])^2)+((Derivative[1, 0][G][x1, x2])^2)))/(G[x1, x2]^2))-Derivative[1, 2][G][x1, x2]-(1/G)[x1, x2](2 Derivative[0, 1][G][x1, x2] Derivative[1, 1][G][x1, x2]+2 Derivative[1, 0][G][x1, x2] Derivative[2, 0][G][x1, x2]),Derivative[0, 3][G_][x1, x2]:>((Derivative[0, 1][G][x1, x2] (((Derivative[0, 1][G][x1, x2])^2)+((Derivative[1, 0][G][x1, x2])^2)))/(G[x1, x2]^2))-(1/G)[x1, x2](2 Derivative[0, 1][G][x1, x2] Derivative[0, 2][G][x1, x2]+2 Derivative[1, 0][G][x1, x2] Derivative[1, 1][G][x1, x2])-Derivative[2, 1][G][x1, x2]};

simpRules

zeroQ[FacSimp[Bianchi[1] /. DG3Rul //. simpRules]] // 
      Timing

TRUE

The calculation takes much less because the differentiations are not performed again -- covD and covDiv remember their values.

Clear[u, g, h, a, b, c, U, G, H]