There are d+1 conditions for a line to be contained in a general hypersurface of degree d in Pn. The Grassmannian of lines in Pn has dimension 2(n-1). Therefore, when d+1=2(n-1), we should expect a finite number of lines. Here is a way of computing the number using Schubert2. In the case of lines on a quintic hypersurface in P4, this computation was done by Hermann Schubert in 1879.
We will first illustrate the method by computing the number of lines on a cubic surface in P3.
We first construct an
AbstractVariety representing the Grassmannian of lines in P3 with its tautological sub- and quotient bundles.
i1 : G = flagBundle({2,2}, VariableNames => {,c})
o1 = G
o1 : a flag bundle with ranks {2, 2}
|
i2 : (S,Q) = G.Bundles
o2 = (S, Q)
o2 : Sequence
|
Any cubic surface is given by a cubic form on P3, that is, an element of the third symmetric power of the space of linear forms, which is the trivial rank 4 bundle on P3. Its image in the third symmetric power symmetricPower(3,Q) of the quotient bundle Q vanishes at those points of the Grassmannian that correspond to lines on which the cubic form vanishes identically, that is, lines contained in the cubic surface. The class of this locus is the top Chern class of this bundle.
i3 : B = symmetricPower(3,Q)
o3 = B
o3 : an abstract sheaf of rank 4 on G
|
i4 : c = chern(rank B,B)
2
o4 = 27c
2
QQ[][H , H , c , c ]
1,1 1,2 1 2
o4 : --------------------------------------------------------
(H + c , H + H c + c , H c + H c , H c )
1,1 1 1,2 1,1 1 2 1,2 1 1,1 2 1,2 2
|
i5 : integral c
o5 = 27
o5 : QQ[]
|
We can do the same thing for any n, (with d=2n-3) as follows:
i6 : f = n->(G = flagBundle({n-1,2}); integral chern(symmetricPower(2*n-3,(G.Bundles)_1)))
o6 = f
o6 : FunctionClosure
|
i7 : for n from 2 to 8 do print( time f(n))
-- used 0. seconds
1
-- used 0. seconds
27
-- used 0.057819 seconds
2875
-- used 0.019558 seconds
698005
-- used 0.05684 seconds
305093061
-- used 0.185286 seconds
210480374951
-- used 0.257069 seconds
210776836330775
|
The function time f 20 takes 16 seconds on a 64-bit MacBook Pro and produces a number of 53 digits.
Note: In characteristic zero, using Bertini’s theorem, the numbers computed can be proved to be equal to the actual numbers of distinct lines for general hypersurfaces. In P3, every smooth cubic surface in characteristic zero have exactly 27 lines. In higher dimensions there may be smooth hypersurfaces for which the number of lines is different from the "expected" number that we have computed above. For example, the Fermat quintic threefold has an infite number of lines on it.