Mathematica
2014 VerS MathematicaVer6 Tensorial Tensorial http : // www.jfgouyet.fr / tcm / tcm.html MathTensor xAct Mathmatica9  Windows8.1 xAct http : // www.xact.es / xAct Document and Setting \Application\Mathematica Applications Mathematica MathematicaVer9 << xAct`xTensor` --- Package xAct`xPerm`  version 1.2.0, {2013, 1, 27} CopyRight (C) 2003-2013, Jose M. Martin-Garcia, under the General Public License. Connecting to external cygwin executable... Connection established. --- Package xAct`xTensor`  version 1.0.5, {2013,1, 30} CopyRight (C) 2002-2013, Jose M. Martin-Garcia, under the General Public License. --- These packages come with ABSOLUTELY NO WARRANTY; for details type Disclaimer[]. This is free software, and you are welcome to redistribute it under certain conditions. See the General Public License for details. --- xCoba DefBasis[]  DefVBundle[] xCoba Tensor Tensorial xCoba xAct << xAct xcoba Package xAct`xPerm`  version 1.2.0, {2013, 1, 27} CopyRight (C) 2003-2013, Jose M. Martin-Garcia, under the General Public License. Connecting to external cygwin executable... Connection established. --- Package xAct`xTensor`  version 1.0.5, {2013,1, 30} CopyRight (C) 2002-2013, Jose M. Martin-Garcia, under the General Public License. --- Package xAct`xCoba`  version 0.8.0, {2013,1, 30} CopyRight (C) 2005–2013, David Yllanes and Jose M. Martin-Garcia, under the General Public License. These packages come with ABSOLUTELY NO WARRANTY; for details type Disclaimer[]. This is free software, and you are welcome to redistribute it under certain conditions. See the General Public License for details. --- XAct Act DefManifold[ {List}] , 3 M3 DefManifold[M3, 3, {a, b, c, d, e, f}] ** DefManifold: Defining manifold M3. ** DefVBundle: Defining vbundle TangentM3. DefTensor UndefTensor DefManifold UndeffTensor[, F  M3 Act DefTensor[v[a], M3] DefTensor[F[-a, -b], M3, Antisymmetric[{-a, -b}]] ⋆⋆ DefTensor: Defining tensor v[a]. ** DefTensor: Defining tensor F[-a,-b]. Simplification[  ]  InputForm[  ] Simplification[  ] --- --- ,( DefTensor[, )] I InputForm[  ] F[-a, -b] v[b] F[a, b] v[-a] v[-b] Simplification[%] InputForm [%%] Fab  Vb Fab  va  vb 0 F[a, b]*v[-a]*v[-b] ToCanonical[   ] ToCanonical[] F[-b, -a] ToCanonical[%] Fba - Fab DefTensor[w[a], M3] DefTensor[T[a, b] , m3] ** DefTensor: Defining tensor w[a]. ** DefTensor: Defining tensor T[a,b]. w[a_] = T[a, b] v[-b] Tab    V b w w[b] w[a] - w[a] // Simplification w[a] w[-a] ToCanonical[%] T bb    V b 0 Tab T a V h ² T V b Mathematica ScreenDollarIndices[] w[a_] := Module[{b}, T[a, b] v[-b]] F w[b] w[a] - w[a] // Simplification w[a] w[-a] ToCanonical[%] % // ScreenDollarIndices T bb$1942 V b$1942 0 T b$1946  mab$1945  Vb$1945  Vb$1946 T a mab$1946  Vb$1945  Vb$1946 T a Tac vb vc Dir[ / Dir[] dirvup = Dir[v[d]]; dirvdown = Dir[v[-d]]; w[a_] := T[a] {w[a], w[-a], w[dirvdown], w[dirvup], w[A], w[-A]} { T ª , T a , T ¥ , T V , T ^ , T A ?DownIndexQ ?UpIndexQ Q
Detect component indices Detect directional indices Detect label indices Detect all generalized indices, but not patterns Detect contractible indices (abstract or basis indices) Detect indices associated to a basis or chart (basis or component indices) Detect indices representing a direction (component or directional indices) Detect pattern indices w[a_] =. w[a_ ?DownIndexQ]  := T[a] {w[a], w[-a], w[dirvdown], w[dirvup], w[A], w[-A]} T , , w , Tv , w , T a w[a_?DownIndexQ] = . w[a_ ?AIndexQ] := T[a] {w[a], w[-a], w[dirvup], w[dirvdown], w[A], w[-A]} { T n , T n , w , w , w ^ , w } w[a_ ?AIndexQ] = . w[-a_Symbol] := T[-a] {w[a], w[-a], w[dirvup], w[dirvdown], w[A], w[-A]} { w , Ta , wy , wy , Ta } a  A
xCoba
M C  2 DefManifold[] DefVBundle[InnerC, M3, 2, {A, B, G}, Dagger → Complex] ⋆⋆ DefVBundle: Defining vbundle InnerC. ** DefVBundle: Defining conjugated vbundle InnerCt . Assuming fixed anti-isomorphism between InnerC and InnerC† DefBasis[ , ,option] , xCoba
M3
DefManifold[]
DefBasis[polar, TangentM3, {0, 1, 2}] DefBasis[cartesian, TangentM3, {0,1, 2}, BasisColor → RGBColor[0, 0, 1]] DefBasis[complex, InnerC, {4, 5}, Dagger → Complex, BasisColor → RGBColor[0, 1, 0]] ⋆⋆ DefBasis: Defining basis polar. ** DefCovD: Defining parallel derivative PDpolar[-a]. ** DefTensor: Defining torsion tensor TorsionPDpolar[a, -b, -c]. ** DefTensor: Defining non-symmetric Christoffel tensor ChristoffelPDpolar[a, -b, -c]. ** DefTensor: Defining vanishing Riemann tensor RiemannPDpolar[-a,-b,-c,d]. ** DefTensor: Defining vanishing Ricci tensor RicciPDpolar[-a, -b]. ** DefTensor: Defining antisymmetric +l density etaUppolar[a,b,c]. ** DefTensor: Defining antisymmetric -l density etaDownpolar[-a,-b,-c]. ** DefBasis: Defining basis cartesian. ** DefCovD: Defining parallel derivative PDcartesian[-a]. ** DefTensor: Defining torsion tensor TorsionPDcartesian[a, -b, -c]. ** DefTensor: Defining non-symmetric Christoffel tensor ChristoffelPDcartesian[a, -b, -c]. ** DefTensor: Defining vanishing Riemann tensor RiemannPDcartesian[-a, -b, -c, d]. ** DefTensor: Defining vanishing Ricci tensor RicciPDcartesian[-a, -b]. ** DefTensor: Defining antisymmetric +1 density etaUpcartesian[a,b,c]. ** DefTensor: Defining antisymmetric -l density etaDowncartesian[-a,-b,-c]. ⋆⋆ DefBasis: Defining basis complex. ** DefCovD: Defining parallel derivative PDcomplex[-a]. ** DefTensor: Defining torsion tensor TorsionPDcomplex[a, -b, -c]. ** DefTensor: Defining non-symmetric Christoffel tensor ChristoffelPDcomplex[a, -b, -c]. ** DefTensor: Defining vanishing Riemann tensor RiemannPDcomplex[-a, -b, -c, d]. ** DefTensor: Defining vanishing Ricci tensor RicciPDcomplex[-a, -b]. ⋆⋆ DefTensor: Defining nonsymmetric AChristoffel tensor AChristoffelPDcomplex[A, -b, -G]. ** DefTensor: Defining nonsymmetric AChristoffel tensor AChristoffelPDcomplext[At, -b, -Gt]. ** DefTensor: Defining vanishing FRiemann tensor FRiemannPDcomplex[-a,-b,-G,G1]. ** DefTensor: Defining vanishing FRiemann tensor FRiemannPDcomplext(-a, -b, -Gt, G1t). ⋆⋆ DefBasis: Defining basis complex†. ** DefTensor: Defining antisymmetric +1 density etaUpcomplex[A, B]. ** DefTensor: Defining antisymmetric +l density etaUpcomplext[At, B†]. ** DefTensor: Defining antisymmetric -l density etaDowncomplex[-A, -B]. ** DefTensor: Defining antisymmetric -l density etaDowncomplex†[-A†, -B†].
, I g SymbolOfCovD->  MathTensor DefMetric[-1, g[-a, -b], Cd, SymbolOfCovD -> {"|", "∇"}] ** DefTensor: Defining symmetric metric tensor g[-a,-b]. ** DefTensor: Defining antisymmetric tensor epsilong[-a,-b,-c]. ** DefCovD: Defining covariant derivative Cd[-a]. ** DefTensor: Defining vanishing torsion tensor TorsionCd[a, -b, -c]. ** DefTensor: Defining symmetric Christoffel tensor ChristoffelCd[a, -b, -c]. ** DefTensor: Defining Riemann tensor RiemannCd[-a, -b, -c, -d]. ** DefTensor: Defining symmetric Ricci tensor RicciCd[-a, -b]. ** DefCovD:  Contractions of Riemann automatically replaced by Ricci. ** DefTensor: Defining Ricci scalar RicciScalarCd[]. ** DefCovD:  Contractions of Ricci automatically replaced by RicciScalar. ** DefTensor: Defining symmetric Einstein tensor EinsteinCd[-a, -b]. ** DefTensor: Defining vanishing Weyl tensor WeylCd[-a,-b,-c,-d]. ** DefTensor: Defining symmetric TFRicci tensor TFRicciCd[-a,-b]. ** DefTensor: Defining Kretschmann scalar KretschmannCd[]. ** DefCovD:  Computing RiemannToWeylRules for dim 3 ** DefCovD:  Computing RicciToTFRicci for dim 3 ** DefCovD:  Computing RicciToEinsteinRules for dim 3 ** DefTensor: Defining weight +2 density Detg[]. Determinant. RiemannCd[-a, b, -b, -c] – R [ V ] ac Simplification[] δ xAct v[-a, -b] g[b, c] % // Simplification g[-a, -c] g[c, d] a pc  Vab vac δa
Undef..
/ UndefMetric[ / UndefTensor[ UndefManifold[ UndefBasis[ / l UndefTensor[v] UndefTensor[F] ** UndefTensor: Undefined tensor v ** UndefTensor: Undefined tensor F MetricInBasis[ / Tensorial Table MetricInBasis[]
(19
MetricInBasis[g, -cartesian, Table[i+j,{i, 3},{j, 3}]] % // MatrixForm Added independent rule 900 → 2 for tensor g Added independent rule 9 1 → 3 for tensor g Added independent rule 902 → 4 for tensor g Added dependent rule 910 → 901 for tensor g Added independent rule 911 → 4 for tensor g Added independent rule 912 → 5 for tensor g Added dependent rule 920 → 902 for tensor g Added dependent rule 921 → 912 for tensor g Added independent rule 922 → 6 for tensor g | 920 → 4, 921 → 5 , 9 22 4 , 9 1 2 9 00 → 2ריon 9 20 DefTensor[
ll
}],
/
UndefTensor[Ts]; UndefTensor[Ta]; DefTensor[Ta[-a, -b], M3, Antisymmetric[{-a, -b}]] DefTensor[Ts[-a, -b], M3] DefTensor[v[-a], M3] U n d e f  T e: rusnk no w iJ n k no w e n s T is U n d e f  T e: nusrkmo w ຟ nk no w n n sɗra ** DefTensor: Defining tensor Ta[-a,-b]. ** DefTensor: Defining tensor Ts[-a,-b]. ** DefTensor: Defining tensor v[-a]. ComponentArray[ [{ }] -cartesian ComponentArray[Ta[{-a, -cartesian}, {-b, -cartesian}]] Simplification[%] // MatrixForm ComponentArray[Ts[{-a, -cartesian}, {-b, -cartesian}]] Simplification[%] // MatrixForm {{ Ta00 , Ta01 , Ta02}, { Ta10 , Ta11 , Ta12 }, { Ta20 , Ta21 , Ta 22 }} 0 Tao1 Tao2 - Tao1 0 Ta 12 0 - Tai - Ta02 Ts02}, { Ts10 , Ts11 , Ts12}, { Ts20 , Ts21 , Ts22 }} TS 00 f Ts oo  Ts oi  Ts o2 T S 10 TS 12 T S 11 TS 20 TS 22 T $ 21 ComponentValue[ AllComponentValues[ Ts  [1,1] l{ }} }}, / xAct
ComponentValue[Ts[{1, -cartesian}, {1, -cartesian}], 2 t] ComponentValue[Ts[{1, cartesian}, {1, cartesian}], 6 t] ComponentValue[Ts[{1, -cartesian}, {1, cartesian}], 3] Added independent rule  Ts11  → 2 t  for tensor Ts TS11 → 2 t Added independent rule  Ts 11  → 6t for tensor Ts → 6 t Ts 11 Added independent rule  Ts 1  → 3 for tensor Ts TS 1 → 3 Tensorial FoldRules
Tm
ComponentArray[Ts[{-a, -cartesian}, {-b, -cartesian}]]; Tm = Simplification[%] /. TensorValues[Ts]; % // MatrixForm ComponentArray[Ts[{-a, -cartesian}, {b, -cartesian}]]; Tm = Simplification[%] /. TensorValues[Ts]; % // MatrixForm | Ts oo  Ts oi  Ts oo 2ｔ TS 12 TS 10 Ts20  Ts21  Ts22 Tso  Tso Ts oしTS 1 [1,1] Ta ComponentArray[] AllComponentValues[] DeleteTensorValues[ / DeleteTensorValues[Ts]; 20 t  30 t 11 2 40 t -2 t values =シ-3 t -4 t ComponentValue[ComponentArray[Ts[{a, -cartesian}, {b, -cartesian}]], values] AllComponentValues[Ta[{a, -cartesian}, {-b, -cartesian}], values] Deleted values for tensor Ts, derivatives {} and bases {{-cartesian, cartesian}}. Deleted values for tensor Ts, derivatives {} and bases {{cartesian, cartesian}}. Deleted values for tensor Ts, derivatives {} and bases {{-cartesian, -cartesian}}. Added independent rule  Ts 00 → 1 for tensor Ts Added independent rule  Ts 01  → 20 t for tensor Ts Added independent rule  Ts 02  → 30 t for tensor Ts Added independent rule  Ts 10  → -2 t  for tensor Ts Added independent rule  Ts 11  → 2  for tensor Ts Added independent rule  Ts 12  → 40 t for tensor Ts Added independent rule  Ts 20  → -3 t for tensor Ts Added independent rule  Ts 21  → -4 t  for tensor  Ts Added independent rule  Ts 22  → 3 for tensor Ts {{ Ts 00 → 1, Ts 01 → 20 t, Ts 02 → 30 t}, → -2 t, Ts 11  → 2, Ts 12  → 40 t}, { Ts 20  → -3 t, Ts 21  → -4 t, Ts 22  → 3}} } Ts 10 Added independent rule  Ta 0  → 1  for tensor Ta Added independent rule  Ta o 1  → 20 t for tensor Ta Added independent rule  Ta 0 2  → 30 t for tensor Ta Added dependent rule  Ta 1   → - Ta 0 1   for tensor Ta Added independent rule  Ta 1  → 2 t  for tensor Ta Added independent rule  Ta 1  → 2  for tensor Ta Added independent rule  Ta 1 2  → 40 t  for tensor Ta Added dependent rule  Ta 2  → - Ta 0   for tensor Ta Added independent rule  Ta o ²  → 3 t  for tensor Ta Added dependent rule  Ta 2   → - Ta 1    for tensor Ta Added independent rule  Ta 1  → 4 t  for tensor Ta Added independent rule  Tá2  → 3  for tensor Ta Added dependent rule  Ta oo  → 0  for tensor Ta Added independent rule  Ta01 → Ta01 for tensor Ta Added independent rule  Ta 02  →  Ta 02  for tensor Ta Added dependent rule  Ta10 → - Ta01  for tensor Ta Added dependent rule  Ta 11  → 0  for tensor Ta Added independent rule  Ta12  →  Ta12  for tensor Ta Added dependent rule  Ta 20  → - Ta 02  for tensor Ta Added dependent rule  Ta21  → - Ta12  for tensor Ta Added dependent rule  Ta 22  → 0  for tensor Ta FoldedRule { Ta 00  → 0, Ta 10  → - Ta 11, Ta 11  → 0, Ta 20  → - Ta 12, Ta 22  → 0}, { Ta 01  → Ta 01 , Ta 02  → Ta 02 , Ta 12  → Ta 12 }] ComponentArray[] AllComponentValues[] xAct ComponentArray[Ts[{a, -cartesian}, {b, -cartesian}]] Tm = Simplification[%]  /. TensorValues[Ts]; % // MatrixForm ComponentArray[Ts[{a, -cartesian}, {-b, -cartesian}]]; Tm = Simplification[%]  /. TensorValues[Ts]; % // MatrixForm ComponentArray[Ta[{-a, -cartesian}, {-b, -cartesian}]] Tm = Simplification[%]  /. TensorValues[Ta]; % // MatrixForm ComponentArray[Ta[{-a, -cartesian}, {b, -cartesian}]] Tm = Simplification[%]  /. TensorValues[Ta]; % // MatrixForm | Ts l 40 t 2 -2 t ( - 3 t – 4 t 3 Ts 0 [ Ta 20 , Ta 21 , Ta 22 ]}} , Ta12 jr Ta 10 , Ta 11
Tao1 Ta02 - Tao1
xAct FoldRules Tm AllComponentValues[] –５ｔ 0 – 5 t 5 t - 15 t 0 5t 15t 0 xAct Ts Tm PD[-a] [Ta[-b, -c]] /. TensorValues[Ta] Inverse [Tm] ; Simplify[%] // MatrixForm Tm [ [ 1 , 2 ] ] daTabc
2 t
xAct
<<xAct`xCoba`
xCoba
DefManifold[M3, 3, {a,b,c,d,e,f}] DefVBundle[InnerC, M3, 2, {A, B, C, D, F, G}, Dagger → Complex] DefTensor[v[a], M3] DefTensor[T[-a, -b], M3, Antisymmetric[{-a, -b}]] DefTensor[R[-A, -B, -C, -D], M3, RiemannSymmetric[{1, 2, 3, 4}], Dagger → Complex] DefTensor[u[-A], M3, Dagger → Complex] DefBasis[polar, TangentM3, {0, 1, 2}] DefBasis[cartesian, TangentM3, {0, 1, 2}, BasisColor → RGBColor[0, 0, 1]] DefBasis[complex, InnerC, {4, 5}, Dagger → Complex, BasisColor → RGBColor[0, 1, 0]] ⋆⋆ DefManifold: Defining manifold M3. ** DefVBundle: Defining vbundle TangentM3. ** DefVBundle: Defining vbundle InnerC. V a l i  d a t e S gampo:hSaylst erra meC i  s  v e r l o a dænd bst r a i c n d e V a l i  d a t e S gampo:hSaylst erra meD i s v e r l o a dænd bst r a i c n d e ** DefVBundle: Defining conjugated vbundle InnerCt . Assuming fixed anti-isomorphism between InnerC and InnerC† ⋆⋆ DefTensor: Defining tensor v[a]. ** DefTensor: Defining tensor T[-a,-b]. ** DefTensor: Defining tensor R[-A,-B,-C,-D]. ** DefTensor: Defining tensor Rt[-At,-Bt,-Ct,-Dt]. ** DefTensor: Defining tensor u[-A]. ** DefTensor: Defining tensor ut[-At]. ** DefBasis: Defining basis polar. ** DefCovD: Defining parallel derivative PDpolar[-a]. ** DefTensor: Defining torsion tensor TorsionPDpolar(a, -b, -c). ** DefTensor: Defining non-symmetric Christoffel tensor ChristoffelPDpolar[a,-b,-c]. ** DefTensor: Defining vanishing Riemann tensor RiemannPDpolar[-a,-b,-c,d]. ** DefTensor: Defining vanishing Ricci tensor RicciPDpolar[-a, -b]. ** DefTensor: Defining antisymmetric +1 density etaUppolar[a,b,c]. ** DefTensor: Defining antisymmetric -1 density etaDownpolar[-a,-b,-c]. ** DefBasis: Defining basis cartesian. ** DefCovD: Defining parallel derivative PDcartesian[-a]. ** DefTensor: Defining torsion tensor TorsionPDcartesian[a, -b, -c]. ** DefTensor: Defining non-symmetric Christoffel tensor ChristoffelPDcartesian[a, -b, -c]. ** DefTensor: Defining vanishing Riemann tensor RiemannPDcartesian[-a, -b, -c, d]. ** DefTensor: Defining vanishing Ricci tensor RicciPDcartesian[-a,-b]. ** DefTensor: Defining antisymmetric +1 density etaUpcartesian[a,b,c]. ** DefTensor: Defining antisymmetric -1 density etaDowncartesian[-a,-b,-c]. ⋆⋆ DefBasis: Defining basis complex. ** DefCovD: Defining parallel derivative PDcomplex[-a]. ** DefTensor: Defining torsion tensor TorsionPDcomplex[a, -b, -c]. ** DefTensor: Defining non-symmetric Christoffel tensor ChristoffelPDcomplex[a,-b,-c]. ** DefTensor: Defining vanishing Riemann tensor RiemannPDcomplex[-a,-b,-c,d]. ** DefTensor: Defining vanishing Ricci tensor RicciPDcomplex[-a,-b]. ** DefTensor: Defining nonsymmetric AChristoffel tensor AChristoffelPDcomplex[A,-b,-C]. ** DefTensor: Defining nonsymmetric AChristoffel tensor AChristoffelPDcomplex†[A†, -b, -C†]. ** DefTensor: Defining vanishing FRiemann tensor FRiemannPDcomplex[-a,-b,-C, D]. ** DefTensor: Defining vanishing FRiemann tensor FRiemannPDcomplex†[-a, -b, -C†, D†]. ⋆⋆ DefBasis: Defining basis complex†. ** DefTensor: Defining antisymmetric +1 density etaUpcomplex[A, B]. ** DefTensor: Defining antisymmetric +1 density etaUpcomplext[At, Bt]. ** DefTensor: Defining antisymmetric -1 density etaDowncomplex[-A, -B]. ** DefTensor: Defining antisymmetric -1 density etaDowncomplex†[-A†, -B†]. xAct xAct PDpolar[-a][T[-b, -c]] Da Tbc T[{-a, -polar}, b] v[{1, cartesian}] Tab v 1 T[{-a, -polar}, b] v[{1, -cartesian}] Ta xAct $Metrics $Bases { } {polar, cartesian, complex, complex†} Basis[{ }} , Basis[] Basis[{4, -complex}, A] {Basis[{1, -polar}, a], Basis[-a, b], Basis[{-a, -cartesian}, {b, polar}], Basis[{-a, -cartesian}, {b, cartesian}], Basis[{1, -polar}, {1, polar}], Basis[{1, -polar}, {2, polar}]} eペ1,0 UndefBasis[] ContractBasis[    ] expr = Basis[{1, -polar}, a] Basis[-c, {1, cartesian}] v[-a, -b, c, {d, polar}] Basis[{-d,-polar},e] e expr1 = ContractBasis[expr] ContractBasis[expr, polar] ContractBasis[expr, cartesian] V1b e SeparateBasis[AIndex][expr1] % // ScreenDollarIndices f$9669e £$9668 V f$9668b € 1$966 TraceBasisDummy[v[{a, cartesian}] T[{-a, -cartesian}, -b]] Tob  v 0 + T1b  v 1 + T2b  v 2 BasisArray[ I II BasisArray[] BasisArray[polar][a] BasisArray[cartesian][-a] BasisArray[polar, cartesian, cartesian] [a, b, c] // MatrixForm { e " , e 1"
ACT
M3
DefTensor[TT[-a, -b, c, d, -e], m3] DefTensor[U[-a, -b, c, d] , m3] DefTensor[S[-A, B], M3, Dagger → Complex] ** DefTensor: Defining tensor TT[-a,-b,c,d,-e]. ** DefTensor: Defining tensor U[-a,-b,c,d]. ⋆⋆ DefTensor: Defining tensor S[-A,B]. ** DefTensor: Defining tensor St[-At, Bt]. DefMetric[-1, metricg[-a, -b], CD, {";", "∇"}, PrintAs -> "g"] ** DefTensor: Defining symmetric metric tensor metricg[-a,-b]. ** DefTensor: Defining antisymmetric tensor epsilonmetricg[-a, -b, -c]. ** DefCovD: Defining covariant derivative CD[-a]. ** DefTensor: Defining vanishing torsion tensor TorsionCD[a, -b, -c]. ** DefTensor: Defining symmetric Christoffel tensor ChristoffelCD[a,-b,-c]. ** DefTensor: Defining Riemann tensor RiemannCD[-a,-b,-c,-d]. ** DefTensor: Defining symmetric Ricci tensor RicciCD[-a,-b]. ** DefCovD:  Contractions of Riemann automatically replaced by Ricci. ** DefTensor: Defining Ricci scalar RicciScalarCD[]. ** DefCovD:  Contractions of Ricci automatically replaced by RicciScalar. ** DefTensor: Defining symmetric Einstein tensor EinsteinCD[-a,-b]. ** DefTensor: Defining vanishing Weyl tensor WeylCD[-a,-b,-c,-d]. ** DefTensor: Defining symmetric TFRicci tensor TFRicciCD[-a,-b]. ** DefTensor: Defining Kretschmann scalar KretschmannCD[]. ** DefCovD:  Computing RiemannToWeylRules for dim 3 ** DefCovD:  Computing RicciToTFRicci for dim 3 ** DefCovD:  Computing RicciToEinsteinRules for dim 3 ** DefTensor: Defining weight +2 density Detmetricg[]. Determinant. {Basis[-a, -b], Basis[{a, cartesian}, {b, cartesian}], Basis[{a, cartesian}, {b, polar}]} {Basis[a, -b], Basis[{a, polar}, {-b, -cartesian}]} } g } } } } } } } } } { ob " , eb" $Metrics $Bases SymmetryGroupOfTensor[Basis[{1, polar}, {-2, cartesian}]] {metricg} {polar, cartesian, complex, complex†} StrongGenSet[{1, 2}, GenSet[Cycles[{1, 2}]]] IndicesOfVBundle[TangentM3] {{a, b, c, d, e, f}, {fl, f2, f3}} T[{-a, -polar}, {-b, -polar}] v[{a, polar}] v[{b, polar}] Simplification[%] Tab   V a   V p 0 g v[-a] v[a] - v[{-a, -polar}] v[{a, polar}]; Simplification[%] va va - va va 0 v[-a] v[a] -v[{-a, -polar}] v[{a, polar}] v a  v a  v a   v a Torsion[cartesian] Bracket[a][Basis[{1, -polar}, b], Basis[{2, -polar}, c]] TorsionPDcartesian - T 12 Simplification[] 0 expr = TT[{1, -polar}, -b, {2, cartesian}, c, -a] Basis[{1, -polar}, a] + Basis[{1, -polar}, a] Basis[-d, {2, cartesian}] U[-a, -b, d, {e, polar}] Basis[{-e, -polar}, c] S[{-A, -comp}, B] S[-B, {A, comp}] e 1 " TT1b "a + ed" e1" eg" SB" SAB Uabde ChangeComponents[Ts[{-a, -cartesian}, {-b, -cartesian}], Ts[{a, cartesian}, {b, cartesian}]] 0 Added independent rule  Ts 00  for tensor Ts Added independent rule  Ts 01  $  Ts 01  for tensor Ts Added independent rule  Ts 02  → Ts 02  for tensor Ts Added independent rule  Ts 10  for tensor Ts Added independent rule  Ts 11  →  Ts 11  for tensor Ts Added independent rule  Ts 12  →  Ts 12  for tensor Ts Added independent rule  Ts 20  → Ts 20  for tensor Ts Added independent rule  Ts 21  →  Ts 21  for tensor Ts Added independent rule  Ts 22  → Ts 22  for tensor Ts Added independent rule  Ts 0 → 900  Ts 0 + g 10  Ts 01 + g 20  Ts 02  for tensor Ts Added independent rule  Ts 10  → 900  Ts 10  Ts 11 + 920  Ts 12  for tensor Ts Added independent rule  Ts 20  → 900  Ts 20  Ts 21 + 920  Ts 22  for tensor Ts Added independent rule  Ts 01  Ts 00 + g 11  Ts 01 + g 21  Ts 02  for tensor Ts Added independent rule  Ts 11  → 901  Ts 10 + g 11  Ts 11 + g 21  Ts 12  for tensor Ts Added independent rule  Ts 21  → 901  Ts 20 + g 11  Ts 21 + g 21  Ts 22  for tensor Ts Added independent rule  Ts 02  → 902  Ts 00 + g12  Ts 01 + g22  Ts 02  for tensor Ts Added independent rule  Ts 12  → 902  Ts 10 + 912  Ts 11 + 922  Ts 12  for tensor Ts Added independent rule  Ts 2 → 902  Ts 20 + g 12  Ts 21 + g 22  Ts 22  for tensor Ts Computed Ts b → 9cb Ts a c in 0.0500007 Seconds Added independent rule  Ts 00  Ts 00 + 910  Ts 10 + 920  Ts 0  for tensor Ts Added independent rule  Ts 01  → 900  Ts 01 + 910  Ts 11 + 920  Ts 21  for tensor Ts Added independent rule  Ts 02  → 900  Ts 02 + 910  Ts 12 + 920  Ts 22  for tensor Ts Added independent rule  Ts10 → 901  Ts 0 + 911  Ts10 + 921  Ts20  for tensor Ts Added independent rule  Ts 11  → 901  Ts 01 + 911  Ts 11 + 921  Ts 21  for tensor Ts Added independent rule  Ts12 → 901  Ts 02 + 911  Ts12 + 921  Ts22  for tensor Ts Added independent rule  Ts 20  → 902  Ts 0 + 912  Ts 10 + 922  Ts 20  for tensor Ts Added independent rule  Ts 21  → 902  Ts 01 + 912  Ts 11 + 922  Ts 21  for tensor Ts Added independent rule  Ts 22  → 902  Ts 22  Ts 12 + 922  Ts 22  for tensor Ts Computed Tsab → 9ca Ts b in 0.0500020 Seconds FoldedRule[{}, { Ts 00  → 900  Ts 0 + 910  Ts 10 + 920  Ts 00 Ts01 → 900  Ts 01 + 910  Ts 11 + 920  Ts 21, Ts 02 → 900  Ts 02 + 910  Ts 22 + 920  Ts 22, Ts10 → 901  Ts 0 + 911  Ts 1 0 + 921  Ts 2 0 , Ts11 → 901  Ts 01 + 911  Ts 1 1 + 921  Ts 2 1 , Ts12 → 901  Ts 02 + 911  Ts 12 + 921  Ts 22, Ts20 → 902  Ts 00 + 912  Ts 10 + 922  Ts 20, Ts21 → 902  Ts 01 + 912  Ts 11 + 922  Ts 21, Ts 22 → 902  Ts 02 + 912  Ts 22 + 922  Ts 22 + {}, { Ts 0  →  900   Ts 00 +  910   Ts 01 +  920   Ts 02 , Ts¹o → 900  Ts¹o + 910  Ts¹i + 920  Ts¹i , Ts²o → 900  Ts²o + 910  Ts²i + 920  Ts²i , Ts 01 → 901  Ts 00 + 911  Ts 01 + 921  Ts 02 , Ts 11 → 901  Ts 10 + 911  Ts 11 + 921  Ts 12 , Ts 21 → 901  Ts 20 + 911  Ts 21 + 921  Ts 22 , Ts 02  → 902  Ts 00 + 912  Ts 01 + 922  Ts 02 , Ts 12 → 902  Ts 10 + 912  Ts 11 + 922  Ts 12 , Ts 22 → 902  Ts 20 + 912  Ts 21 + 922  Ts 22 }] ComponentArray[Ts[{-a, - cartesian}, {-b, -cartesian}]]; % /. TensorValues[Ts]  // Simplify; % // MatrixForm g00²  Ts 00 + g 10²  Ts 11 + g 00  ( g 10  ( Ts 01 + Ts 10 ) + g 20  ( Ts 02 + Ts 20 )) + g 10  g 20  ( 901 (900 Ts 00 + 910 Ts 01 + 920 Ts 02 ) + 911 (900 Ts 10 + 910 Ts 11 + 920 Ts 12 ) + 921 (9 ( 902  ( 900  Ts 00 + 910  Ts 01 + 920  Ts 02 ) + 912  ( 900  Ts 10 + 910  Ts 11 + 920  Ts 12 ) + 922  ( a Undef Coba DefManifold[M3, 3, {a,b,c,d,e}] DefManifold[S2, 2, {A,B,C,D,G,H}] DefManifold[M5, {M3, S2}, {μ, ν, λ, σ, η, ρ}] V a l i  d a t e S ysmidsly mbols  i  a l r e audeyda sa ma n i  f .c V a l i d a t e S ysmbSly mboAli a l r e audeyda sa na bst r a i c n d e D i  mO f  M ni: funkl rdo w海n k no wm ni f  δ 2 i T h r α m ο c a t :cThh r ο[Wul] l Hold[Throw[Null]]
r[]
[]
4
DefTensor[T[a, b, -c], M3] DefTensor[S[a, b] , M3] DefTensor[v[a], M3] DefTensor[r[], M3] DefParameter[time] DefTensor[U[a, b, -C], {M3, S2, time}] DefTensor[F[-a, -b], M3, Antisymmetric[{-a, -b}]] DefTensor[w[a], M3] ** DefTensor: Defining tensor T[a, b, -c]. V a l i  d a t e S ysmiddSly mboSli a l r e audeyda sate nso V a l i  d a t e S ysmiddSly mbovli  a l r e audeyda sa t e n so ** DefTensor: Defining tensor r[]. ** DefParameter: Defining parameter time. V a l i  d a t e S ysmbbSly mboU i  a l r e audeyda sa t e n so ** DefTensor: Defining tensor F[-a,-b]. ⋆⋆ DefTensor: Defining tensor w[a]. DefCovD[ ll Cd[] DefCovD[Cd[-a]] ** DefCovD: Defining covariant derivative Cd[-a]. ** DefTensor: Defining vanishing torsion tensor TorsionCd[a, -b, -c]. ** DefTensor: Defining symmetric Christoffel tensor ChristoffelCd[a,-b,-c]. ⋆⋆ DefTensor: Defining Riemann tensor RiemannCd[-a, -b, -c, d]. Antisymmetric only in the first pair. ** DefTensor: Defining non-symmetric Ricci tensor RicciCd[-a,-b]. ** DefCovD:  Contractions of Riemann automatically replaced by Ricci. Cd[ ][ ] Cd[-a][v[c]] Cd[-a] [ F[-b, -c] v[c] ] v[p] Va v c Ap ( vc (Va Fbc ) + Fbc Cd[-a] [ F[-b, -c] v[c] ] v[b] // Simplification Fbc v 5 (v 2 v 5 ) RiemannCd[-a, -b, -c, d] + RiemannCd[-b, -a, -c, d] % // Simplification + R[V] bac R[V] abc 0 $PrePrint=ScreenDollarIndices; $PrePrint = ScreenDollarIndices; RiemannCd[-a, -b, -c, d] // RiemannToChristoffel L[V]°ac - L[V]°ac  L[V]°bc RiemannToChristoffel[ ] CovDToChristoffel[    ] RiemannToChristoffel[] CovDToChristoffel[] ToCanonical Simulify 2 0 F S
[]   2
RiemannCd[-a, -b, -c, d] + RiemannCd[-b, -c, -a, d] + RiemannCd[-c, -a, -b, d] // RiemannToChristoffel % // ToCanonical Cd[-c][F[-a, -b]] % // CovDToChristoffel // ToCanonical Cd[-c][S[-a, -b]] % // CovDToChristoffel // ToCanonical - L[V] dcc L[V] eab + L[V] dbc L[V] eac + L[V] dcc L[V] eba - Γ{∀] d a 。 Γ{∀] ° b c - Γ{∀] d b c  Γ{∀] ° c a + Γ{∀] d a 。 Γ{∀] ° c b - g a Γ{∀] d b c + ∂aL[V] dcb + ∂bL[V] dac - &L[V] dca - ∂cL[V] dab + ∂cL[V] dba 0 ∇c Fab - Γ[V] d bc  Fad + Γ[V] d ac   Fbd + ÔcFab Vc Sab - L[V] d bc Sad - L[V] d b + dcSab Antisymmetrize[    ,{ Antisymmetrize[] }] 2 Antisymmetrize[Cd[-e][RiemannCd[-c, -d, -b, a]], {-c, -d, -e}] % // ToCanonical % // Simplify % // CovDToChristoffel (∇c R[∇] deb a - ∇c R[∇] edb a - ∇d R[∇] ceb a + ∇d R[∇] ecb a + ∇e R[∇] cdb a - ∇e R[∇] dcb a ) 6 1 (Vc R [V] deb ") - (Va R[V] ceb  ) + (Ve R[V] cdb 3 1 (∇c R[V] deb ~ ~ ∇d R[V] ceb ~ + ∇g R[V] cdb ~ ) 3 - ( Γ [V] å ee  R [V] cdb å  -  Γ [V] ee  10 ~  R [V] cdei0 å  -  Γ [V] å des  R [V] ceb å  +  Γ [V] ee  db   R [V] cee å  - Γ [ ∇ ] e12 ed  R[V]ce12b" + L[V]ce8de  R[V]ce8b" + L[V]ace1  R[V]deb"1 - Г[٧] e²cb  R[٧] dee2 a - Г[٧] e4ce  R[٧] de4b a - Г[٧] e11cc  R[٧] e11db a - Γ [V] e³cd  R[V] e³eb å + Γ [V] e³dc  R[V] e³eb å + ∂cR[V] deb å - ∂dR[V] ceb å + ∂cR[V] cdb å ) Cd[][] Mathematica  @ Cd[-a] [Cd[-b] [v[c]]] Cd[-a] @Cd[-b] @v[c] Va Vb vc V a V b  V c CommuteCovDs[   , ,{ xAct Cd CommuteCovDs[%, Cd, {-b, -a}] CommuteCovDs[Cd[-a] @Cd[-b] @r[] , Cd, {-b, -a}] - Fab R[V]ab + Fab R[V]ba + Vb Va Fab Vb Va r }}