# quarticType(RingElement) -- the Betti stratum a specific quartic lies on

## Synopsis

• Function: quarticType
• Usage:
quarticType F
• Inputs:
• F, , A homogeneous quartic polynomial in a polynomial ring $S$ in 4 variables (over a field)
• Outputs:
• , one of the strings: [has linear form], [000], [100], [200], [210], [300ab], [300c], [310], [320], [331], [420], [430], [441a], [441b], [550], [551], [562], [683].

## Description

If the inverse system $F^\perp$ of $F$ contains a linear form, then [has linear forms] is returned. There are 19 strata for $F$ which do not have a linear form in their inverse system. This function determines which one of these 19 strata the quartic lives on. However, it cannot distinguish easily between [300a] and [300b], so instead it returns [300ab] in this case. Note that the function can detect [300c], as this is the situation when the 3 quadrics are not a complete intersection (instead, they form the ideal of a length 7 subscheme of $\PP^3$).

All other cases can be determined by the free resolution of the ideal of quadrics in the inverse system $F^\perp$, although in cases [300abc] and [441ab], a slightly finer analysis must be made, which depends on the syzygies of the quadratic ideal.

See section 6 of [QQ] for the inclusion relations on the closures of these strata, and their dimensions.

The 2 cases that cannot be determined easily are [300a] and [300b]. The inverse system $F^\perp$ has 3 quadric generators in each case. However, in one case the quartic has rank 7 (this is the case [300b], and the other case [300a], the quadric generally has rank 8). This is subtle information, which we do not try to compute here.

 i1 : S = ZZ/101[a..d] o1 = S o1 : PolynomialRing i2 : H = bettiStrataExamples S o2 = HashTable{[000] => {| 1 0 0 0 1 22 2 -37 -18 32 |, 10 general points} } | 0 1 0 0 1 -47 29 -13 39 -9 | | 0 0 1 0 1 -23 -47 -10 27 -32 | | 0 0 0 1 1 -7 15 30 -22 -20 | [100] => {| 1 0 0 0 1 39 48 -38 46 |, 9 general points} | 0 1 0 0 1 43 36 33 -28 | | 0 0 1 0 1 -17 35 40 1 | | 0 0 0 1 1 -11 11 11 -3 | [200] => {| 1 0 0 0 1 16 -48 -16 |, 8 general points} | 0 1 0 0 1 22 -47 7 | | 0 0 1 0 1 45 47 15 | | 0 0 0 1 1 -34 19 -23 | [210] => {| 1 0 0 0 1 1 0 1 |, 8 points with 6 in a plane, or five in a plane and three in a line} | 0 1 0 0 1 0 1 1 | | 0 0 1 0 0 1 1 1 | | 0 0 0 1 0 0 0 1 | [300a] => {| 1 1 1 1 1 1 1 1 |, 8 points which forms a CI} | 2 2 2 2 -2 -2 -2 -2 | | 3 3 -3 -3 3 3 -3 -3 | | 1 -1 1 -1 1 -1 1 -1 | [300b] => {| 1 0 0 0 1 19 -8 |, 7 general points} | 0 1 0 0 1 19 -22 | | 0 0 1 0 1 -10 -29 | | 0 0 0 1 1 -29 -24 | [300c] => {| 1 0 1 -38 34 -18 -28 |, 7 points, 3 on a line} | 0 1 1 -16 19 -13 -47 | | 0 0 0 39 -47 -43 38 | | 0 0 0 21 -39 -15 2 | [310] => {| 1 0 0 0 1 1 1 |, 7 points with 5 on a plane} | 0 1 0 0 1 1 0 | | 0 0 1 0 1 1 0 | | 0 0 0 1 0 1 1 | [320] => {| 1 0 0 0 1 1 1 |, 7 points on a twisted cubic curve} | 0 1 0 0 1 0 0 | | 0 0 1 0 0 1 0 | | 0 0 0 1 0 0 1 | [331] => {| 1 0 0 0 24 -15 33 |, 7 points with 6 on a plane} | 0 1 0 0 -30 39 -49 | | 0 0 1 0 -48 0 -33 | | 0 0 0 1 0 0 0 | [420] => {| 1 0 0 0 1 24 |, 6 general points} | 0 1 0 0 1 -36 | | 0 0 1 0 1 -30 | | 0 0 0 1 1 -29 | [430] => {| 1 0 0 0 1 1 |, 6 points, 3 on a line} | 0 1 0 0 1 0 | | 0 0 1 0 0 1 | | 0 0 0 1 0 1 | [441a] => {| 1 0 0 0 1 1 |, 6 points, 5 on a plane} | 0 1 0 0 1 0 | | 0 0 1 0 0 1 | | 0 0 0 1 0 0 | [441b] => {| 1 0 0 0 1 0 |, 6 points, 3 each on 2 skew lines} | 0 1 0 0 1 0 | | 0 0 1 0 0 1 | | 0 0 0 1 0 1 | [550] => {| 1 0 0 0 1 |, 5 general points} | 0 1 0 0 1 | | 0 0 1 0 1 | | 0 0 0 1 1 | [551] => {| 1 0 0 0 1 |, 5 points, 4 on a plane} | 0 1 0 0 1 | | 0 0 1 0 1 | | 0 0 0 1 0 | [562] => {| 1 0 0 0 1 |, 5 points, 3 on a line} | 0 1 0 0 1 | | 0 0 1 0 0 | | 0 0 0 1 0 | [683] => {| 1 0 0 0 |, 4 general points} | 0 1 0 0 | | 0 0 1 0 | | 0 0 0 1 | o2 : HashTable i3 : keys H o3 = {[310], [420], [200], [210], [331], [320], [683], [100], [562], [551], ------------------------------------------------------------------------ [430], [550], [000], [441b], [441a], [300c], [300b], [300a]} o3 : List i4 : netList for k in sort keys H list ( F := quartic first H#k; {k, minimalBetti inverseSystem F, quarticType F} ) +------+-------------------+-------+ | | 0 1 2 3 4| | o4 = |[000] |total: 1 16 30 16 1|[000] | | | 0: 1 . . . .| | | | 1: . . . . .| | | | 2: . 16 30 16 .| | | | 3: . . . . .| | | | 4: . . . . 1| | +------+-------------------+-------+ | | 0 1 2 3 4| | |[100] |total: 1 13 24 13 1|[100] | | | 0: 1 . . . .| | | | 1: . 1 . . .| | | | 2: . 12 24 12 .| | | | 3: . . . 1 .| | | | 4: . . . . 1| | +------+-------------------+-------+ | | 0 1 2 3 4| | |[200] |total: 1 10 18 10 1|[200] | | | 0: 1 . . . .| | | | 1: . 2 . . .| | | | 2: . 8 18 8 .| | | | 3: . . . 2 .| | | | 4: . . . . 1| | +------+-------------------+-------+ | | 0 1 2 3 4| | |[210] |total: 1 11 20 11 1|[210] | | | 0: 1 . . . .| | | | 1: . 2 1 . .| | | | 2: . 9 18 9 .| | | | 3: . . 1 2 .| | | | 4: . . . . 1| | +------+-------------------+-------+ | | 0 1 2 3 4 | | |[300a]|total: 1 7 12 7 1 |[300ab]| | | 0: 1 . . . . | | | | 1: . 3 . . . | | | | 2: . 4 12 4 . | | | | 3: . . . 3 . | | | | 4: . . . . 1 | | +------+-------------------+-------+ | | 0 1 2 3 4 | | |[300b]|total: 1 7 12 7 1 |[300ab]| | | 0: 1 . . . . | | | | 1: . 3 . . . | | | | 2: . 4 12 4 . | | | | 3: . . . 3 . | | | | 4: . . . . 1 | | +------+-------------------+-------+ | | 0 1 2 3 4 | | |[300c]|total: 1 7 12 7 1 |[300c] | | | 0: 1 . . . . | | | | 1: . 3 . . . | | | | 2: . 4 12 4 . | | | | 3: . . . 3 . | | | | 4: . . . . 1 | | +------+-------------------+-------+ | | 0 1 2 3 4 | | |[310] |total: 1 8 14 8 1 |[310] | | | 0: 1 . . . . | | | | 1: . 3 1 . . | | | | 2: . 5 12 5 . | | | | 3: . . 1 3 . | | | | 4: . . . . 1 | | +------+-------------------+-------+ | | 0 1 2 3 4 | | |[320] |total: 1 9 16 9 1 |[320] | | | 0: 1 . . . . | | | | 1: . 3 2 . . | | | | 2: . 6 12 6 . | | | | 3: . . 2 3 . | | | | 4: . . . . 1 | | +------+-------------------+-------+ | | 0 1 2 3 4| | |[331] |total: 1 11 20 11 1|[331] | | | 0: 1 . . . .| | | | 1: . 3 3 1 .| | | | 2: . 7 14 7 .| | | | 3: . 1 3 3 .| | | | 4: . . . . 1| | +------+-------------------+-------+ | | 0 1 2 3 4 | | |[420] |total: 1 6 10 6 1 |[420] | | | 0: 1 . . . . | | | | 1: . 4 2 . . | | | | 2: . 2 6 2 . | | | | 3: . . 2 4 . | | | | 4: . . . . 1 | | +------+-------------------+-------+ | | 0 1 2 3 4 | | |[430] |total: 1 7 12 7 1 |[430] | | | 0: 1 . . . . | | | | 1: . 4 3 . . | | | | 2: . 3 6 3 . | | | | 3: . . 3 4 . | | | | 4: . . . . 1 | | +------+-------------------+-------+ | | 0 1 2 3 4 | | |[441a]|total: 1 9 16 9 1 |[441a] | | | 0: 1 . . . . | | | | 1: . 4 4 1 . | | | | 2: . 4 8 4 . | | | | 3: . 1 4 4 . | | | | 4: . . . . 1 | | +------+-------------------+-------+ | | 0 1 2 3 4 | | |[441b]|total: 1 9 16 9 1 |[441b] | | | 0: 1 . . . . | | | | 1: . 4 4 1 . | | | | 2: . 4 8 4 . | | | | 3: . 1 4 4 . | | | | 4: . . . . 1 | | +------+-------------------+-------+ | | 0 1 2 3 4 | | |[550] |total: 1 6 10 6 1 |[550] | | | 0: 1 . . . . | | | | 1: . 5 5 . . | | | | 2: . 1 . 1 . | | | | 3: . . 5 5 . | | | | 4: . . . . 1 | | +------+-------------------+-------+ | | 0 1 2 3 4 | | |[551] |total: 1 7 12 7 1 |[551] | | | 0: 1 . . . . | | | | 1: . 5 5 1 . | | | | 2: . 1 2 1 . | | | | 3: . 1 5 5 . | | | | 4: . . . . 1 | | +------+-------------------+-------+ | | 0 1 2 3 4 | | |[562] |total: 1 9 16 9 1 |[562] | | | 0: 1 . . . . | | | | 1: . 5 6 2 . | | | | 2: . 2 4 2 . | | | | 3: . 2 6 5 . | | | | 4: . . . . 1 | | +------+-------------------+-------+ | | 0 1 2 3 4 | | |[683] |total: 1 9 16 9 1 |[683] | | | 0: 1 . . . . | | | | 1: . 6 8 3 . | | | | 2: . . . . . | | | | 3: . 3 8 6 . | | | | 4: . . . . 1 | | +------+-------------------+-------+ i5 : quarticType(a^4 + b^4 + c^4 + d^4 - 3*a*b*c*d) o5 = [000] i6 : quarticType(a*b*c*d) o6 = [400]