Exit

<<xAct`xPert`
<<xAct`xTras`

(* defining a product metric and conformal metric*)

DefConstantSymbol[n1]
DefConstantSymbol[n2]
DefManifold[AdS,n1,{μ,ν,α,β,δ,γ,αs,βs,δs,γs}]
DefManifold[M,n2,{a,b,c,d,e,f,g,h,as,bs,cs,ds,es,fs,gs,hs}]
DefMetric[-1,gAdS[-μ,-ν],CDads,{";","Dads"}]
DefMetric[1,gM[-a,-b],CDM7,SymbolOfCovD->{";","𝔇M"}]
DefManifold[M10,{AdS,M}, {AS,BS,CS,DS,ES,FS,GS,HS,IS,JS,KS,LS,MS,NS}]
DefTensor[A[],M10]
DefTensor[X[-AS,-BS],M10]
DefProductMetric[g10[-AS,-BS],{{TangentAdS,Exp[ A[]]},{TangentM,1}},CD10,SymbolOfCovD->{";","𝔇10"}]
DefMetric[-1,g10bar[-AS,-BS],CD10bar,{"£","(OverTilde[∇])10"},ConformalTo->{g10[-AS,-BS],(Exp[A[]])^2},PrintAs->"Gbar"]
org[expr_]:=Collect[ContractMetric[expr],$PerturbationParameter,ToCanonical]

(* warped product and confromal metric require you to input expressions in a cannonical form to work properly, namely the only object with rasied indices should be the metric*)

(* comparison of contraction of indices using warped product metric*)

(* wrong *)

ExpandProductMetric[TraceProductDummy[X[AS,BS]X[-AS,-BS]]]

(* wrong *)

ExpandProductMetric[TraceProductDummy[X[AS,BS]X[CS,DS]g10[-AS,-CS]g10[-BS,-DS]]]//org

(* correct only when you let the metric contain the only rasied indices*)

ExpandProductMetric[TraceProductDummy[g10[AS,CS]g10[BS,DS]X[-AS,-BS]X[-CS,-DS]]]//org

(* comparison of contraction of indices using conformal metric*)

change[exp_]:=ChristoffelToGradConformal[NoScalar[ChangeCovD[ChangeCurvature[exp,CD10bar,CD10],CD10bar,CD10]/.ConformalRules[g10bar,g10]],g10bar, g10]

(* wrong, I do understand why I am just illustrating the point*)

change[X[AS,BS]X[CS,DS] g10bar[-AS,-CS]g10bar[-BS,-DS]]//org

(* correct *)

change[X[-AS,-BS]X[-CS,-DS] Invg10bar[AS,CS]Invg10bar[BS,DS]]//org

(* other built in things such a perterbations do not express things in this only metric with rasied index fashion*)

DefMetricPerturbation[g10,HH,ϵϵ]

ExpandPerturbation[Perturbation[RicciScalarCD10[],1]]

(* even if I give it input in this form*)

ExpandPerturbation[Perturbation[g10[AS,CS]g10[BS,DS]RiemannCD10[-AS,-BS,-CS,-DS],1]]