DifferentialGeometry Tutorials
Relative Lie Algebra Cohomology and the de Rham cohomology of Homogeneous Spaces.
|
Overview
|
|
Let G be a compact Lie group and H a closed subgroup. Then the relative Lie algebra cohomology H^*(g, h) computes the de Rham cohomology of the homogeneous space G/H.
In this tutorial we shall use this result to calculate the de Rham cohomology of some classical homogeneous spaces. For each example we shall check to see if the homogeneous space under consideration is reductive or symmetric.
|
|
Procedures Illustrated
|
|
In this tutorial we shall make use of the following packages and commands:
DifferentialGeometry, LieAlgebras, Tensor, DGsetup, MatrixAlgebras, CanonicalTensors, Cohomology, IntersectSubspaces, LieAlgebraData, RelativeChains
We follow the method described in the help page MatrixAlgebras, the LieAlgebra Lesson on Matrix Algebras, and the Tutorials entitled Classical Matrix Algebras for constructing the Lie algebras we need in this tutorial.
|
|
Example 1. The 3 sphere as SO(4)/SO(3)
|
|
In this example we construct the Lie algebra pair (g, h) = (so(4), so(3)) . The relative Lie algebra cohomology is computed and gives the cohomology of the 3 sphere. We show that (so(4), so(3)) is a symmetric pair.
>
|
with(DifferentialGeometry):with(LieAlgebras):with(Tensor):with(LieAlgebraCohomology):
|
Define a 4 dimensional space (on which gl(4) will act) and a metric tensor g and a vector V on E4. We construct so4 as the subalgebra of gl4 which fixes g and
so3 as the subalgebra of gl4 which fixes both g and V.
>
|
DGsetup([x1, x2, x3, x4], E4):
|
E4 >
|
g := CanonicalTensors("Metric", "bas",4,0);
|
| (3.1) |
| (3.2) |
Define and initialize the general linear Lie algebra gl4.
E4 >
|
gl4 := MatrixAlgebras("Full",4, gl4R):
|
Calculate so4 and so3 as subalgebras of gl4.
gl4R >
|
so4_subalg := MatrixAlgebras("Subalgebra", gl4R,[g]);
|
| (3.3) |
gl4R >
|
so3_subalg := MatrixAlgebras("Subalgebra",gl4R,[g,V]);
|
| (3.4) |
Calculate the structure equations for so4 and find the component expressions for the vectors in so3 in terms of the vectors in so4.
gl4R >
|
g, h0 := LieAlgebraData(so4_subalg,[so3_subalg],so4);
|
| (3.5) |
| (3.6) |
Find so3 as a subalgebra of so4.
so4 >
|
Fr := Tools:-DGinfo("FrameBaseVectors");
|
| (3.7) |
so4 >
|
so3 := map(DGzip,h0[1], Fr, "plus");
|
| (3.8) |
Calculate the forms omega on so4 which satisfy Hook(X, omega) = 0 and Hook(X, d(omega)) = 0 for all X in so3. These are the so3 relative chains.
so4 >
|
C := RelativeChains(so3);
|
| (3.9) |
Calculate the Lie algebra cohomology of so4 relative to so3.
so4 >
|
H := Cohomology(C);
|
| (3.10) |
Show that so4 = m + so3 is a symmetric decomposition.
so4 >
|
Query(so3, m, "SymmetricPair");
|
| (3.11) |
|
|
Example 2. The 4 sphere as SO(5)/SO(4)
|
|
This example is just a higher dimensional version of Example 1. We construct the Lie algebra pair (g, h) = (so(5), so(4)) . The relative Lie algebra cohomology is computed and gives the cohomology of the 4 sphere. We show that (so(5), so(4)) is a symmetric pair.
so4 >
|
with(DifferentialGeometry):with(LieAlgebras):with(Tensor):with(LieAlgebraCohomology):
|
Define a 5 dimensional space (on which gl(5) will act) and a metric tensor g and a vector V on E5. We construct so5 as the subalgebra of gl4 which fixes g and
so3 as the subalgebra of gl5 which fixes both g and V.
so4 >
|
DGsetup([x1, x2, x3, x4, x5], E5):
|
E5 >
|
g := CanonicalTensors("Metric", "bas", 5,0);
|
| (4.1) |
| (4.2) |
Define and initialize the general linear Lie algebra gl5.
E5 >
|
gl5 := MatrixAlgebras("Full", 5):
|
Calculate so5 and so4 as subalgebras of gl5.
gl5R >
|
so5_subalg := MatrixAlgebras("Subalgebra", gl5R,[g]);
|
| (4.3) |
gl5R >
|
so4_subalg := MatrixAlgebras("Subalgebra",gl5R,[g,V]);
|
| (4.4) |
Calculate the structure equations for so5 and find the component expressions for the vectors in so4 in terms of the vectors in so5.
gl5R >
|
g, h0 := LieAlgebraData(so5_subalg,[so4_subalg],so5);
|
| (4.5) |
| (4.6) |
so5 >
|
Fr := Tools:-DGinfo("FrameBaseVectors");
|
| (4.7) |
so5 >
|
so4 := map(DGzip,h0[1], Fr, "plus");
|
| (4.8) |
Calculate the forms omega on so5 which satisfy Hook(X, omega) = 0 and Hook(X, d(omega)) = 0 for all X in so4. These are the so4 relative chains.
so5 >
|
C := RelativeChains(so4);
|
| (4.9) |
Calculate the Lie algebra cohomology of so5 relative to so4.
so5 >
|
H := Cohomology(C);
|
| (4.10) |
Show that so5 = m + so4 is a symmetric decomposition.
so5 >
|
M := [e4,e7,e9, e10]:
|
so5 >
|
Query(so4, M, "SymmetricPair");
|
| (4.11) |
|
|
Example 3. The 5 sphere as SU(3)/SU(2)
|
|
The same manifold often admits different transitive group actions leading to different realizations as homogeneous spaces. Here is a realization of the 5 sphere as the homogeneous space Su(3)/Su(2) which is different from the more familiar realization as SO(6)/SO(5). We construct the Lie algebra pair (g, h) = (su(3), su(2)) . The relative Lie algebra cohomology is computed and gives the cohomology of the 5 sphere. We show that (su(3), su(2)) is a reductive pair but not symmetric.
so5 >
|
with(DifferentialGeometry):with(LieAlgebras):with(Tensor):with(LieAlgebraCohomology):
|
Define a 6 dimensional space (on which gl(6) will act). On E6 define a metric tensor g, a complex structure J, a pair of 3 forms nuR and nuI and a vector V. We construct su3 as the subalgebra of gl6 which fixes g, J, nuI, and nuR and su2 as the subalgebra of gl6 which also fixes V.
so5 >
|
DGsetup([x1, x2, x3, y1, y2, y3], E6);
|
| (5.1) |
E6 >
|
g := CanonicalTensors("Metric", "bas", 6, 0);
|
| (5.2) |
E6 >
|
J := CanonicalTensors("ComplexStructure","bas");
|
| (5.3) |
E6 >
|
dz1 := DGzip([1,I],[dx1,dy1], "plus"):
dz2 := DGzip([1,I],[dx2,dy2], "plus"):
dz3 := DGzip([1,I],[dx3,dy3], "plus"):
nu :=dz1&wedge dz2 &wedge dz3:
|
E6 >
|
nuR := (1/2) &mult (nu &plus Tools:-DGmap(1, conjugate, nu));
|
| (5.4) |
E6 >
|
nuI := (I/2) &mult (nu &minus Tools:-DGmap(1, conjugate, nu));
|
| (5.5) |
| (5.6) |
Define and initialize the general linear Lie algebra gl6.
E6 >
|
DGsetup(MatrixAlgebras("Full",6)):
|
gl6R >
|
su3_subalg := MatrixAlgebras("Subalgebra", gl6R, [g, J, nuI, nuR]);
|
| (5.7) |
Calculate su(3) and su(2) as subalgebras of gl6.
gl6R >
|
su2_subalg := MatrixAlgebras("Subalgebra", gl6R, [g,J,nuI,nuR,V]):
|
gl6R >
|
g, h0 := LieAlgebraData(su3_subalg,[su2_subalg], su3):
|
Calculate the structure equations for su3 and express the component expressions for the vectors in su2 in terms of the vectors in su3.
| (5.8) |
su3 >
|
Fr := Tools:-DGinfo("FrameBaseVectors");
|
| (5.9) |
su3 >
|
su2 := map(DGzip,h0[1], Fr, "plus");
|
| (5.10) |
Calculate the forms omega on su3 which satisfy Hook(X, omega) = 0 and Hook(X, d(omega)) = 0 for all X in su2. These are the su2 relative chains.
su3 >
|
C := RelativeChains(su2);
|
| (5.11) |
Calculate the Lie algebra cohomology of su3 relative to su2.
su3 >
|
H := Cohomology(C);
|
| (5.12) |
We calculate the general complement to su2 in su3 and use the Query program to find all possible reductive complements.
su3 >
|
m0 := ComplementaryBasis(su2,Fr,a);
|
| (5.13) |
su3 >
|
TF, Eq, Soln, ReductivePairs:= Query(su2,m0,"ReductivePair");
|
| (5.14) |
Interestingly, there is a unique reductive complement but this does not make (su(3), su(2)) symmetric.
| (5.15) |
| (5.16) |
su3 >
|
Query(op(ReductivePairs[1]),"SymmetricPair");
|
| (5.17) |
|
|
Example 4. The 7 sphere as Sp(2)/Sp(1)
|
|
In addition to being a SO(8) and SU(4) homogeneous space, the 7 sphere is also admits a transitive action of the symplectic group Sp(2). We construct the Lie algebra pair (g, h) = (sp(2), sp(1)) . The relative Lie algebra cohomology is computed and gives the cohomology of the 7 sphere. We show that (sp(2), su(1)) is a reductive pair but not symmetric.
su3 >
|
with(DifferentialGeometry):with(LieAlgebras):with(Tensor):with(LieAlgebraCohomology):
|
Define an 8 dimensional space (on which gl(8) will act). On E8 define a metric tensor g, a pair of complex structures J and K, and a vector V. We construct sp2 as the subalgebra of gl7 which fixes g, J, and K and sp1 as the subalgebra of gl8 which also fixes V.
su3 >
|
DGsetup([x1, y1, u1, v1, x2, y2, u2, v2], E8):
|
E8 >
|
J := CanonicalTensors("ComplexStructure", "bas");
|
| (6.1) |
E8 >
|
K1 := evalDG( -dx1 &t D_u1 - dy1 &t D_v1 + du1 &t D_x1 + dv1 &t D_y1):
|
E8 >
|
K2:= evalDG( -dx2 &t D_u2 - dy2 &t D_v2 + du2 &t D_x2 + dv2 &t D_y2):
|
| (6.2) |
E8 >
|
g := CanonicalTensors("Metric", "bas", 8,0);
|
| (6.3) |
Define and initialize the general linear Lie algebra gl8.
E8 >
|
DGsetup(MatrixAlgebras("Full", 8, gl8R)):
|
Calculate sp2 and sp1 as subalgebras of gl8.
gl8R >
|
sp2_subalg := MatrixAlgebras("Subalgebra", gl8R, [J, K, g]);
|
| (6.4) |
gl8R >
|
sp1_subalg := MatrixAlgebras("Subalgebra", gl8R, [J, K, g, V]);
|
| (6.5) |
Calculate the structure equations for sp2 and express the component expressions for the vectors in sp1 in terms of the vectors in sp2.
gl8R >
|
g, h0:= LieAlgebraData(sp2_subalg,[sp1_subalg],sp2);
|
| (6.6) |
| (6.7) |
sp2 >
|
Fr := Tools:-DGinfo("FrameBaseVectors");
|
| (6.8) |
sp2 >
|
sp1 := map(DGzip,h0[1], Fr, "plus");
|
| (6.9) |
Calculate the forms omega on sp2 which satisfy Hook(X, omega) = 0 and Hook(X, d(omega)) = 0 for all X in sp1. These are the sp1 relative chains.
sp2 >
|
C := RelativeChains(sp1);
|
| (6.10) |
Calculate the Lie algebra cohomology of sp2 relative to sp1.
sp2 >
|
H := Cohomology(C);
|
| (6.11) |
We calculate the general complement to sp1 in sp2 and use the Query program to find all possible reductive complements.
sp2 >
|
m0 := ComplementaryBasis(sp1, Fr, a);
|
| (6.12) |
>
|
TF, Eq, Soln, ReductivePairs:= Query(sp1, m0, "ReductivePair");
|
| (6.13) |
| (6.14) |
There is a unique reductive complement but this does not make (sp2, sp1)) symmetric.
sp2 >
|
Query(op(ReductivePairs[1]),"SymmetricPair");
|
| (6.15) |
|
|
Example 5. The 6 sphere as G2/SU(3)
|
|
The exceptional Lie group G2 can be defined as a subgroup of SO(7) and therefore there is a natural action of G2 on the 6 sphere. This action is transitive and the isotropy subalgebra is SU(3). In this section we compute the Lie algebra pair (g2, su3), calculate the Lie algebra cohomology of g2 relative to su3 and check that the pair (g2, su3) is reductive but not symmetric.
>
|
with(DifferentialGeometry):with(LieAlgebras):with(Tensor): with(LieAlgebraCohomology):
|
Define a 7 dimensional space (on which gl(7) will act). On E7, define a 3 form phi and a vector V.
sp2 >
|
DGsetup([x1, x2, x3, x4, x5, x6, x7],E7):
|
E7 >
|
phi := evalDG( dx1 &w dx2 &w dx3 + dx1 &w dx4 &w dx5 -dx1 &w dx6 &w dx7 + dx2 &w dx4 &w dx6+ dx2 &w dx5 &w dx7 +dx3 &w dx4 &w dx7 -dx3 &w dx5 &w dx6);
|
| (7.1) |
| (7.2) |
Define and initialize the general linear Lie algebra gl7.
E7 >
|
DGsetup(MatrixAlgebras("Full", 7 , gl7)):
|
Calculate gl7 and su3 as subalgebras of gl7.
gl7 >
|
g2_subalg := MatrixAlgebras("Subalgebra", gl7, [phi]);
|
| (7.3) |
gl7 >
|
su3_subalg := MatrixAlgebras("Subalgebra",gl7,[phi,V]):
|
Calculate the structure equations for g2 and find the component expressions for the vectors in su3 in terms of the vectors in g2.
gl7 >
|
g, h0 := LieAlgebraData(g2_subalg,[su3_subalg],g2);
|
| (7.4) |
| (7.5) |
g2 >
|
Fr := Tools:-DGinfo("FrameBaseVectors");
|
| (7.6) |
g2 >
|
su3 := map(DGzip,h0[1], Fr, "plus");
|
| (7.7) |
Calculate the forms omega on g2 which satisfy Hook(X, omega) = 0 and Hook(X, d(omega)) = 0 for all X in su3. These are the su3 relative chains.
g2 >
|
C := RelativeChains(su3);
|
| (7.8) |
Calculate the Lie algebra cohomology of g2 relative to su3.
| (7.9) |
We calculate the general complement to su3 in g2 and use the Query program to find all possible reductive complements.
g2 >
|
m0 := ComplementaryBasis(su3,Fr,a);
|
| (7.10) |
g2 >
|
TF, Eq, Soln, ReductivePairs:= Query(su3,m0,"ReductivePair"):
|
| (7.11) |
g2 >
|
Query(op(ReductivePairs[1]),"SymmetricPair");
|
| (7.12) |
|
|
Example 6. The 7 sphere as Spin(7)/G2
|
|
In this example we find that in order to compute the relative chains , it is essential to change to a basis in so(7) adapted to gl2 to avoid serious memory problems.
g2 >
|
with(DifferentialGeometry):with(LieAlgebras):with(Tensor):with(LieAlgebraCohomology):
|
Define and initialize the general linear Lie algebra gl7.
>
|
DGsetup([x1, x2, x3, x4, x5, x6, x7], E7):
|
E7 >
|
phi := evalDG(dx1 &w dx2 &w dx3 + dx1 &w dx4 &w dx5 -dx1 &w dx6 &w dx7 + dx2 &w dx4 &w dx6+ dx2 &w dx5 &w dx7 +dx3 &w dx4 &w dx7 -dx3 &w dx5 &w dx6);
|
| (8.1) |
E7 >
|
g := CanonicalTensors("Metric","bas",7,0):
|
E7 >
|
DGsetup(MatrixAlgebras("Full", 7, gl7R));
|
| (8.2) |
gl7R >
|
so7_subalg := MatrixAlgebras("Subalgebra",gl7R,[g]):
|
gl7R >
|
g2_subalg := MatrixAlgebras("Subalgebra",gl7R,[phi,g]):
|
gl7R >
|
g, h0 := LieAlgebraData(so7_subalg, [g2_subalg],so7);
|
| (8.3) |
| (8.4) |
so7 >
|
Fr := Tools:-DGinfo("FrameBaseVectors");
|
| (8.5) |
so7 >
|
g2 := map(DGzip,h0[1], Fr, "plus");
|
| (8.6) |
| (8.7) |
so7 >
|
m := ComplementaryBasis(g2,Fr);
|
| (8.8) |
so7 >
|
newBasis := [op(m), op(g2)];
|
| (8.9) |
so7 >
|
L := LieAlgebraData(newBasis, new_so7):
|
| (8.10) |
new_so7 >
|
new_g2 := [seq(e||i, i = 8 .. 21)];
|
| (8.11) |
new_so7 >
|
C := RelativeChains(new_g2);
|
| (8.12) |
new_so7 >
|
H := Cohomology(C);
|
| (8.13) |
new_so7 >
|
Fr := Tools:-DGinfo("FrameBaseVectors");
|
| (8.14) |
new_so7 >
|
M0 := ComplementaryBasis(new_g2,Fr,a);
|
| (8.15) |
>
|
TF, Eq, Soln, ReductivePairs:= Query(new_g2,M0,"ReductivePair"):
|
new_so7 >
|
ReductivePairs[1];
|
| (8.16) |
new_so7 >
|
Query(op(ReductivePairs[1]),"SymmetricPair");
|
| (8.17) |
|
|
Example 7. Complex projective space CP^4 as SU(3)/U(2)
|
|
We construct the Lie algebra pair (g, h) = (su(3), u(2)) . The relative Lie algebra cohomology is computed and this gives the cohomology of the complex projective space CP^4. We show that (su(3), u(2)) is a symmetric pair.
new_so7 >
|
restart: with(DifferentialGeometry):with(LieAlgebras):with(Tensor):with(LieAlgebraCohomology):
|
Define a 6 dimensional space (on which gl(6) will act). On E6 define a metric tensor g, a complex structure J, a pair of 3 forms nuR and nuI and a vector V. We construct su3 as the subalgebra of gl6 which fixes g, J, nuI, and nuR.
>
|
DGsetup([x1, x2, x3, y1, y2, y3], E6):
|
E6 >
|
g := CanonicalTensors("Metric", "bas", 6,0);
|
| (9.1) |
E6 >
|
J := CanonicalTensors("ComplexStructure", "bas");
|
| (9.2) |
E6 >
|
dz1 := DGzip([1,I],[dx1, dy1], "plus"):
dz2 := DGzip([1,I],[dx2, dy2], "plus"):
dz3 := DGzip([1,I],[dx3, dy3], "plus"):
nu := dz1&wedge dz2 &wedge dz3:
|
E6 >
|
nuR := (1/2) &mult (nu &plus Tools:-DGmap(1,conjugate,nu));
|
| (9.3) |
E6 >
|
nuI := (I/2) &mult (nu &minus Tools:-DGmap(1, conjugate,nu));
|
| (9.4) |
Define and initialize the general linear Lie algebra gl6R.
E6 >
|
DGsetup(MatrixAlgebras("Full",6)):
|
Calculate su3 as subalgebras of gl6R.
gl6R >
|
su3_subalg := MatrixAlgebras("Subalgebra",gl6R,[g,J,nuR,nuI]);
|
| (9.5) |
Identify u2 as a 4 -dimensional subalgebra of su3.
gl6R >
|
u2_subalg := [su3_subalg[1],su3_subalg[3],su3_subalg[4],su3_subalg[7]];
|
| (9.6) |
Calculate the structure equations for su3 and find the component expressions for the vectors in u2 in terms of the vectors in su3.
gl6R >
|
g, h0 := LieAlgebraData(su3_subalg, [u2_subalg], su3):
|
| (9.7) |
su3 >
|
Fr := Tools:-DGinfo("FrameBaseVectors");
|
| (9.8) |
su3 >
|
u2 := map(DGzip,h0[1], Fr, "plus");
|
| (9.9) |
Calculate the forms omega on su3 which satisfy Hook(X, omega) = 0 and Hook(X, d(omega)) = 0 for all X in u2. These are the su3 relative chains.
su3 >
|
C := RelativeChains(u2);
|
| (9.10) |
Calculate the Lie algebra cohomology of su3 relative to u2. We find 1 generator in degrees 2 and 4.
su3 >
|
H := Cohomology(C):
|
| (9.11) |
We calculate the general complement to u2 in su3 and use the Query program to find all possible reductive complements.
su3 >
|
m0 := ComplementaryBasis(u2, Fr, a);
|
| (9.12) |
We find that there is a unique reductive complement and that defines (su3, u2) to be a symmetric pair.
su3 >
|
TF, Eq, Soln, ReductivePairs:= Query(u2,m0,"ReductivePair");
|
| (9.13) |
| (9.14) |
su3 >
|
Query(op(ReductivePairs[1]),"SymmetricPair");
|
| (9.15) |
|
|
Example 8. The oriented Grassmannian of 3 planes in R^6 as SO(6)/(SO(3) x SO(3))
|
|
This example is taken from Wolf p. 253 (Actually Wolf looks at the case SO(8)/SO(4) times SO(4) but this case takes a lot of computation time).We construct the Lie algebra pair (g, h) = (so6, so3 x so3). The relative Lie algebra cohomology is computed and gives the cohomology of the oriented Grassmannian of 3 planes in R^6. We show that (so6, so3 x so3) is a symmetric pair.
su3 >
|
restart: with(DifferentialGeometry):with(LieAlgebras):with(Tensor):with(LieAlgebraCohomology):
|
Define a 6 dimensional space (on which gl6 will act) and a metric tensor g and a symmetric tensor g1 on E6. We construct so6 as the subalgebra of gl6 which fixes g and so3 x so3 as the subalgebra of gl6 which fixes both g and g1.
>
|
DGsetup([x1, x2, x3, x4, x5, x6], E6);
|
| (10.1) |
E6 >
|
g := CanonicalTensors("Metric", "bas", 6, 0);
|
| (10.2) |
E6 >
|
g1 := evalDG(dx1 &t dx1 + dx2 &t dx2 + dx3 &t dx3);
|
| (10.3) |
Define and initialize the general linear Lie algebra gl5.
E6 >
|
DGsetup(MatrixAlgebras("Full", 6, gl6R));
|
| (10.4) |
Calculate so6 and so3 x so3 as subalgebras of gl6.
gl6R >
|
so6_subalg := MatrixAlgebras("Subalgebra", gl6R, [g]);
|
| (10.5) |
gl6R >
|
so3xso3_subalg := MatrixAlgebras("Subalgebra", gl6R,[g,g1]);
|
| (10.6) |
Calculate the structure equations for so6 and find the component expressions for the vectors in so6 in terms of the vectors in so3 x so3.
gl6R >
|
g, h0 := LieAlgebraData(so6_subalg,[so3xso3_subalg],so6);
|
| (10.7) |
| (10.8) |
Find so3 x so3 as a subalgebra of so6.
so6 >
|
Fr := Tools:-DGinfo("FrameBaseVectors");
|
| (10.9) |
so6 >
|
so3xso3 := map(DGzip,h0[1], Fr, "plus");
|
| (10.10) |
so6 >
|
C := RelativeChains(so3xso3);
|
| (10.11) |
Calculate the Lie algebra cohomology of so6 relative to so3 x so3.
so6 >
|
H := Cohomology(C);
|
| (10.12) |
so6 >
|
m0 := ComplementaryBasis(so3xso3, Fr, a);
|
| (10.13) |
We find that there is a unique reductive complement and that defines (so6, so3 x so3) to be a symmetric pair.
so6 >
|
TF, Eq, Soln, ReductivePairs:= Query(so3xso3,m0,"ReductivePair"):
|
| (10.14) |
so6 >
|
Query(op(ReductivePairs[1]),"SymmetricPair");
|
| (10.15) |
|
�Ian M. Anderson 2006
|