Skip to main content

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[]