# Hodgepack

The file hodgepack gives Maple code for computing the Hodge and Betti numbers of weightedhypersurfaces in projective space.

Examples

1. The Hodge numbers of a quintic threefold can be computed by H( 3, 5 ) = [1, 101, 101, 1 ]. For the (3,0) Hodge number of the quintic threefold use h(3,0,5).

2. The dimension of the moduli space is given by moduli( 5, 3 ) = 101.

3. If the quintic threefold is a 5-sheeted branched cover of projective space branched along a quintic surface, then its cohomology decomposes into eigenspaces for the covering transformation. If z = exp( 2\pi/ 5), then H( 3, 5, 1) = [ 1, 40, 10, 0 ] is the set of Hodge numbers for the z-eigenspace, and H( 5,3, 2) gives the same information for the square of z as eigenvalue. It is a theorem that the dimensions of the eigenspaces are independent of the eigenvalue, provided that it is different from 1. See Proposition 8.4 of Discriminant Complements and Kernels of Monodromy Representations. For the (3,0) Hodge number of the z-squared eigenspace of a quintic threefold, use h(3,0,5,2).

4. The dimension of the middle primitive cohomology vector space is given by b0(n,d) where n is the dimension and d is the degree. The middle Betti number is given by b(n,d). See See 8.4 Discriminant Complements and Kernels of Monodromy Representations

Hodgepack.

   # dimension of the space of homogeneous forms of degree d in n+1 variables.

dim := (n,d) -> binomial( n+d, n ):

#####################################################################

# j(n,d,r) = dimension of degree r component of the Jacobian ring
#            for a homogeneous form of degree d in n +1 variables.
#            The form is assumed to define a smooth variety.

j := proc(n,d,r)

local k, i, rr;

k := 0;
i := 0;
rr := r;
while rr >= 0 do
k := k + (-1)^i * binomial( n+1, i ) * dim( n, rr );
i := i + 1;
rr := rr - (d-1);
od;
k;
end:

#####################################################################

# dimension of the moduli space of hypersurfaces of dimension n and
# degree d:

moduli := (n,d) -> j(n+1,d,d):

#####################################################################

# h(p,q,d)   = H^{p,q}(X_{d,n}) where X_{d,n} is a smooth hypersurfaces
#              of degree d and dimension n.
#
# h(p,q,d,i) = H^{p,q}(X_{d,n})(i), the z^i-eigenspace, where
#              z = exp( 2\pi i/d) and X_{d,n} is a d-sheeted
#              cyclic branched cover.

h := proc()
local p,q,d, i;
p := args[1]; q := args[2]; d := args[3];
if nargs = 4 then
i := args[4];
j( p+q, d, (q+1)*d - (p+q+2) - (i - 1)  );
else
j( p+q+1, d, (q+1)*d - (p+q+2)  );
fi;
end:

#####################################################################

# H(n,d)   = list of h(p,q,d) where p+q = n
# H(n,d,i) = list of h(p,q,d,i) where p+q = n

H := proc()

local n, d, i, L, p;
n := args[1]; d := args[2];
L := [];

if nargs = 3 then
i := args[3];
for p from 0 to n do
L := [ op(L), h(n-p,p,d,i) ];
od;
L;
else
for p from 0 to n do
L := [ op(L), h(n-p,p,d) ];
od;
L;
fi;

end:

#####################################################################

# b(n,d)  = n-th Betti number of X_{n,d}

# b0(n,d) = primitive n-th Betti number of X_{n,d}

b0 := (n,d) -> (d-1)^n * (d-2) + ( (d-1)^n - (-1)^n )/ d + (-1)^n:

b := (n,d) -> if type(n,odd) then b0(n,d) else b0(n,d) + 1; fi:

#####################################################################


Home | Seminars | Links | G | BB | Math Dept | AMS | MAA | arXiv | Math Sci