Hilbert Functions of ideals of 7 fat points in the plane.

Let Z be a fat point subscheme of P2 supported at any 7 or fewer distinct points. Although there are infinitely many configurations of the points up to equivalence under the general linear group, if we equate two sets of points, {a, ..., g} and {a', ..., g'}, whenever the Hilbert function of the ideal I(Z) is the same as that of I(Z') for every choice of nonnegative integers m1, ..., m7, where Z is the fat point subscheme Z = m1a + ... + m7g and Z' = m1a' + ... + m7g', then there are 29 configurations, given explicitly in the table below.

Here is what the table means. Configuration 28 is listed as: 28 1: abg, cdg; 2: abcdef. The letters a, ..., g in the expression "1: abg, cdg; 2: abcdef" refer to the 7 points. The expression "1: abg, cdg" means that points a, b and g are collinear, and points c, d, g are collinear. The expression "2: abcdef" means that points a, b, c, d, e, and f lie on an irreducible conic. (From another perspective, this data tells you what the prime divisors of self-intersection less than -1 are on the surface X obtained by blowing up the points. The expression "2: abcdef" means that 2L-E1-E2-E3-E4-E5-E6 is the class of a prime divisor of self-intersection less than -1, while "1: abg, cdg" means that L-E1-E2-E7 and L-E2-E4-E7 are also, where: L is the pullback to X of the class of a line in P2; E1 is the class of the scheme-theoretic fiber over the point a under the morphism X->P2 given by blowing up the points a, ..., g; E2 is the class of the fiber over the point b, etc.

To explain the output, here is the output for the case of configuration 17 with mi=3 for each i:

Here is the configuration you entered:
17
Here are the multiplicities you entered:
3, 3, 3, 3, 3, 3, 3
..........................................
Configuration: 17
..........................................
 
The exceptional curves are:
    0  0  0  0  0  0  0  1
    0  0  0  0  0  0  1  0
    0  0  0  0  0  1  0  0
    0  0  0  0  1  0  0  0
    0  0  0  1  0  0  0  0
    0  0  1  0  0  0  0  0
    0  1  0  0  0  0  0  0
    1  0 -1  0  0 -1  0  0
    1  0  0 -1  0  0 -1  0
    1  0  0  0 -1  0  0 -1
    1 -1  0  0  0 -1  0  0
    1 -1  0  0  0  0 -1  0
    1 -1  0  0  0  0  0 -1
The other negative curves are:
    1 -1 -1 -1 -1  0  0  0
    1  0  0  0 -1 -1 -1  0
    1  0  0 -1  0 -1  0 -1
    1  0 -1  0  0  0 -1 -1
Scheme: Z = 3 3 3 3 3 3 3
alpha: 7
FCfree in degree: 12
tau: 11
deg    hilb_I      hilb_Z
 7        2           34
 8        6           39
 9       15           40
10       25           41
11       36           42
12       49           42
13       63           42
14       78           42
15       94           42
..........................................
 
Your input is echoed, followed by a list of the (-1)-curves on the surface obtained X by blowing up the 7 points, followed by the classes of prime divisors of self-intersection less than -1. The multiplicities are again listed, followed by alpha (the least degree such that the ideal I(Z) in that degree is not 0), then by FCfree (the least degree such that the gcd of the ideal I(Z) in that degree is 1), then by tau (tau+1 is the regularity of I(Z)). Then comes a table showing the values of the Hilbert function hilb_I of the ideal I(Z) and Hilbert function hilb_Z of the quotient ring R/I(Z), where R is the homogeneous coordinate ring of P2. Values are listed only for degrees from alpha to tau+2, since hilb_Z(t) = deg(Z) for t >= tau, and hilb_I(t) = 0 for t < alpha. Note that hilb_I(t) + hilb_Z(t) = t+2 choose 2 for all t.


To obtain the Hilbert function of the ideal I(m1a + ... + m7g), first select which configuration you want to do the computation for, then enter the multiplicities m1, ..., m7. The script does not do a calculation involving an ideal for some actual set of points; it applies a theorem. Thus the result does not give experimental data; it gives the actual hilbert function for any set of seven actual fat points in P2 (over an algebraically closed field of arbitrary characteristic) where the fat points have the given configuration type and multiplicities. (In particular, the script does not do a Grobner basis calculation of any kind, and so it is in principle incredibly fast. It does do some string processing in order to apply the theorem, and for speed of coding rather than speed of execution the script was written in awk. Because awk is slow, it can time out if you choose multiplicities which are too big. You can however visit http://www.math.unl.edu/~bharbourne1/7ptres/ and click on "awk7point" to download the awk script to run on your own machine. You could also recode it in C and obtain an improvement in execution time, likely better by several orders of magnitude.)

Enter the number of the desired configuration:

Enter the desired multiplicities of the points:
m1=
m2=
m3=
m4=
m5=
m6=
m7=



1 empty
2 1: abcdefg
3 1: abcdef
4 1: abcde
5 1: abcd
6 1: abc
7 1: abcde, afg
8 1: abcd, efg
9 1: abcd, defg
10 1: abcd, def
11 1: abc, def
12 1: abc, ade
13 1: abcd, def, ceg
14 1: abc, def, adg
15 1: abc, ade, afg
16 1: abc, adf, cef
17 1: abcd, def, ceg, bfg
18 1: abc, def, adg, beg
19 1: abc, adf, cef, aeg
20 1: abc, adf, cef, bde
21 1: abc, def, adg, beg, cfg
22 1: abc, adf, cef, bde, aeg
23 1: abc, adf, cef, bde, aeg, cdg
24 1: abc, adf, cef, bde, aeg, cdg, bfg
25 2: abcdefg
26 2: abcdef
27 1: abg; 2: abcdef
28 1: abg, cdg; 2: abcdef
29 1: abg, cdg, efg; 2: abcdef