# eagonBeta -- print the eagonBeta maps in the Eagon resolution

## Synopsis

• Usage:
N = eagonBeta E
N = eagonBeta(E,n)
• Inputs:
• E, an instance of the type EagonData, created by eagon(R,b)
• n, an integer, which eagonBeta to show
• Optional inputs:
• Display => ..., default value "picture"
• Verbose => ..., default value false
• Outputs:
• N, a net, either a "Display" display (with Display => "picture", the default) or a "displayBlocks" display with Display => "DisplayBlocks" or a plain matrix if Display => <anything else>. With Verbose => true, the display includes (rank target eagonBeta,rank source eagonBeta)

## Description

The eagonBeta maps are the components of the Eagon resolution, starting from the 2nd differential that may or may not be minimal, and are therefore most interesting. With the default option

Display => "picture"

the pictures (which blocks are 0,nonzero, nonminimal) are shown; or the displayBlocks output with Display => "DisplayBlocks" or a plain matrix if Display => <any other string>.

In the notes of Gulliksen-Levin it is proven that R is Golod if and only if the maps eagonBeta can be taken with values in the Koszul complex; thus in particular, if R is Golod, then there are no "new" eagonBetas after eagonBeta(E,numgens R+1). Since R is Golod iff all the eagonBeta matrices have all entries in the maximal ideal, this proves in particular that R is Golod if and only if the Betti numbers of the resolution of coker vars R agree up to the step numgens R with the Betti numbers of the Eagon resolution.

 i1 : S = ZZ/101[a,b,c,d] o1 = S o1 : PolynomialRing i2 : I = ideal(a,b,c)*ideal(a,b,c,d) 2 2 2 o2 = ideal (a , a*b, a*c, a*d, a*b, b , b*c, b*d, a*c, b*c, c , c*d) o2 : Ideal of S i3 : I = ideal"a3,b3,c3" 3 3 3 o3 = ideal (a , b , c ) o3 : Ideal of S i4 : R = S/I o4 = R o4 : QuotientRing i5 : E = eagon(R,4); i6 : eagonBeta(E,4) +--------+--------+-----------+ o6 = | |(2, {1})|(0, {1, 1})| +--------+--------+-----------+ | (3, {})| * | . | +--------+--------+-----------+ |(0, {2})| . | 3,3 | +--------+--------+-----------+ i7 : eagonBeta(E,4,Display => "DisplayBlocks") +--------+--------------------------------------------------------+----------------------------+ o7 = | | (2, {1}) | (0, {1, 1}) | +--------+--------------------------------------------------------+----------------------------+ | (3, {})|{3} | 0 0 c2 0 -b2 0 a2 0 0 0 0 0 0 0 0 0 0 0 || . | | |{3} | 0 0 0 0 0 0 0 0 0 0 -b2 0 a2 0 0 0 0 0 || | | |{3} | 0 0 0 0 0 0 0 0 0 0 0 -c2 0 0 0 a2 0 0 || | | |{3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -c2 0 b2 0 || | +--------+--------------------------------------------------------+----------------------------+ |(0, {2})| . |{6} | 0 1 0 -1 0 0 0 0 0 || | | |{6} | 0 0 1 0 0 0 -1 0 0 || | | |{6} | 0 0 0 0 0 1 0 -1 0 || +--------+--------------------------------------------------------+----------------------------+ i8 : eagonBeta(E,4,Display => "") o8 = {3} | 0 0 c2 0 -b2 0 a2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 {3} | 0 0 0 0 0 0 0 0 0 0 -b2 0 a2 0 0 0 0 0 0 0 0 0 0 0 0 {3} | 0 0 0 0 0 0 0 0 0 0 0 -c2 0 0 0 a2 0 0 0 0 0 0 0 0 0 {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -c2 0 b2 0 0 0 0 0 0 0 0 {6} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 -1 0 0 0 {6} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 -1 {6} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ------------------------------------------------------------------------ 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | -1 0 | 7 27 o8 : Matrix R <--- R i9 : eagonBeta E +-------------------------------+ |+-------+--------+ | o9 = || |(0, {1})| | |+-------+--------+ | ||(1, {})| * | | |+-------+--------+ | +-------------------------------+ |+-------+--------+ | || |(1, {1})| | |+-------+--------+ | ||(2, {})| * | | |+-------+--------+ | +-------------------------------+ |+--------+--------+-----------+| || |(2, {1})|(0, {1, 1})|| |+--------+--------+-----------+| || (3, {})| * | . || |+--------+--------+-----------+| ||(0, {2})| . | 3,3 || |+--------+--------+-----------+| +-------------------------------+