Kohomology
Cohomology calculator for Sullivan algebras
Compute cohomology efficiently
Kohomology can compute the cohomology of a Sullivan algebra. Since it can be done with sparse matrices, we can compute complicated examples.
DGA morphisms
Kohomology can also compute DGA morphisms, especially from Sullivan algebras. Derivations on Sullivan algebras are also supported.
Kotlin multiplatform library
Kohomology is a Kotlin multiplatform library. You can use it in any Kotlin program. There is also an online Calculator powered by Kotlin/JS.
TopPageExample.kt
val indeterminateList = listOf(
Indeterminate("a", 2),
Indeterminate("b", 2),
Indeterminate("x", 3),
Indeterminate("y", 3),
Indeterminate("z", 3)
)
val matrixSpace = SparseMatrixSpaceOverRational
val freeDGAlgebra = FreeDGAlgebra.fromMap(matrixSpace, indeterminateList) { (a, b, x, y, z) ->
mapOf(
// da = 0
// db = 0
x to a.pow(2), // dx = a^2
y to a * b, // dy = ab
z to b.pow(2), // dz = b^2
)
}
for (degree in 0 until 10) {
val basis = freeDGAlgebra.cohomology.getBasis(degree)
println("H^$degree = Q$basis")
}
This code prints:
H^0 = Q[[1]]
H^1 = Q[]
H^2 = Q[[a], [b]]
H^3 = Q[]
H^4 = Q[]
H^5 = Q[[- ay + bx], [- az + by]]
H^6 = Q[]
H^7 = Q[[- a^2z + aby]]
H^8 = Q[]
H^9 = Q[]