2
$\begingroup$

I am asking for Mathematica package that given an input of: symmetric matrix $G_{\mu\nu}$, antisymmetric matrix $B_{\mu\nu}$ and a scalar function $\Phi$ will check whether it is a solution to the one-loop string theory constraints of Weyl invariance: $\beta_{\mu\nu}(G)= \beta_{\mu\nu}(B) = \beta(\Phi)=0$ which is given in David Tong lectures section 7.2.3 or more explicitely for non-critical string theory with cosmological constant $\Lambda$ (which described in section 7.4.4) are given by:

$$R_{\mu\nu}+2\nabla_{\mu}\nabla_{\nu}\Phi-\frac{1}{4}H_{\mu\lambda k}H_{\nu}^{\lambda k}=0$$

$$-\frac{1}{2}\nabla^{\lambda}H_{\lambda \mu \nu}+\nabla^{\lambda}\Phi H_{\lambda \mu \nu}=0$$

$$\frac{\Lambda}{2}-\frac{1}{2}\nabla^2\Phi+\nabla_{\mu}\Phi\nabla^{\mu}\Phi-\frac{1}{24}H_{\mu\nu\lambda}H^{\mu\nu\lambda}=0$$

Where $H$ is a 3-form given in terms of antisymettric $B_{\mu\nu}$: $$H_{\mu\nu\rho}=\partial_{\mu}B_{\nu\rho}+\partial_{\nu}B_{\rho\mu}+\partial_{\rho}B_{\mu\nu}$$

$\endgroup$
1
  • $\begingroup$ Look for the RGTC package, also possible xACT could do it as well. Otherwise one could also just calculate directly the relevant quantities, given a metric. $\endgroup$
    – Hans Olo
    Commented Jun 9 at 18:50

1 Answer 1

1
$\begingroup$

I have found the following script:

InverseMetric[g_,xx_]:=Block[{res},res=Simplify[Inverse[g]];
res]

HTensor[b_,xx_]:=Block[{n,res},n=Length[xx];
res=Table[D[b[[k,l]],xx[[i]]]+D[b[[l,i]],xx[[k]]]+D[b[[i,k]],xx[[l]]],{i,1,n},{k,1,n},{l,1,n}];
res]

ChristoffelSymbol[g_,xx_]:=Block[{n,ig,res},n=Length[xx];
ig=InverseMetric[g,xx];
res=Table[(1/2)*Sum[ig[[i,s]]*(-D[g[[j,k]],xx[[s]]]+D[g[[j,s]],xx[[k]]]+D[g[[s,k]],xx[[j]]]),{s,1,n}],{i,1,n},{j,1,n},{k,1,n}];
res]

RiemannTensor[g_,xx_]:=Block[{n,Chr,res},n=Length[xx];
Chr=ChristoffelSymbol[g,xx];
res=Table[D[Chr[[i,k,m]],xx[[l]]]-D[Chr[[i,k,l]],xx[[m]]]+Sum[Chr[[i,s,l]]*Chr[[s,k,m]],{s,1,n}]-Sum[Chr[[i,s,m]]*Chr[[s,k,l]],{s,1,n}],{i,1,n},{k,1,n},{l,1,n},{m,1,n}];
res]

RicciTensor[g_,xx_]:=Block[{Rie,res,n},n=Length[xx];
Rie=RiemannTensor[g,xx];
res=Table[Sum[Rie[[s,i,s,j]],{s,1,n}],{i,1,n},{j,1,n}];
res]

RicciScalar[g_,xx_]:=Block[{Ric,ig,res,n},n=Length[xx];
ig=InverseMetric[g,xx];
Ric=RicciTensor[g,xx];
res=Sum[Ric[[i,j]]ig[[i,j]],{i,1,n},{j,1,n}];
res]

BetaG[g_,b_,\[CapitalPhi]_,xx_]:=Block[{Ric,res,ht,ig,Chr,n},n=Length[xx];
Ric=RicciTensor[g,xx];
Chr=ChristoffelSymbol[g,xx];
ig=InverseMetric[g,xx];
ht=HTensor[b,xx];
res=Table[Ric[[i,j]]-(1/4)Sum[ht[[i,l,u]] ht[[j,q,s]]ig[[l,q]]ig[[u,s]],{l,1,n},{q,1,n},{u,1,n},{s,1,n}]+2(D[D[\[CapitalPhi],xx[[i]]],xx[[j]]]-Sum[ Chr[[v,i,j]]D[\[CapitalPhi],xx[[v]]],{v,1,n}]),{i,1,n},{j,1,n}];
res]

BetaB[g_,b_,\[CapitalPhi]_,xx_]:=Block[{res,ht,ig,Chr,n},n=Length[xx];
Chr=ChristoffelSymbol[g,xx];
ig=InverseMetric[g,xx];
ht=HTensor[b,xx];
res=Table[-(1/2)(Sum[ig[[m,l]](D[ht[[l,i,j]],xx[[m]]]-Sum[Chr[[s,m,l]] ht[[s,i,j]],{s,1,n}]-Sum[Chr[[s,m,i]] ht[[l,s,j]],{s,1,n}]-Sum[Chr[[s,m,j]] ht[[l,i,s]],{s,1,n}]),{m,1,n},{l,1,n}]-Sum[2ig[[m,l]]D[\[CapitalPhi],xx[[m]]] ht[[l,i,j]],{m,1,n},{l,1,n}]),{i,1,n},{j,1,n}];
res]

Beta\[CapitalPhi][g_,b_,\[CapitalPhi]_,xx_]:=Block[{Ric,res,ht,ig,Chr,n},n=Length[xx];
Ric=RicciScalar[g,xx];
Chr=ChristoffelSymbol[g,xx];
ig=InverseMetric[g,xx];
ht=HTensor[b,xx];
res=\[CapitalLambda]+Sum[ig[[i,j]]D[\[CapitalPhi],xx[[i]]]D[\[CapitalPhi],xx[[j]]],{i,1,n},{j,1,n}]-1/2 Sum[ig[[i,j]](D[D[\[CapitalPhi],xx[[i]]],xx[[j]]]-Sum[ Chr[[v,i,j]]D[\[CapitalPhi],xx[[v]]],{v,1,n}]),{i,1,n},{j,1,n}]-1/24 Sum[ht[[i,l,u]] ht[[j,q,s]]ig[[i,j]]ig[[l,q]]ig[[u,s]],{i,1,n},{j,1,n},{l,1,n},{q,1,n},{u,1,n},{s,1,n}];
res]

Where each of the beta functions are the effective equation which should vanish for effective solutions of $(G,B,\Phi)$ To use those functions one should first of all define a coordinate system (given as $xx$ in the functions) and then write $G$ and $B$ in a matrix form. eventually one needs to specify a cosmological constant appears as $\Lambda$ in the $\beta_{\Phi}$ equation

$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.