The full lattice data is computed and stored within the object only upon a second call. Once initialized, polarize can be used as a synonym (using default options).
i1 : S = random({3:{1}},0_(PP_(ZZ/65521)^5)); T = random S;
o1 : ProjectiveVariety, surface in PP^5
o2 : ProjectiveVariety, surface in PP^5
|
i3 : X = specialFourfold(S & T);
o3 : ProjectiveVariety, cubic fourfold in C_8 containing two planes
|
i4 : describe X
o4 = Cubic fourfold in C_8 over ZZ/65521 of lattice discriminant
| 3 1 1 |
det(| 1 3 0 |) = 21
| 1 0 3 |
containing two surfaces:
- plane
- plane
Intersection of the surfaces: 0 points
★ The generic quadric fiber meets the other surface residually in a single point
K3 status: [░░░░░ / ▓▓▓▓▓]
|
i5 : polarizedK3surface(X, Verbose=>true)
-- starting underlying K3 computation
-- input: cubic fourfold containing two surfaces:
-- plane
-- plane
-- settings: Verbose => true, Strategy => null, FanoMapType => null
-- available strategies: "Inverse", "Approximate"
-- planned steps:
-- 1. compute Fano map μ : ℙ⁵ ⇢ W
-- 2. extract surface U from the base locus of (μ|X)⁻¹ : W ⇢ X
-- 3. take a general cubic X' containing the two surfaces and extract U'
-- 4. analyze the intersection U ∩ U' for exceptional curves
-- 5. compute the contraction map f : U -> Ũ
-- 6. prepare data for lattice polarization
-- info: re-run the function for lattice computation and use building() to access
-- construction data (μ, U, exceptional curves, f)
-- fanoMap: attempting map μ with linear system of degree 2...
-- computed map μ: PP^5 --> PP^8 defined by hypersurfaces of degree 2
-- with multiplicities 1 and 1 along the two surfaces
-- verified: generic fiber is a line connecting a point on each of the two surfaces
-- success: valid map found at degree 2 with multiplicities (1, 1)
-- computing image of μ : PP^5 --> PP^8 using 'W = image(μ, 2)'...
-- determining degree of the image via projective degrees...
-- projective degrees: {1, 2, 4, 6, 6, 0}, expected degree: 6
-- degree confirmed: proceeding to force the image to W
-- image of μ: 4-dimensional subvariety of PP^8 cut out by 9 hypersurfaces of degree 2
-- obtaining surface U corresponding to fourfold X...
-- restricting Fano map to the cubic fourfold
-- computing inverse of the restricted map...
-- inverse map computed: defined by forms of degree 2
-- map stored in cache: retrieve it with importFrom(SpecialFanoFourfolds, "getInverseFanoMap")
-- analyzing the base locus of the inverse map...
-- surface found in base locus; verifying equidimensionality...
-- equidimensionality verified
-- projecting to PP^3 for surface decomposition
-- surface was already irreducible
-- result: surface in PP^8 cut out by 15 hypersurfaces of degree 2
-- obtaining surface U' corresponding to another fourfold X'...
-- restricting Fano map to the cubic fourfold
-- computing inverse of the restricted map...
-- inverse map computed: defined by forms of degree 2
-- map stored in cache: retrieve it with importFrom(SpecialFanoFourfolds, "getInverseFanoMap")
-- analyzing the base locus of the inverse map...
-- surface found in base locus; equidimensionality already known, skipping...
-- projecting to PP^3 for surface decomposition
-- surface was already irreducible
-- result: surface in PP^8 cut out by 15 hypersurfaces of degree 2
-- U ∩ U' contains no (exceptional) curves
-- U is already in the target space; defining f as the identity map
✦ underlying K3 successfully completed in 20 seconds (cpu: 21 seconds)
o5 = Fourfold: X, cubic fourfold in C_8
Mirror fourfold: ≋ ℙ² × ℙ² ⊂ ℙ⁸
Surface U of degree 14, sectional genus 8, χ(O_U) = 2, cut out by 15 hypersurfaces of degree 2
No exceptional curves
Minimal K3 surface Ũ: degree 14 and sectional genus 8 in PP^8 cut out by 15 hypersurfaces of degree 2
Lattice polarization: not yet computed; use 'polarize' or 'polarizedK3surface'
o5 : Lattice-polarized K3 surface associated to X — K3 status: [▓▓▓▓░ / ▓▓▓▓▓]
|
i6 : polarizedK3surface(X, Verbose=>true)
-- starting polarization computation
-- settings: Verbose => true, Strategy => "MapFromW"
-- available strategies: "SpecialCurve", "MapFromW", "MapFromU", "MapFromW-Virtual", "MapFromU-Virtual"
-- constructing the map PP^5 --> PP^2 x PP^2 via abstract join
-- computing abstract join of two rational surfaces...
-- abstract join computation almost complete
-- constructing the two projections: p1:..-->PP^2xPP^2 and p2:..-->PP^5
-- computing the inverse of the second projection...
-- inverse of second projection computed
-- verifying properties on composition PP^5 --> .. --> PP^2 x PP^2
-- info on the map: (1) deg 1, mult. (1,0); (2) deg 1, mult. (0,1)
-- generic fiber is a line connecting a point on each of the two surfaces
-- restriction to the cubic fourfold is birational
-- composing maps W --> X --> PP^2 x PP^2
-- obtained the two maps p1, p2: W --> PP^2
-- computing p1^*(H_PP^2)
-- unexpected degree for p1^*(H_PP^2): 3 (expected 6)
-- computing p2^*(H_PP^2)
-- obtained the curve on U: curve in PP^8 cut out by 11 hypersurfaces of degrees 1^3 2^8
-- computing image on K3 surface...
-- image curve: curve in PP^8 cut out by 11 hypersurfaces of degrees 1^3 2^8
-- constructing lattice polarization...
-- verifying self-intersection of the curve...
-- constructing lattice polarized K3 with (g, d, C^2) = (8, 7, 2)
✦ polarization successfully completed in 4 seconds (cpu: 3 seconds)
-- total time (K3 surface + polarization): 24 seconds (cpu: 25 seconds)
o6 = Fourfold: X, cubic fourfold in C_8
Mirror fourfold: ≋ ℙ² × ℙ² ⊂ ℙ⁸
Surface U of degree 14, sectional genus 8, χ(O_U) = 2, cut out by 15 hypersurfaces of degree 2
No exceptional curves
Minimal K3 surface Ũ: degree 14 and sectional genus 8 in PP^8 cut out by 15 hypersurfaces of degree 2
Lattice intersection matrix on Ũ: | 14 7 |
| 7 2 |
o6 : Lattice-polarized K3 surface associated to X — K3 status: [▓▓▓▓▓ / ▓▓▓▓▓]
|
i7 : describe X
o7 = Cubic fourfold in C_8 over ZZ/65521 of lattice discriminant
| 3 1 1 |
det(| 1 3 0 |) = 21
| 1 0 3 |
containing two surfaces:
- plane
- plane
Intersection of the surfaces: 0 points
★ The generic quadric fiber meets the other surface residually in a single point
K3 status: [▓▓▓▓▓ / ▓▓▓▓▓]
Mirror fourfold: ≋ ℙ² × ℙ² ⊂ ℙ⁸
Surface U of degree 14, sectional genus 8, χ(O_U) = 2, cut out by 15 hypersurfaces of degree 2
No exceptional curves
Minimal K3 surface Ũ: degree 14 and sectional genus 8 in PP^8 cut out by 15 hypersurfaces of degree 2
Lattice intersection matrix on Ũ: | 14 7 |
| 7 2 |
|
Here is another example.
i8 : X = specialFourfold surface((2,0,0),(1,0,0));
o8 : ProjectiveVariety, cubic fourfold in C_8 containing a surface of degree 4 and sectional genus 0 and a plane
|
i9 : describe X
o9 = Cubic fourfold in C_20 ∩ C_8 over ZZ/65521 of lattice discriminant
| 3 4 1 |
det(| 4 12 □ |) = -3*□^2+8*□+48
| 1 □ 3 |
containing two surfaces:
- rational surface of degree 4 and sectional genus 0
cut out by 6 hypersurfaces of degree 2
- plane
Intersection of the surfaces: curve of degree 2 and arithmetic genus 0
Singular locus of the intersection: ∅
★ The generic quadric fiber meets the other surface residually in a single point
K3 status: [░░░░░ / ▓▓▓▓▓] {ID: 6}
|
i10 : polarizedK3surface(X, Verbose=>true)
-- starting underlying K3 computation
-- input: cubic fourfold containing two surfaces:
-- rational surface of degree 4 and sectional genus 0 cut out by 6 hypersurfaces of degree 2
-- plane
-- settings: Verbose => true, Strategy => null, FanoMapType => null
-- available strategies: "Inverse", "Approximate"
-- planned steps:
-- 1. compute Fano map μ : ℙ⁵ ⇢ W
-- 2. extract surface U from the base locus of (μ|X)⁻¹ : W ⇢ X
-- 3. take a general cubic X' containing the two surfaces and extract U'
-- 4. analyze the intersection U ∩ U' for exceptional curves
-- 5. compute the contraction map f : U -> Ũ
-- 6. prepare data for lattice polarization
-- info: re-run the function for lattice computation and use building() to access
-- construction data (μ, U, exceptional curves, f)
-- fanoMap: attempting map μ with linear system of degree 2...
-- computed map μ: PP^5 --> PP^4 defined by hypersurfaces of degree 2
-- with multiplicities 1 and 1 along the two surfaces
-- verified: generic fiber is a line connecting a point on each of the two surfaces
-- success: valid map found at degree 2 with multiplicities (1, 1)
-- obtaining surface U corresponding to fourfold X...
-- restricting Fano map to the cubic fourfold
-- computing inverse of the restricted map...
-- inverse map computed: defined by forms of degree 4
-- map stored in cache: retrieve it with importFrom(SpecialFanoFourfolds, "getInverseFanoMap")
-- analyzing the base locus of the inverse map...
-- surface found in base locus; equidimensionality already known, skipping...
-- projecting to PP^3 for surface decomposition
-- removing 1 components of degrees {3}
-- result: surface in PP^4 cut out by 2 hypersurfaces of degrees 2^1 3^1
-- obtaining surface U' corresponding to another fourfold X'...
-- restricting Fano map to the cubic fourfold
-- computing inverse of the restricted map...
-- inverse map computed: defined by forms of degree 4
-- map stored in cache: retrieve it with importFrom(SpecialFanoFourfolds, "getInverseFanoMap")
-- analyzing the base locus of the inverse map...
-- surface found in base locus; equidimensionality already known, skipping...
-- projecting to PP^3 for surface decomposition
-- removing 1 components of degrees {3}
-- result: surface in PP^4 cut out by 2 hypersurfaces of degrees 2^1 3^1
-- U ∩ U' contains no (exceptional) curves
-- U is already in the target space; defining f as the identity map
✦ underlying K3 successfully completed in 7 seconds (cpu: 7 seconds)
o10 = Fourfold: X, cubic fourfold in C_20 ∩ C_8
Mirror fourfold: PP^4
Surface U of degree 6, sectional genus 4, χ(O_U) = 2, cut out by 2 hypersurfaces of degrees 2^1 3^1
No exceptional curves
Minimal K3 surface Ũ: degree 6 and sectional genus 4 in PP^4 cut out by 2 hypersurfaces of degrees 2^1 3^1
Lattice polarization: not yet computed; use 'polarize' or 'polarizedK3surface'
o10 : Lattice-polarized K3 surface associated to X — K3 status: [▓▓▓▓░ / ▓▓▓▓▓]
|
i11 : polarizedK3surface(oo, Verbose=>true)
-- starting polarization computation
-- settings: Verbose => true, Strategy => "SpecialCurve"
-- available strategies: "SpecialCurve", "MapFromW", "MapFromU", "MapFromW-Virtual", "MapFromU-Virtual"
-- special curves already detected on U
-- pushing forward curve to K3 (1/1)...
-- image curve: curve in PP^4 cut out by 5 hypersurfaces of degrees 2^4 3^1
-- constructing lattice polarization...
-- constructing lattice polarized K3 with (g, d, C^2) = (4, 5, -2)
✦ polarization successfully completed in 0 seconds (cpu: 0 seconds)
-- total time (K3 surface + polarization): 7 seconds (cpu: 7 seconds)
o11 = Fourfold: X, cubic fourfold in C_20 ∩ C_8
Mirror fourfold: PP^4
Surface U of degree 6, sectional genus 4, χ(O_U) = 2, cut out by 2 hypersurfaces of degrees 2^1 3^1
No exceptional curves
Minimal K3 surface Ũ: degree 6 and sectional genus 4 in PP^4 cut out by 2 hypersurfaces of degrees 2^1 3^1
Lattice intersection matrix on Ũ: | 6 5 |
| 5 -2 |
o11 : Lattice-polarized K3 surface associated to X — K3 status: [▓▓▓▓▓ / ▓▓▓▓▓]
|
i12 : latticePolarization oo
o12 = Lattice rank-2 polarization defined by the intersection matrix: | 6 5 |
| 5 -2 |
(a,b) = (1,0) -> g = 4 H.C = 5 det = 6*(-2)-5^2 = -37 [S.T = -1]
(a,b) = (1,1) -> g = 8 H.C = 3 det = 14*(-2)-3^2 = -37 [S.T = -1]
(a,b) = (-1,-3) -> g = 10 H.C = 1 det = 18*(-2)-1^2 = -37 [S.T = -1]
(a,b) = (1,2) -> g = 10 H.C = 1 det = 18*(-2)-1^2 = -37 [S.T = -1]
(a,b) = (3,-1) -> g = 12 H.C = 17 det = 22*(-2)-17^2 = -333
(a,b) = (2,1) -> g = 22 H.C = 8 det = 42*(-2)-8^2 = -148
(a,b) = (2,3) -> g = 34 H.C = 4 det = 66*(-2)-4^2 = -148
(a,b) = (3,1) -> g = 42 H.C = 13 det = 82*(-2)-13^2 = -333
(a,b) = (3,2) -> g = 54 H.C = 11 det = 106*(-2)-11^2 = -333
[ more lines with: polarize(i,...) ]
o12 : Lattice-polarization on K3 surface associated to X
|
i13 : describe X
o13 = Cubic fourfold in C_20 ∩ C_8 over ZZ/65521 of lattice discriminant
| 3 4 1 |
det(| 4 12 □ |) = -3*□^2+8*□+48
| 1 □ 3 |
containing two surfaces:
- rational surface of degree 4 and sectional genus 0
cut out by 6 hypersurfaces of degree 2
- plane
Intersection of the surfaces: curve of degree 2 and arithmetic genus 0
Singular locus of the intersection: ∅
★ The generic quadric fiber meets the other surface residually in a single point
K3 status: [▓▓▓▓▓ / ▓▓▓▓▓] {ID: 6}
Mirror fourfold: PP^4
Surface U of degree 6, sectional genus 4, χ(O_U) = 2, cut out by 2 hypersurfaces of degrees 2^1 3^1
No exceptional curves
Minimal K3 surface Ũ: degree 6 and sectional genus 4 in PP^4 cut out by 2 hypersurfaces of degrees 2^1 3^1
Lattice intersection matrix on Ũ: | 6 5 |
| 5 -2 |
|