Subsection 4.2.2
Schubert2 identifies ${\mathbb G}(1,3)$ with its Chow ring. We can see this directly using the command intersectionRing.
i1 : G = flagBundle({2,2})
o1 = G
o1 : a flag bundle with subquotient ranks {2:2}
|
i2 : intersectionRing G
QQ[][H ..H ]
1,1 2,2
o2 = ---------------------------------------------------------------------------
(- H - H , - H - H H - H , - H H - H H , -H H )
1,1 2,1 1,2 1,1 2,1 2,2 1,2 2,1 1,1 2,2 1,2 2,2
o2 : QuotientRing
|
The generators $H_{i,j}$ of the above ring are defined by the formula $H_{i,j} = c_j(B_i)$ where $B_i$ is the i-th bundle in the list G.Bundles (numbered starting with 1) and $c_j$ is the j-th Chern class, defined in Ch. 5. The relationship with the Schubert classes on ${\mathbb G}(1,3)$ is as follows:
$H_{2,1} = \sigma_1$
$H_{2,2} = \sigma_2$
$H_{1,1} = -\sigma_1$
$H_{1,2} = \sigma_{1,1}$
The Schubert classes can also be accessed directly using the placeholderSchubertCycle command -- see Section 4.3 for details.
As an example, we can compute $(\sigma_1)^2$:
i3 : sigma_1 = H_(2,1)
o3 = H
2,1
QQ[][H ..H ]
1,1 2,2
o3 : ---------------------------------------------------------------------------
(- H - H , - H - H H - H , - H H - H H , -H H )
1,1 2,1 1,2 1,1 2,1 2,2 1,2 2,1 1,1 2,2 1,2 2,2
|
i4 : c = (sigma_1)^2
2
o4 = H
2,1
QQ[][H ..H ]
1,1 2,2
o4 : ---------------------------------------------------------------------------
(- H - H , - H - H H - H , - H H - H H , -H H )
1,1 2,1 1,2 1,1 2,1 2,2 1,2 2,1 1,1 2,2 1,2 2,2
|
Oops! This just gave us $H_{2,1}^2$ back! Schubert2 actually uses $\sigma_1^2$ and $\sigma_{1,1}$ as its "preferred basis" for the codimension-2 part of the Chow ring of ${\mathbb G}(1,3)$. To convert to the Schubert basis, we use the function placeholderToSchubertBasis:
i5 : placeholderToSchubertBasis(c,G)
o5 = s + s
{1, 1} {2, 0}
o5 : QQ[][s , s , s , s , s , s ]
{0, 0} {1, 0} {1, 1} {2, 0} {2, 1} {2, 2}
|
We recover the formula of Theorem 4.13: $\sigma_1^2 = \sigma_2 + \sigma_{1,1}$.
Subsection 4.2.4
How many lines in ${\mathbb P}^3$ meet four general lines?
After phrasing the problem in terms of Schubert calculus, this is easy to calculate both by hand and in Schubert2:
i6 : sigma_1 = H_(2,1)
o6 = H
2,1
QQ[][H ..H ]
1,1 2,2
o6 : ---------------------------------------------------------------------------
(- H - H , - H - H H - H , - H H - H H , -H H )
1,1 2,1 1,2 1,1 2,1 2,2 1,2 2,1 1,1 2,2 1,2 2,2
|
i7 : integral (sigma_1)^4
o7 = 2
|
The command integral here returns the degree of the zero-cycle $(\sigma_1)^4$, which is the number we want (namely, 2).
Lines meeting a curve
We can easily build a function which, given the degree $d$ of a space curve $C$, returns the cycle of lines in ${\mathbb P}^3$ meeting $C$:
i8 : sigma_1 = H_(2,1)
o8 = H
2,1
QQ[][H ..H ]
1,1 2,2
o8 : ---------------------------------------------------------------------------
(- H - H , - H - H H - H , - H H - H H , -H H )
1,1 2,1 1,2 1,1 2,1 2,2 1,2 2,1 1,1 2,2 1,2 2,2
|
i9 : linesMeetingCurve = d -> d*sigma_1
o9 = linesMeetingCurve
o9 : FunctionClosure
|
And now we can calculate, for example, how many lines meet four general conics:
i10 : integral (linesMeetingCurve(2))^4
o10 = 32
|
But we really want to answer the question once and for all: how many lines meet four general curves of degree $d$? To do this, we use the base command, which allows us auxiliary parameters:
i11 : S = base d --Our base variety, with one "auxiliary parameter" d
o11 = S
o11 : an abstract variety of dimension 0
|
i12 : G' = flagBundle({2,2},S,VariableNames => K) --GG(1,3) with our extra parameter
o12 = G'
o12 : a flag bundle with subquotient ranks {2:2}
|
i13 : intersectionRing G' --note the additional parameter d
QQ[d][K ..K ]
1,1 2,2
o13 = ---------------------------------------------------------------------------
(- K - K , - K - K K - K , - K K - K K , -K K )
1,1 2,1 1,2 1,1 2,1 2,2 1,2 2,1 1,1 2,2 1,2 2,2
o13 : QuotientRing
|
i14 : sigma_1 = K_(2,1)
o14 = K
2,1
QQ[d][K ..K ]
1,1 2,2
o14 : ---------------------------------------------------------------------------
(- K - K , - K - K K - K , - K K - K K , -K K )
1,1 2,1 1,2 1,1 2,1 2,2 1,2 2,1 1,1 2,2 1,2 2,2
|
i15 : linesmeetingcurve = d*sigma_1
o15 = d*K
2,1
QQ[d][K ..K ]
1,1 2,2
o15 : ---------------------------------------------------------------------------
(- K - K , - K - K K - K , - K K - K K , -K K )
1,1 2,1 1,2 1,1 2,1 2,2 1,2 2,1 1,1 2,2 1,2 2,2
|
i16 : integral linesmeetingcurve^4
4
o16 = 2d
o16 : QQ[d]
|
And we get back the answer $2d^4$, solving the problem once and for all.
Chords to a Space Curve
For each $d$ and $g$ we build the cycle in ${\mathbb G}(1,3)$ of lines secant to a general curve of degree d and genus g:
i17 : S = base(g,d') --We use d' to avoid the d from the last example
o17 = S
o17 : an abstract variety of dimension 0
|
i18 : G'' = flagBundle({2,2},S,VariableNames => L)
o18 = G''
o18 : a flag bundle with subquotient ranks {2:2}
|
i19 : sigma_2 = L_(2,2)
o19 = L
2,2
QQ[g, d'][L ..L ]
1,1 2,2
o19 : ---------------------------------------------------------------------------
(- L - L , - L - L L - L , - L L - L L , -L L )
1,1 2,1 1,2 1,1 2,1 2,2 1,2 2,1 1,1 2,2 1,2 2,2
|
i20 : sigma_(1,1) = L_(1,2)
2
o20 = L - L
2,1 2,2
QQ[g, d'][L ..L ]
1,1 2,2
o20 : ---------------------------------------------------------------------------
(- L - L , - L - L L - L , - L L - L L , -L L )
1,1 2,1 1,2 1,1 2,1 2,2 1,2 2,1 1,1 2,2 1,2 2,2
|
i21 : cycleofchords = ((d'-1)*(d'-2)/2 - g)*sigma_2 + (d'*(d'-1)/2)*sigma_(1,1)
1 2 1 2
o21 = (-d' - -d')L + (- g - d' + 1)L
2 2 2,1 2,2
QQ[g, d'][L ..L ]
1,1 2,2
o21 : ---------------------------------------------------------------------------
(- L - L , - L - L L - L , - L L - L L , -L L )
1,1 2,1 1,2 1,1 2,1 2,2 1,2 2,1 1,1 2,2 1,2 2,2
|
The keynote question was: how many lines are secant to two general twisted cubics? But we can do better, and answer the question: how many lines are secant to two general curves of degree $d$ and genus $d$?
i22 : chordstotwocurves = integral cycleofchords^2
1 4 2 3 2 7 2
o22 = -d' - g*d' - 2d' + g + 3g*d' + -d' - 2g - 3d' + 1
2 2
o22 : QQ[g, d']
|
Now if we want to answer our specific question, we just substitute in the desired values for $d$ and $g$:
i23 : sub(chordstotwocurves, {d' => 3, g => 0/1})
o23 = 10
o23 : QQ
|
WARNING: because of some ugly M2 design decisions, if you don't make at least one of $d'$ or $g$ a rational number, this substitute will return the wrong answer! Hopefully this design will be changed in the future.
Exercise 4.25 (a):
If $C$ is a smooth, nondegenerate space curve and $L$ and $M$ are general lines in ${\mathbb P}^3$, how many chords to $C$ meet both $L$ and $M$? Using our work above, we immediately compute:
i24 : sigma_1 = L_(2,1)
o24 = L
2,1
QQ[g, d'][L ..L ]
1,1 2,2
o24 : ---------------------------------------------------------------------------
(- L - L , - L - L L - L , - L L - L L , -L L )
1,1 2,1 1,2 1,1 2,1 2,2 1,2 2,1 1,1 2,2 1,2 2,2
|
i25 : integral (cycleofchords*(sigma_1)^2)
2
o25 = d' - g - 2d' + 1
o25 : QQ[g, d']
|
Tangent Lines to a Surface
Exercise 4.28:
Using our Grassmannian G' with an extra base parameter $d$, we build the cycle of tangent lines to a general surface of degree $d$:
i26 : sigma_1 = K_(2,1)
o26 = K
2,1
QQ[d][K ..K ]
1,1 2,2
o26 : ---------------------------------------------------------------------------
(- K - K , - K - K K - K , - K K - K K , -K K )
1,1 2,1 1,2 1,1 2,1 2,2 1,2 2,1 1,1 2,2 1,2 2,2
|
i27 : tangentcycle = d*(d-1)*sigma_1
2
o27 = (d - d)K
2,1
QQ[d][K ..K ]
1,1 2,2
o27 : ---------------------------------------------------------------------------
(- K - K , - K - K K - K , - K K - K K , -K K )
1,1 2,1 1,2 1,1 2,1 2,2 1,2 2,1 1,1 2,2 1,2 2,2
|
Now we can compute the number of lines tangent to four general surfaces of degree $d$:
i28 : tangentlines = integral tangentcycle^4
8 7 6 5 4
o28 = 2d - 8d + 12d - 8d + 2d
o28 : QQ[d]
|
In particular, we calculate the number of lines tangent to four general quadric surfaces:
i29 : sub(tangentlines, d => 2/1)
o29 = 32
o29 : QQ
|