Computing Hochschild cohomology groups $H^i (A,M)$ in GAP/QPA

107 Views Asked by At

Let $A$ be a finite-dimensional $k$-algebra.

I would like to calculate the second Hochschild cohomology group $H^2(TA,DA)$, where $TA$ is the trivial extension of $A$, and $DA = \mathrm{Hom}_k(A, k)$.

For example

Q := Quiver(2, [[1,1,"a"],[1,2,"b"]]);
kQ := PathAlgebra(Rationals, Q);
AssignGeneratorVariables(kQ);
relations := [a*a];
A := kQ/relations;
TA := TrivialExtensionOfQuiverAlgebra(A);
DA:=OppositePathAlgebra(A);

My attempt was:

N := AlgebraAsModuleOverEnvelopingAlgebra(TA); 
M := BiAlgebraModule(TA, TA, \*, \*, DA);
HH2 := ExtOverAlgebra(NthSyzygy(N, 1), M);

Maybe a theoretical error… the operations of the bimodule are wrong, I don’t know.

1

There are 1 best solutions below

0
On BEST ANSWER

Here is a work around/hack to do it, I think:

Q := Quiver(2, [[1,1,"a"],[1,2,"b"]]);
kQ := PathAlgebra(Rationals, Q);
AssignGeneratorVariables(kQ);
relations := [a*a];
A := kQ/relations;
TA := TrivialExtensionOfQuiverAlgebra(A);
N := AlgebraAsModuleOverEnvelopingAlgebra(TA); 
EnvTA := RightActingAlgebra( N );
gensEnvTA := GeneratorsOfAlgebraWithOne( EnvTA );
# observe that 7, 10, 15, 16 is coming from DA.
BN := BasisVectors( Basis( N ) );
gensDAinN := [];
Append( gensDAinN, List( BN, m -> m ^ gensEnvTA[ 7 ] ) );
Append( gensDAinN, List( BN, m -> m ^ gensEnvTA[ 10 ] ) );
Append( gensDAinN, List( BN, m -> m ^ gensEnvTA[ 15 ] ) );
Append( gensDAinN, List( BN, m -> m ^ gensEnvTA[ 16 ] ) );
gensDAinN := Unique( Filtered( gensDAinN, m -> not IsZero( m ) ) );
U := SubRepresentation( N, gensDAinN );
HH2 := ExtOverAlgebra(NthSyzygy(N, 1), U);

Here is the actual output from running these commands:

gap> Q := Quiver(2, [[1,1,"a"],[1,2,"b"]]);
<quiver with 2 vertices and 2 arrows>
gap> kQ := PathAlgebra(Rationals, Q);
<Rationals[<quiver with 2 vertices and 2 arrows>]>
gap> AssignGeneratorVariables(kQ);
#I  Assigned the global variables [ v1, v2, a, b ]
gap> relations := [a*a];
[ (1)*a^2 ]
gap> A := kQ/relations;
<Rationals[<quiver with 2 vertices and 2 arrows>]/
<two-sided ideal in <Rationals[<quiver with 2 vertices and 2 arrows>]>, 
  (1 generators)>>
gap> TA := TrivialExtensionOfQuiverAlgebra(A);
<Rationals[<quiver with 2 vertices and 3 arrows>]/
<two-sided ideal in <Rationals[<quiver with 2 vertices and 3 arrows>]>, 
  (4 generators)>>
gap> N := AlgebraAsModuleOverEnvelopingAlgebra(TA); 
<[ 4, 2, 2, 2 ]>
gap> EnvTA := RightActingAlgebra( N );
<Rationals[<quiver with 4 vertices and 12 arrows>]/
<two-sided ideal in <Rationals[<quiver with 4 vertices and 12 arrows>]>, 
  (25 generators)>>
