MathOverflow Asked by Serge on February 2, 2021
I am trying to compute the Hochschild cohomology of a particular bound quiver path algebra. The quiver $Q$ consists of one vertex and four loops $x,y, h_1,h_2$, and the relations $I$ are generated by:
Basically, in this algebra I have $yh_1x=-xh_2y$, and only other nonzero paths are the subpaths of these 2.
I am interested in $mathit{HH}^2(kQ/I)$. More specifically, I am interested in whether $mathit{HH}^2(kQ/I)=0$ for some infinite field $k$. I couldn’t find or come up with a direct way of computing it, and my attempt using GAP’s QPA package ran into memory problems. So I was wandering what are the tractable ways to compute this cohomology or prove that is zero or non-zero, either on paper or using computer algebra.
GAP code:
LoadPackage("qpa");
Q := Quiver(1, [[1,1,"x"],[1,1,"y"],[1,1,"h_1"],[1,1,"h_2"]]);
R := PathAlgebra(Rationals,Q);
gens:= GeneratorsOfAlgebra(R);
x:=gens[2];
y:=gens[3];
h_1:=gens[4];
h_2:=gens[5];
relations :=[x^2,y^2,h_1^2,h_2^2,xy,yx,h_1h_2,h_2h_1,xh_1x,xh_1y,yh_1y,xh_2x,yh_2x,yh_2y,yh_1x+xh_2y,h_1xh_1,h_1xh_2,h_2xh_1,h_2xh_2,h_1yh_1,h_1yh_2,h_2yh_1,h_2yh_2];
gb := GBNPGroebnerBasis(relations,R);
I:=Ideal(R,gb);
GroebnerBasis(I,gb);
A:=R/I;
M := AlgebraAsModuleOverEnvelopingAlgebra(A);
HH2 := ExtOverAlgebra(NthSyzygy(M, 1), M);
Of course Tyler Lawson's answer is the more conceptual and insightful one, but in case it is useful, I ran your GAP script on a machine with 64 GB of RAM, which turned out to be enough. If I understand the output of ExtOverAlgebra correctly, it seems that your $HH^2(A)$ group is a 138-dimensional vector space.
The GAP session is pasted below. Please let me know if I have misunderstood anything, including possibly the output of ExtOverAlgebra, which I never used before running your script.
gap> LoadPackage("qpa");
─────────────────────────────────────────────────────────────────────────────
Loading GBNP 1.0.3 (Non-commutative Gröbner bases)
by A.M. Cohen (http://www.win.tue.nl/~amc) and
J.W. Knopper ([email protected]).
Homepage: http://mathdox.org/products/gbnp/
─────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────
Loading QPA 1.30 (Quivers and Path Algebras)
by Edward Green (http://www.math.vt.edu/people/green) and
Oeyvind Solberg (https://folk.ntnu.no/oyvinso/).
Homepage: https://folk.ntnu.no/oyvinso/QPA/
─────────────────────────────────────────────────────────────────────────────
true
gap> Q := Quiver(1, [[1,1,"x"],[1,1,"y"],[1,1,"h_1"],[1,1,"h_2"]]);
<quiver with 1 vertices and 4 arrows>
gap> R := PathAlgebra(Rationals,Q);
<Rationals[<quiver with 1 vertices and 4 arrows>]>
gap> gens:= GeneratorsOfAlgebra(R);
[ (1)*v1, (1)*x, (1)*y, (1)*h_1, (1)*h_2 ]
gap> x:=gens[2];
(1)*x
gap> y:=gens[3];
(1)*y
gap> h_1:=gens[4];
(1)*h_1
gap> h_2:=gens[5];
(1)*h_2
gap> relations :=[x^2,y^2,h_1^2,h_2^2,x*y,y*x,h_1*h_2,h_2*h_1,x*h_1*x,x*h_1*y,y*h_1*y,x*h_2*x,y*h_2*x,y*h_2*y,y*h_1*x+x*h_2*y,h_1*x*h_1,h_1*x*h_2,h_2*x*h_1,h_2*x*h_2,h_1*y*h_1,h_1*y*h_2,h_2*y*h_1,h_2*y*h_2];
[ (1)*x^2, (1)*y^2, (1)*h_1^2, (1)*h_2^2, (1)*x*y, (1)*y*x, (1)*h_1*h_2,
(1)*h_2*h_1, (1)*x*h_1*x, (1)*x*h_1*y, (1)*y*h_1*y, (1)*x*h_2*x,
(1)*y*h_2*x, (1)*y*h_2*y, (1)*x*h_2*y+(1)*y*h_1*x, (1)*h_1*x*h_1,
(1)*h_1*x*h_2, (1)*h_2*x*h_1, (1)*h_2*x*h_2, (1)*h_1*y*h_1, (1)*h_1*y*h_2,
(1)*h_2*y*h_1, (1)*h_2*y*h_2 ]
gap> gb := GBNPGroebnerBasis(relations,R);
[ (1)*x^2, (1)*x*y, (1)*y*x, (1)*y^2, (1)*h_1^2, (1)*h_1*h_2, (1)*h_2*h_1,
(1)*h_2^2, (1)*x*h_1*x, (1)*x*h_1*y, (1)*x*h_2*x, (1)*x*h_2*y+(1)*y*h_1*x,
(1)*y*h_1*y, (1)*y*h_2*x, (1)*y*h_2*y, (1)*h_1*x*h_1, (1)*h_1*x*h_2,
(1)*h_1*y*h_1, (1)*h_1*y*h_2, (1)*h_2*x*h_1, (1)*h_2*x*h_2, (1)*h_2*y*h_1,
(1)*h_2*y*h_2 ]
gap> I:=Ideal(R,gb);
<two-sided ideal in <Rationals[<quiver with 1 vertices and 4 arrows>]>,
(23 generators)>
gap> GroebnerBasis(I,gb);
<complete two-sided Groebner basis containing 23 elements>
gap> A:=R/I;
<Rationals[<quiver with 1 vertices and 4 arrows>]/
<two-sided ideal in <Rationals[<quiver with 1 vertices and 4 arrows>]>,
(23 generators)>>
gap> M := AlgebraAsModuleOverEnvelopingAlgebra(A);
<[ 14 ]>
gap> HH2 := ExtOverAlgebra(NthSyzygy(M, 1), M);
[ <<[ 602 ]> ---> <[ 784 ]>>,
[ <<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>>,
<<[ 602 ]> ---> <[ 14 ]>>, <<[ 602 ]> ---> <[ 14 ]>> ],
function( map ) ... end ]
gap> Length(HH2[2]);
138
Answered by A.S. on February 2, 2021
I believe that there is a 2-dimensional cocycle $g$ such that: $$ g(h_1 x otimes h_2) = g(h_1 otimes x h_2) = y h_1 x $$ and $g(a otimes b) = 0$ for all other paths $a$ and $b$.
To check that it's a cocycle, we have to verify that for all paths $a$, $b$, $c$, we have $$ a g(b otimes c) - g(a b otimes c) + g(a otimes bc) - g(a otimes b)c = 0. $$ If $a=1$ or $c=1$ this is true; if $a neq 1$ and $c neq 1$ then the value of $g$ is length-3 and so it's killed by any product, and so we just need to verify $$ g(ab otimes c) = g(a otimes bc). $$ This is automatic if $b=1$, and both sides are zero if $a$, $b$, or $c$ are length greater than 1. This identity just needs to be checked when $a$, $b$, and $c$ are paths of length $1$, where it is straightforward.
Finally, to verify that it's nonzero in Hochschild cohomology we need to verify that there is no function $f$ such that $$ g(a otimes b) = a f(b) - f(ab) + f(a)b. $$ If we apply this to $h_1 x otimes h_2$ we find we need $$ h_1 x f(h_2) + f(h_1 x) h_2 = y h_1 x = -x h_2 y notin I $$ but multiplication on the left by $h_1$ or on the right by $h_2$ sends all length 2 paths in $kQ$ into the ideal $I$.
(The second Hochschild cohomology group often "detects primitive relations". This cocycle is detecting that the length-3 path $h_1 x h_2$ is zero and that this is not a consequence on the length-2 relations.)
Answered by Tyler Lawson on February 2, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP