I have an algebra and a differential over this algebra. I want to construct cohomology ring and find the annihilators of some elements. How could I do that with sage?
My algebra looks like:
variables = ', '.join(['u{}'.format(i+1) for i in range(n)] + ['v{}'.format(j+1) for j in range(n)])
F = FreeAlgebra(ZZ, n+n, variables)
gens = F.gens()
u = gens[:n]
v = gens[n:]
print u
print v
I = []
# Koszul
for i in range(5):
for j in range(i+1, 5):
I.append(u[i]*u[j] - u[j]*u[i])
# Stanley-Raysner
for i in range(5):
for j in range(i+1, 5):
if j - i != 1 and j-i != 4:
I.append(v[i]*v[j])
A = F.quotient(F * I * F)