cohomology hypercohomology homology group anticycle pseudogroup cochain cycle group cycle pseudoperiod diskcyclicity