HodgepackThe file hodgepack gives Maple code for computing the Hodge and Betti numbers of weightedhypersurfaces in projective space. Examples
Hodgepack.
December 16, 1996. Revised December 25, 1997
# 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 |