
gap> K:=ContractibleGcomplex("SL(3,Z)s");;
gap> G:=HAPCongruenceSubgroupGamma0(3,11);;
gap> Y:=GComplexToRegularCWComplex(K,G);;
gap> Y:=SimplifiedComplex(Y);;
gap> R:=CohomologyRing(Y,5);
&lt;algebra of dimension 5 over GF(5)>
gap> B:=CanonicalBasis(R);;
gap> List(B,R!.degree); #degrees of basis elements
[ 0, 1, 2, 3, 3 ]
gap> A:=NullMat(5,5);;
gap> for i in [1..5] do 
>    for j in [1..5] do
>       A[i][j]:=B[i]*B[j];
>    od;
>    od;
gap> Display(A);
[ [    v.1,    v.2,    v.3,    v.4,    v.5 ],
  [    v.2,  0*v.1,    v.4,  0*v.1,  0*v.1 ],
  [    v.3,    v.4,  0*v.1,  0*v.1,  0*v.1 ],
  [    v.4,  0*v.1,  0*v.1,  0*v.1,  0*v.1 ],
  [    v.5,  0*v.1,  0*v.1,  0*v.1,  0*v.1 ] ]
