Cohomology of free loop space
Here is an example script computing the cohomology of the free loop space of the even dimensional sphere.
With IntDegree
(usual -grading)
Here we describe the simplest method to compute the cohomology of the free loop space of the even dimensional sphere. First we define the Sullivan model of the even dimensional sphere as in the previous page.
// Define the Sullivan model of the 4-sphere.
val sphereDim = 4
val indeterminateList = listOf(
Indeterminate("x", sphereDim),
Indeterminate("y", sphereDim * 2 - 1)
)
val matrixSpace = SparseMatrixSpaceOverRational
val sphere = FreeDGAlgebra.fromMap(matrixSpace, indeterminateList) { (x, y) ->
mapOf(y to x.pow(2)) // dx = 0, dy = x^2
}
By using the Sullivan model sphere
,
the model of the free loop space is obtained by FreeLoopSpace(sphere)
.
// Define the Sullivan model of the free loop space.
val freeLoopSpace = FreeLoopSpace(sphere)
val (x, y, sx, sy) = freeLoopSpace.generatorList
It is just a special example of FreeDGAlgebra
,
so we can apply any computation methods to it. (See the previous page for details.)
// Assert that d(sy) and -2*x*sx are the same.
freeLoopSpace.context.run {
println("dsy = ${d(sy)} = ${-2 * x * sx}")
}
// Compute cohomology of the free loop space.
for (degree in 0 until 25) {
val basis = freeLoopSpace.cohomology.getBasis(degree)
println("H^$degree(LS^$sphereDim) = Q$basis")
}
With MultiDegree
By using MultiDegree
, the performance of the above computation can be improved.
See this page for details on MultiDegree
.
In general, the Sullivan model of a free loop space
has a decomposition
as complexses.
By using this fact, its cohomology can be computed very quickly.
We can use this feature by replacing
FreeLoopSpace(sphere)
with FreeLoopSpace.withShiftDegree(sphere)
as follows.
val freeLoopSpaceWithMultiDegree = FreeLoopSpace.withShiftDegree(sphere)
for (degree in 0 until 25) {
val basis = freeLoopSpace.cohomology.getBasis(degree)
println("H^$degree(LS^$sphereDim) = Q$basis")
}
Benchmark
The following chart compares the time to compute for .
The computation with MultiDegree
is much faster.