Processing math: 100%
Cadabra
a field-theory motivated approach to computer algebra

Cartan structural equations and Bianchi identity

Oscar Castillo-Felisola

Theoretical background

Let M be a manifold, and g a (semi)Riemannian metric defined on M. Then the line element for the metric g is ds2(g)=gμνdxμdxν. Nonetheless, the information about the metric structure of the manifold can be translated to the language of frames, ds2(g)=gμνdxμdxν=ηabeaμ(x)ebν(x)dxμdxν=ηabeaeb. Therefore, the vielbein 1-form, eaeaμ(x)dxμ, encodes the information of the metric tensor. In order to complete the structure, one needs information about the transport of geometrical objects lying on bundles based on M. That information is encoded on the spin connection 1-form, ωab. Using these quantities one finds the generalisation of the structure equations of Cartan, dea+ωabeb=Ta,dωac+ωabωbc=Rac. The torsion 2-form, Ta, and the curvature 2-form, Rac, measure the impossibility of endowing M with an Euclidean structure.

Manipulation of the structural equations

Definitions

{a,b,c,l,m,n}::Indices. d{#}::ExteriorDerivative;. d{#}::LaTeXForm("\mathrm{d}"). T{#}::LaTeXForm("\mathrm{T}"). R{#}::LaTeXForm("\mathrm{R}"). {e^{a}, \omega^{a}_{b}}::DifferentialForm(degree=1); {T^{a}, R^{a}_{b}}::DifferentialForm(degree=2);
Attached property DifferentialForm to [ea,ωab].
Attached property DifferentialForm to [Ta,Rab].

Cartan structural equations

struc1 := d{e^{a}} + \omega^{a}_{b} ^ e^{b} - T^{a} = 0;
dea+ωabebTa=0
struc2 := d{\omega^{a}_{b}} + \omega^{a}_{m} ^ \omega^{m}_{b} - R^{a}_{b} = 0;
dωab+ωamωmbRab=0
In the following, we will also use the structural equations as definitions of the exterior derivatives of the vielbein and spin connection 1-forms. Therefore, we shall utilise the isolate algorithm---from the cdb.core.manip library---to define substitution rules.
from cdb.core.manip import * de:= @(struc1): isolate(de, $d{e^{a}}$);
dea=ωabeb+Ta
domega := @(struc2): isolate(domega, $d{\omega^{a}_{b}}$);
dωab=ωamωmb+Rab

Bianchi identities

The bianchi identities are obtained by applying the exterior derivative to the structural equations.

First Bianchi identity

Bianchi1 := d{ @(struc1) };
d(dea+ωabebTa)=0
distribute(Bianchi1) product_rule(_);
dωabebωabdebdTa=0
substitute(Bianchi1, de, repeat=True) substitute(Bianchi1, domega, repeat=True) distribute(_);
ωamωmbeb+Rabeb+ωabωbcecωabTbdTa=0
rename_dummies(Bianchi1);
RabebωabTbdTa=0
In the absence of torsion, the above expression is the well-known algebraic Bianchi identity Rμνλρ+Rμλρν+Rμρνλ=0.

Second Bianchi identity

Bianchi2 := d{ @(struc2) };
d(dωab+ωamωmbRab)=0
distribute(Bianchi2) product_rule(_);
dωamωmbωamdωmbdRab=0
substitute(Bianchi2, domega, repeat=True) distribute(_) rename_dummies(_);
RacωcbωacRcbdRab=0
The above result, when written in tensorial components, is the well-known differential Bianchi identity: Rμνλρ;σ+Rμνσλ;ρ+Rμνρσ;λ=0.
Copyright © 2001-2025 Kasper Peeters
Questions? info@cadabra.science