gap> gensEnvTA := GeneratorsOfAlgebraWithOne( EnvTA );
[ [(1)*v1_op_v1], [(1)*v1_op_v2], [(1)*v2_op_v1], [(1)*v2_op_v2], 
  [(1)*v1_op_a], [(1)*v1_op_b], [(1)*v1_op_te_a1_1_1], [(1)*v2_op_a], 
  [(1)*v2_op_b], [(1)*v2_op_te_a1_1_1], [(1)*a_op_v1], [(1)*a_op_v2], 
  [(1)*b_op_v1], [(1)*b_op_v2], [(1)*te_a1_1_1_op_v1], [(1)*te_a1_1_1_op_v2] ]
gap> # observe that 7, 10, 15, 16 is coming from DA.
gap> BN := BasisVectors( Basis( N ) );
[ [ [ 1, 0, 0, 0 ], [ 0, 0 ], [ 0, 0 ], [ 0, 0 ] ], 
  [ [ 0, 1, 0, 0 ], [ 0, 0 ], [ 0, 0 ], [ 0, 0 ] ], 
  [ [ 0, 0, 1, 0 ], [ 0, 0 ], [ 0, 0 ], [ 0, 0 ] ], 
  [ [ 0, 0, 0, 1 ], [ 0, 0 ], [ 0, 0 ], [ 0, 0 ] ], 
  [ [ 0, 0, 0, 0 ], [ 1, 0 ], [ 0, 0 ], [ 0, 0 ] ], 
  [ [ 0, 0, 0, 0 ], [ 0, 1 ], [ 0, 0 ], [ 0, 0 ] ], 
  [ [ 0, 0, 0, 0 ], [ 0, 0 ], [ 1, 0 ], [ 0, 0 ] ], 
  [ [ 0, 0, 0, 0 ], [ 0, 0 ], [ 0, 1 ], [ 0, 0 ] ], 
  [ [ 0, 0, 0, 0 ], [ 0, 0 ], [ 0, 0 ], [ 1, 0 ] ], 
  [ [ 0, 0, 0, 0 ], [ 0, 0 ], [ 0, 0 ], [ 0, 1 ] ] ]
gap> gensDAinN := [];
[  ]
gap> Append( gensDAinN, List( BN, m -> m ^ gensEnvTA[ 7 ] ) );
gap> Append( gensDAinN, List( BN, m -> m ^ gensEnvTA[ 10 ] ) );
gap> Append( gensDAinN, List( BN, m -> m ^ gensEnvTA[ 15 ] ) );
gap> Append( gensDAinN, List( BN, m -> m ^ gensEnvTA[ 16 ] ) );
gap> gensDAinN := Unique( Filtered( gensDAinN, m -> not IsZero( m ) ) );
[ [ [ 0, 0, 1, 0 ], [ 0, 0 ], [ 0, 0 ], [ 0, 0 ] ], 
  [ [ 0, 0, 0, 1 ], [ 0, 0 ], [ 0, 0 ], [ 0, 0 ] ], 
  [ [ 0, 0, 0, 0 ], [ 0, 0 ], [ 1, 0 ], [ 0, 0 ] ], 
  [ [ 0, 0, 0, 0 ], [ 0, 0 ], [ 0, 1 ], [ 0, 0 ] ], 
  [ [ 0, 0, 0, 0 ], [ 0, 0 ], [ 0, 0 ], [ 0, 1 ] ] ]
gap> U := SubRepresentation( N, gensDAinN );
<[ 2, 0, 2, 1 ]>
gap> HH2 := ExtOverAlgebra(NthSyzygy(N, 1), U);
[ <<[ 16, 10, 10, 6 ]> ---> <[ 32, 20, 20, 12 ]>>, 
  [ <<[ 16, 10, 10, 6 ]> ---> <[ 2, 0, 2, 1 ]>>, 
      <<[ 16, 10, 10, 6 ]> ---> <[ 2, 0, 2, 1 ]>> ], function( map ) ... end ]

This shows that the second Hochschild cohomology group is 2 dimensional.

I hope that these comments are helpful.

The QPA-team.