What can computer do today?

Gregory G. Smith Wolfram Decker Mike Stillman

14 July 2015 Essential Questions ̭ What can be computed? ̭ What software is currently available? ̭ What would you like to compute? ̭ How should software advance your research? Basic Mathematical Types ̭ Polynomial Rings, Ideals, Modules, ̭ Varieties (affine, projective, toric, abstract), ̭ Sheaves, Divisors, Intersection Rings, ̭ Maps, Chain Complexes, Homology, ̭ Polyhedra, Graphs, Matroids, ̯ Established Geometric Tools ̭ Elimination, Blowups, Normalization, ̭ Rational maps, Working with divisors, ̭ Components, Parametrizing curves, ̭ Sheaf Cohomology, ঠ-modules, ̯ Emerging Geometric Tools ̭ Classification of singularities, ̭ Numerical algebraic geometry, ̭ ैक़௴Ь, Derived equivalences, ̭ Deformation theory,Positivity, ̯ Some Geometric Successes ̭ GEOGRAPHY OF SURFACES: exhibiting surfaces with given invariants ̭ BOIJ-SÖDERBERG: examples lead to new conjectures and theorems ̭ MODULI SPACES: computer aided proofs of unirationality Some Existing Software ̭ GAP,, , ̭ CoCoA, Magma, Sage, PARI, RISA/ASIR, ̭ Gfan, , , 4ti2, ̭ Bertini, PHCpack, Schubert, Bergman, an idiosyncratic and incomplete list Effective Software ̭ USEABLE: documented examples ̭ MAINTAINABLE: includes tests, part of a larger distribution ̭ PUBLISHABLE: Journal of Software for Algebra and Geometry; www.j-sag.org ̭ CITATIONS: reference software Recent Developments in Singular

Wolfram Decker Janko B¨ohm, Hans Sch¨onemann, Mathias Schulze Mohamed Barakat

TU Kaiserslautern

July 14, 2015

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 1 / 24 commutative and non-commutative algebra, singularity theory, and with packages for convex and tropical geometry. It is free and open-source under the GNU General Public Licence.

What is Singular? A for polynomial computations, with special emphasis on algebraic geometry,

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 2 / 24 singularity theory, and with packages for convex and tropical geometry. It is free and open-source under the GNU General Public Licence.

What is Singular? A computer algebra system for polynomial computations, with special emphasis on algebraic geometry, commutative and non-commutative algebra,

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 2 / 24 and with packages for convex and tropical geometry. It is free and open-source under the GNU General Public Licence.

What is Singular? A computer algebra system for polynomial computations, with special emphasis on algebraic geometry, commutative and non-commutative algebra, singularity theory,

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 2 / 24 It is free and open-source under the GNU General Public Licence.

What is Singular? A computer algebra system for polynomial computations, with special emphasis on algebraic geometry, commutative and non-commutative algebra, singularity theory, and with packages for convex and tropical geometry.

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 2 / 24 What is Singular? A computer algebra system for polynomial computations, with special emphasis on algebraic geometry, commutative and non-commutative algebra, singularity theory, and with packages for convex and tropical geometry. It is free and open-source under the GNU General Public Licence.

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 2 / 24 Open development model

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 3 / 24 Open development model

Singular issue tracker

Interaction with user base, bug & feature tracking

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 4 / 24 What is Singular?

Over 30 development teams worldwide, over 130 libraries for advanced topics.

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 5 / 24 What is Singular?

Over 30 development teams worldwide, over 130 libraries for advanced topics.

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 5 / 24 libraries, written in the Singular language which provides a convenient way of user interaction and adding new mathematical features, and a comprehensive online manual and help function.

What is Singular?

Singular consists of akernel,writteninC / ++, and containing the core algorithms,

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 6 / 24 a comprehensive online manual and help function.

What is Singular?

Singular consists of akernel,writteninC /C ++, and containing the core algorithms, libraries, written in the Singular language which provides a convenient way of user interaction and adding new mathematical features, and

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 6 / 24 What is Singular?

Singular consists of akernel,writteninC /C ++, and containing the core algorithms, libraries, written in the Singular language which provides a convenient way of user interaction and adding new mathematical features, and a comprehensive online manual and help function.

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 6 / 24 Example: Parametrizing Rational Curves

Example > ring R = 0, (x,y,z), dp; > poly f = x5+10x4y+20x3y2+130x2y3-20xy4+20y5-2x4z-40x3yz-150x2y2z -90xy3z-40y4z+x3z2+30x2yz2+110xy2z2+20y3z2; > LIB "paraplanecurves.lib"; > genus(f); 0 > paraPlaneCurve(f);

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 7 / 24 Example: The Parametrization Algorithm Example > ideal AI = adjointIdeal(f); // requires normalization, integral bases > AI; [1]=y3-y2z [2]=xy2-xyz [3]=x2y-xyz [4]=x3-x2z > def Rn = mapToRatNormCurve(f,AI); > setring(Rn);

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 8 / 24 Example: The Parametrization Algorithm

Example > RNC; RNC[1]=y(2)*y(3)-y(1)*y(4) RNC[2]=20*y(1)*y(2)-20*y(2)^2+130*y(1)*y(4) +20*y(2)*y(4)+10*y(3)*y(4)+y(4)^2 RNC[3]=20*y(1)^2-20*y(1)*y(2)+130*y(1)*y(3) +10*y(3)^2+20*y(1)*y(4)+y(3)*y(4)

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 9 / 24 Example: The Parametrization Algorithm

Example > LIB"sing.lib"; > radical(slocus(RNC)); [1]=y(4) [2]=y(3) [2]=y(2) [1]=y(1) > rncAntiCanonicalMap(RNC); [1]=2*y(2)+13*y(4) [2]=y(4)

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 10 / 24 Singular Libraries

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 11 / 24 Example: Intersection Theory

Example > LIB "schubert.lib"; > variety G = Grassmannian(2,4); > def r = G.baseRing; > setring r; > sheaf S = makeSheaf(G,subBundle); > sheaf B = dualSheaf(S)^3; > integral(G,topChernClass(B));

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 12 / 24 Example: Intersection Theory

Example (continued) 27

Some keywords Schubert calculus, double point formulas, excess intersection formula, equivariant intersection theory using Bott’s formula, Gromov-Witten invariants.

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 13 / 24 free resolutions; polynomial factorization: Factory.

More advanced stu↵ Primary decomposition, algorithms of Gianni-Trager-Zacharias, Shimoyama-Yokoyama, Eisenbud-Huneke-Vasconcelos: primdec.lib.; normalization: normal.lib, locnormal.lib, modnormal.lib.

Key Algorithms in Singular

Basic stu↵ Gr¨obner and standard Bases;

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 14 / 24 polynomial factorization: Factory.

More advanced stu↵ Primary decomposition, algorithms of Gianni-Trager-Zacharias, Shimoyama-Yokoyama, Eisenbud-Huneke-Vasconcelos: primdec.lib.; normalization: normal.lib, locnormal.lib, modnormal.lib.

Key Algorithms in Singular

Basic stu↵ Gr¨obner and standard Bases; free resolutions;

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 14 / 24 More advanced stu↵ Primary decomposition, algorithms of Gianni-Trager-Zacharias, Shimoyama-Yokoyama, Eisenbud-Huneke-Vasconcelos: primdec.lib.; normalization: normal.lib, locnormal.lib, modnormal.lib.

Key Algorithms in Singular

Basic stu↵ Gr¨obner and standard Bases; free resolutions; polynomial factorization: Factory.

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 14 / 24 normalization: normal.lib, locnormal.lib, modnormal.lib.

Key Algorithms in Singular

Basic stu↵ Gr¨obner and standard Bases; free resolutions; polynomial factorization: Factory.

More advanced stu↵ Primary decomposition, algorithms of Gianni-Trager-Zacharias, Shimoyama-Yokoyama, Eisenbud-Huneke-Vasconcelos: primdec.lib.;

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 14 / 24 Key Algorithms in Singular

Basic stu↵ Gr¨obner and standard Bases; free resolutions; polynomial factorization: Factory.

More advanced stu↵ Primary decomposition, algorithms of Gianni-Trager-Zacharias, Shimoyama-Yokoyama, Eisenbud-Huneke-Vasconcelos: primdec.lib.; normalization: normal.lib, locnormal.lib, modnormal.lib.

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 14 / 24 > proc sizeStd(ideal I, string monord) { def R=basering; list RL = ringlist(R); RL[3][1][1] = monord; def S=ring(RL); setring(S); return(size(std(imap(R,I)))); }

Example: Coarse Grained Parallelism in Singular Example > LIB("parallel.lib","random.lib"); > ring R = 0,x(1..4),dp; > ideal I=randomid(maxideal(3),3,100);

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 15 / 24 Example: Coarse Grained Parallelism in Singular Example > LIB("parallel.lib","random.lib"); > ring R = 0,x(1..4),dp; > ideal I=randomid(maxideal(3),3,100); > proc sizeStd(ideal I, string monord) { def R=basering; list RL = ringlist(R); RL[3][1][1] = monord; def S=ring(RL); setring(S); return(size(std(imap(R,I)))); }

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 15 / 24 > parallelWaitFirst(commands, args); [1] empty list [2] 11 > parallelWaitAll(commands, args); [1] 55 [2] 11

Example: Coarse Grained Parallelism in Singular Example > list commands = "sizeStd","sizeStd"; > list args = list(I,"lp"),list(I,"dp");

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 16 / 24 > parallelWaitAll(commands, args); [1] 55 [2] 11

Example: Coarse Grained Parallelism in Singular Example > list commands = "sizeStd","sizeStd"; > list args = list(I,"lp"),list(I,"dp"); > parallelWaitFirst(commands, args); [1] empty list [2] 11

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 16 / 24 Example: Coarse Grained Parallelism in Singular Example > list commands = "sizeStd","sizeStd"; > list args = list(I,"lp"),list(I,"dp"); > parallelWaitFirst(commands, args); [1] empty list [2] 11 > parallelWaitAll(commands, args); [1] 55 [2] 11

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 16 / 24 Classification of complex and real isolated hypersurface singularities following Arnold: classify.lib and realclassify.lib; Resolution of singularities: resolve.lib.

Key Algorithms in Singular

Singularities Milnor-, Tjurina-numbers, monodromy and Gauss-Manin systems of an isolated hypersurface singularity: monodromy.lib, gmssing.lib;

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 17 / 24 Resolution of singularities: resolve.lib.

Key Algorithms in Singular

Singularities Milnor-, Tjurina-numbers, monodromy and Gauss-Manin systems of an isolated hypersurface singularity: monodromy.lib, gmssing.lib; Classification of complex and real isolated hypersurface singularities following Arnold: classify.lib and realclassify.lib;

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 17 / 24 Key Algorithms in Singular

Singularities Milnor-, Tjurina-numbers, monodromy and Gauss-Manin systems of an isolated hypersurface singularity: monodromy.lib, gmssing.lib; Classification of complex and real isolated hypersurface singularities following Arnold: classify.lib and realclassify.lib; Resolution of singularities: resolve.lib.

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 17 / 24 Riemann-Roch spaces: hess.lib, brillnoether.lib; New algorithms for computing tropical varieties: gfanlib.so; De Rham Cohomology: deRham.lib; GIT-fans in geometric invariant theory: gitfan.lib.

New Libraries in Singular

Framework for hyperplane arrangements: arr.lib;

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 18 / 24 New algorithms for computing tropical varieties: gfanlib.so; De Rham Cohomology: deRham.lib; GIT-fans in geometric invariant theory: gitfan.lib.

New Libraries in Singular

Framework for hyperplane arrangements: arr.lib; Riemann-Roch spaces: hess.lib, brillnoether.lib;

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 18 / 24 De Rham Cohomology: deRham.lib; GIT-fans in geometric invariant theory: gitfan.lib.

New Libraries in Singular

Framework for hyperplane arrangements: arr.lib; Riemann-Roch spaces: hess.lib, brillnoether.lib; New algorithms for computing tropical varieties: gfanlib.so;

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 18 / 24 New Libraries in Singular

Framework for hyperplane arrangements: arr.lib; Riemann-Roch spaces: hess.lib, brillnoether.lib; New algorithms for computing tropical varieties: gfanlib.so; De Rham Cohomology: deRham.lib; GIT-fans in geometric invariant theory: gitfan.lib.

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 18 / 24 New Libraries in Singular

Framework for hyperplane arrangements: arr.lib; Riemann-Roch spaces: hess.lib, brillnoether.lib; New algorithms for computing tropical varieties: gfanlib.so; De Rham Cohomology: deRham.lib; GIT-fans in geometric invariant theory: gitfan.lib.

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 18 / 24 Included subsystems Factory : Polynomial Factorization; Flint:arithmeticforNumberTheory; Plural: non-commutative stu↵.

Connections to other Systems

Singular GAP Algebraic Geometry Groups polymake ANTIC Convex Geometry Number Theory

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 19 / 24 Factory : Polynomial Factorization; Flint:arithmeticforNumberTheory; Plural: non-commutative stu↵.

Connections to other Systems

Singular GAP Algebraic Geometry Groups polymake ANTIC Convex Geometry Number Theory

Included subsystems

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 19 / 24 Flint:arithmeticforNumberTheory; Plural: non-commutative stu↵.

Connections to other Systems

Singular GAP Algebraic Geometry Groups polymake ANTIC Convex Geometry Number Theory

Included subsystems Factory : Polynomial Factorization;

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 19 / 24 Plural: non-commutative stu↵.

Connections to other Systems

Singular GAP Algebraic Geometry Groups polymake ANTIC Convex Geometry Number Theory

Included subsystems Factory : Polynomial Factorization; Flint:arithmeticforNumberTheory;

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 19 / 24 Connections to other Systems

Singular GAP Algebraic Geometry Groups polymake ANTIC Convex Geometry Number Theory

Included subsystems Factory : Polynomial Factorization; Flint:arithmeticforNumberTheory; Plural: non-commutative stu↵.

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 19 / 24 Connections to other Systems

Singular GAP Algebraic Geometry Groups polymake ANTIC Convex Geometry Number Theory

Included subsystems Factory : Polynomial Factorization; Flint:arithmeticforNumberTheory; Plural: non-commutative stu↵.

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 19 / 24 Homalg Example: From groups to vector bundles

gap> LoadPackage( "repsn" );; gap> LoadPackage( "GradedModules" );; gap> G := SmallGroup( 1000, 93 ); gap> Display( StructureDescription( G ) ); ((C5 x C5) : C5) : Q8

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 20 / 24 Homalg Example: From groups to vector bundles

gap> V := Irr( G )[6];; Degree( V ); 5 gap> T0 := Irr( G )[5];; Degree( T0 ); 2 gap> T1 := Irr( G )[8];; Degree( T1 ); 5 gap> mu0 := ConstructTateMap( V, T0, T1, 2 );

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 21 / 24 Homalg Example: From groups to vector bundles

gap> A := HomalgRing( mu0 ); Q{e0,e1,e2,e3,e4} (weights: [ -1, -1, -1, -1, -1 ]) gap> M:=GuessModuleOfGlobalSectionsFromATateMap(2, mu0);; gap> ByASmallerPresentation( M );

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 22 / 24 Homalg Example: From groups to vector bundles

gap> S := HomalgRing( M ); Q[x0,x1,x2,x3,x4] (weights: [ 1, 1, 1, 1, 1 ]) gap> ChernPolynomial( M ); ( 2 | 1-h+4*h^2 ) -> P^4 gap> tate := TateResolution( M, -5, 5 );;

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 23 / 24 Homalg Example: From groups to vector bundles

gap> Display( BettiTable( tate ) ); total: 100 37 14 10 5 2 5 10 14 37 100 ? ? ? ? ------|---|---|---|---|---|---|---|---|---|---|---|---|---|---| 4: 100 35 4 ...... 0 0 0 0 3: * . 2 10 10 5 ...... 0 0 0 2: * * . . . . . 2 .....00 1: * * * ...... 5 10 10 2 . 0 0: * * * * ...... 4 35 100 ------|---|---|---|---|---|---|---|---|---|---|---|---|---|---S twist: -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 ------Euler: 100 35 2 -10 -10 -5 0 2 0 -5 -10 -10 2 35 100

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 24 / 24 Macaulay2

Mike Stillman ([email protected])

Department of Mathematics Cornell

14 July 2015 Summer Institute in Algebraic Geometry Salt Lake City Macaulay2 essentials in a nutshell

Written with Dan Grayson since 1990’s, open source system Web site : www.macaulay2.com Macaulay2 on the web : web.macaulay2.com No login or installation required ! Has programming language which allows users to create packages and new types of (mathematical) objects. around 100 user written packages distributed with Macaulay2. Selected Macaulay2 packages

NormalToricVarieties (G.G. Smith), cohomology, divisors, res of singularities. BGG (Eisenbud-Schreyer-et al), Bernstein-Gelfand-Gelfand correspondence, sheaf cohomology, Beilinson monads. Dmodules (Leykin-Tsai), b-functions, restriction, local cohomology, multiplier ideals. Schubert2 Intersection theory, based on package Schubert, by Stromme and Katz, with extensions. NumericalAlgebraicGeometry (Leykin et al) Numerical path tracking and decomposition, interfaces to Bertini, PHCpack. Many others : random curves, deformation theory, intersection theory of moduli spaces, Schur functors, . . . Macaulay2, version 1.8.1 with packages: ConwayPolynomials, Elimination, IntegralClosure, LLLBases, PrimaryDecomposition, ReesAlgebra, TangentCone i1 : printWidth=70 o1 = 70 i2 : needsPackage "BGG"; i3 : kk = ZZ/32003 o3 = kk o3 : QuotientRing i4 : S = kk[x_0..x_4] o4 = S o4 : PolynomialRing i5 : -- The next line sets the ideal I load "explicit-surface.m2" i6 : degrees I o6 = {{6}, {6}, {6}, {6}, {5}, {5}, {5}, {5}, {5}} o6 : List i7 : -- 9 generators: 5 of degree 5, 4 of degree 6 I_0

4 2 3 3 2 4 5 4 o7 = - 2704x x + 9448x x - 14844x x + 5013x x - 13570x x x + 0 1 0 1 0 1 0 1 0 1 2 ------3 2 2 3 4 3 2 2 2 2 15457x x x + 11916x x x - 6767x x x + 7798x x x + 2916x x x 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 ------3 2 2 3 2 3 2 2 2 3 2 + 9106x x x + 6032x x x + 4143x x x + 6548x x x + 5689x x x 0 1 2 0 1 2 0 1 2 0 1 3 0 1 3 ------2 2 2 2 3 2 2 2 2 - 2704x x x x + 5551x x x x + 4314x x x - 1819x x x + 0 1 2 3 0 1 2 3 0 1 4 0 1 4 ------3 2 3 2 2 2 2 2 5909x x x - 2704x x x - 6755x x x x + 10115x x x x - 0 1 4 0 2 4 0 1 2 4 0 1 2 4 ------3 2 2 2 2 2 2 2 2 2 5013x x x + 14821x x x + 15672x x x x + 6767x x x - 1 2 4 0 2 4 0 1 2 4 1 2 4 ------3 2 3 2 4 2 2 2 2 2 7779x x x - 9106x x x - 4143x x - 8003x x x x + 4314x x x x 0 2 4 1 2 4 2 4 0 1 3 4 0 2 3 4 ------2 2 2 2 2 4 4 - 5689x x x x - 5551x x x - 6852x x x + 10076x x x - 1 2 3 4 2 3 4 0 1 4 0 2 4 ------4 2 4 2 4 11623x x x - 15829x x - 15149x x 1 2 4 2 4 3 4 o7 : S i8 : netList I_*

+------| 4 2 3 3 2 4 5 4 o8 = |- 2704x x + 9448x x - 14844x x + 5013x x - 13570x x x + ... | 0 1 0 1 0 1 0 1 0 1 2 +------| 5 4 2 3 3 2 4 5 |2704x x - 9448x x + 14844x x - 5013x x + 13570x x - 1545... | 0 1 0 1 0 1 0 1 0 2 +------| 3 3 2 4 5 6 3 2 |2704x x - 9448x x + 14844x x - 5013x + 13570x x x - 1545 | 0 1 0 1 0 1 1 0 1 2 +------| 6 5 4 2 3 3 5 |- 2704x + 9448x x - 14844x x + 5013x x + 14821x x + 5726 | 0 0 1 0 1 0 1 0 2 +------| 3 2 2 3 4 2 |- 5291x x x + 8060x x x - 15744x x x + 12425x x - 12484x | 0 1 2 0 1 2 0 1 2 1 2 0 +------| 4 3 2 2 3 3 2 |5291x x - 8060x x x + 15744x x x - 12425x x x + 12484x x | 0 2 0 1 2 0 1 2 0 1 2 0 2 +------| 4 3 2 2 3 4 |- 13570x x + 636x x x + 6190x x x + 4586x x x + 10884x x | 0 2 0 1 2 0 1 2 0 1 2 1 2 +------| 4 3 2 2 3 3 |- 2704x x + 9448x x x - 14844x x x + 5013x x x + 14821x x ... | 0 2 0 1 2 0 1 2 0 1 2 0 +------| 3 2 2 3 4 3 |- 2704x x x + 9448x x x - 14844x x x + 5013x x - 13570x x ... | 0 1 2 0 1 2 0 1 2 1 2 0 +------i9 : R = S/I o9 = R o9 : QuotientRing i10 : X = Proj R o10 = X o10 : ProjectiveVariety i11 : ------Basic numerical invariants ------dim X -- 2 o11 = 2 i12 : degree X -- 12 o12 = 12 i13 : -- X is a surface in P^4, degree 12. genera X -- pa = 2, sectional genus: 13. o13 = {2, 13, 11} o13 : List i14 : ------Smoothness ------We check this directly: ideal singularLocus X o14 = ideal 1 o14 : Ideal of S i15 : -- X is a nonsingular surface, degree 12, -- sectional genus 13 in P^4 ------Basic cohomology ------euler OO_X^1 -- 3 o15 = 3 i16 : HH^1(OO_X) -- 1

1 o16 = kk o16 : kk-module, free i17 : HH^2(OO_X) -- 3

3 o17 = kk o17 : kk-module, free i18 : h0 = (euler OO_X^1) + rank HH^1(OO_X) - rank HH^2(OO_X) o18 = 1 i19 : -- therefore h^0(OO_X) = 1 (takes longer to compute directly). -- h^0(OO_X) - h^1 + h^2 = 3, so hh^0 = 1 -- So X is connected

-- Whole cohomology table for OO_X -- How to read it: -- row p, column d is entry for h^p(OO_X(d-p)) -- e.g. h^1(OO_X(1)) = 2 ct = cohomologyTable(sheaf(S^1/I), -2, 6)

-2 -1 0 1 2 3 4 5 6 7 8 o19 = 2: 123 75 39 15 3 ...... 1: . . . 1 2 1 . . . . . 0: . . 1 5 16 39 75 123 183 255 339 o19 : CohomologyTally i20 : -- So: X is a smooth irreducible surface, degree 12. -- X is irregular, and pg = 3.

-- Canonical Sheaf wX = Ext^(codim I)(S^1/I, S^{-numgens S}) o20 = cokernel {0} | -3092x_0-2149x_2 ... {0} | 2223x_0-10811x_1+5891x_2 ... {0} | x_0+9850x_1-2696x_2 ... {1} | 0 ...

4 o20 : S-module, quotient of S i21 : cohomologyTable(sheaf wX,-2,6)

-2 -1 0 1 2 3 4 5 6 o21 = 2: 75 39 16 5 1 . . . . 1: . 1 2 1 . . . . . 0: . . 3 15 39 75 123 183 255 o21 : CohomologyTally i22 : ct -- Serre duality holds here!

-2 -1 0 1 2 3 4 5 6 7 8 o22 = 2: 123 75 39 15 3 ...... 1: . . . 1 2 1 . . . . . 0: . . 1 5 16 39 75 123 183 255 339 o22 : CohomologyTally i23 : ------Intersection numbers ------KX = sheaf(wX ** R) o23 = cokernel {0} | -3092x_0-2149x_2 ... {0} | 2223x_0-10811x_1+5891x_2 ... {0} | x_0+9850x_1-2696x_2 ... {1} | 0 ...

3 1 o23 : coherent sheaf on X, quotient of OO ++ OO (-1) X X i24 : -- Riemann-Roch for surfaces: intersectionNumber = (L,M) -> euler ring L - euler L - euler M + euler(L**M) o24 = intersectionNumber o24 : FunctionClosure i25 : intersectionNumber(OO_X(1), OO_X(1)) -- H.H = 12, as expected o25 = 12 i26 : intersectionNumber(KX, KX) -- K.K = 0 o26 = 0 i27 : intersectionNumber(KX, OO_X(1)) -- K.H = 12 o27 = 12 i28 : ------Hodge diamond and h^(1,1) ------We need the euler char of the cotangent bundle OmegaX = cotangentSheaf(1,X,Minimize=>false); i29 : euler image generators module OmegaX - euler image relations module OmegaX o29 = -30 i30 : -- euler characteristic of Omega_X is -30 -- therefore h^(1,1)(X) = 32 -- Hodge diamond: -- 1 -- 1 1 -- 3 32 3 -- 1 1 -- 1

------phi_K : X --> E \subset P^2 ------First: bring KX into the ring R = S/I -- One way: Compute Hom(wX,R), take any non-zero -- map, and let J be its image wXR = wX ** R o30 = cokernel {0} | -3092x_0-2149x_2 ... {0} | 2223x_0-10811x_1+5891x_2 ... {0} | x_0+9850x_1-2696x_2 ... {1} | 0 ... 4 o30 : R-module, quotient of R i31 : hom = Hom(wXR,R) o31 = image {0} | -12968x_0^3-4556x_0^2x_1+8642x... {0} | -9226x_0^3-1337x_0^2x_1-13005x... {0} | -1822x_0^3-5878x_0^2x_1-6116x_... {-1} | x_0x_1^2x_2-3859x_1^3x_2-14421...

4 o31 : R-module, submodule of R i32 : J = ideal image homomorphism hom_{0}

3 2 2 3 2 o32 = ideal (- 12968x - 4556x x + 8642x x - 6371x - 13175x x + 0 0 1 0 1 1 0 2 ------2 2 2 3 5650x x x - 5369x x + 6425x x - 14501x x - 15967x - 0 1 2 1 2 0 2 1 2 2 ------2 2 2 2 2 10875x x - 15729x x + 4339x x - 15729x x - 3211x x + 0 3 1 3 2 3 0 4 1 4 ------2 3 2 2 3 2 6118x x , - 9226x - 1337x x - 13005x x - 10041x + 5003x x + 2 4 0 0 1 0 1 1 0 2 ------2 2 2 3 3295x x x - 12368x x - 6467x x + 11335x x - 7793x + 0 1 2 1 2 0 2 1 2 2 ------2 2 2 2 2 14956x x - 10910x x + 309x x - 10910x x + 9354x x + 0 3 1 3 2 3 0 4 1 4 ------2 3 2 2 3 2 7656x x , - 1822x - 5878x x - 6116x x + 2843x - 13909x x + 2 4 0 0 1 0 1 1 0 2 ------2 2 2 3 1234x x x - 10761x x - 12450x x - 9173x x - 9619x + 0 1 2 1 2 0 2 1 2 2 ------2 2 2 2 2 13582x x + 5148x x - 11995x x + 5148x x + 526x x + 0 3 1 3 2 3 0 4 1 4 ------2 2 3 2 2 2 2 2 1430x x , x x x - 3859x x - 14421x x - 9381x x x - 7062x x 2 4 0 1 2 1 2 0 2 0 1 2 1 2 ------3 3 4 2 2 + 4924x x - 9555x x + 11943x - 9823x x x - 9743x x x - 0 2 1 2 2 0 2 3 1 2 3 ------2 2 4 2 2 2 2 164x x + 5341x - 14125x x x + 13772x x x + 12460x x - 2 3 3 0 2 4 1 2 4 2 4 ------2 2 4 5447x x + 8369x ) 3 4 4 o32 : Ideal of R i33 : -- wXR is isomorphic to a twist of the ideal J basis(0, wXR) o33 = {0} | 1 0 0 | {0} | 0 1 0 | {0} | 0 0 1 | {1} | 0 0 0 | o33 : Matrix i34 : betti J -- 3 generators in degree 3.

0 1 o34 = total: 1 4 0: 1 . 1: . . 2: . 3 3: . 1 o34 : BettiTally i35 : J_0

3 2 2 3 2 o35 = - 12968x - 4556x x + 8642x x - 6371x - 13175x x + 0 0 1 0 1 1 0 2 ------2 2 2 3 5650x x x - 5369x x + 6425x x - 14501x x - 15967x - 0 1 2 1 2 0 2 1 2 2 ------2 2 2 2 2 10875x x - 15729x x + 4339x x - 15729x x - 3211x x + 0 3 1 3 2 3 0 4 1 4 ------2 6118x x 2 4 o35 : R i36 : -- next: compute the image of X under the -- 3 cubics in J -- Image of the map: A = kk[a,b,c] o36 = A o36 : PolynomialRing i37 : phi = map(R,A,{J_0,J_1,J_2})

3 2 2 3 2 o37 = map(R,A,{- 12968x - 4556x x + 8642x x - 6371x - 13175x x + ... 0 0 1 0 1 1 0 2 o37 : RingMap R <--- A i38 : imF = ker phi -- an elliptic curve. Is it smooth?

3 2 2 3 2 o38 = ideal(a + 15592a b + 9520a*b - 7485b - 8060a c - 1884a*b*c + ------2 2 2 3 53b c - 2746a*c + 2263b*c + 2187c ) o38 : Ideal of A i39 : codim ideal jacobian imF -- 3, so curve is smooth, therefore of genus 1. o39 = 3 i40 : -- We can also check the following: -- (1) The general fiber is smooth of genus 1 (and degree 12) -- This follows from: genus(K) = 1 + 1/2 K.(K+K) = 1 -- Therefore: X is an elliptic surface

-- (2) This map X --> E \subset P^2 is base point free -- Can be checked by considering set of (g0,g1,g2) which -- define the same morphism: -- (f0,f1,f2) = toSequence flatten entries phi.matrix

3 2 2 3 2 o40 = (- 12968x - 4556x x + 8642x x - 6371x - 13175x x + 0 0 1 0 1 1 0 2 ------2 2 2 3 5650x x x - 5369x x + 6425x x - 14501x x - 15967x - 0 1 2 1 2 0 2 1 2 2 ------2 2 2 2 2 10875x x - 15729x x + 4339x x - 15729x x - 3211x x + 0 3 1 3 2 3 0 4 1 4 ------2 3 2 2 3 2 6118x x , - 9226x - 1337x x - 13005x x - 10041x + 5003x x + 2 4 0 0 1 0 1 1 0 2 ------2 2 2 3 3295x x x - 12368x x - 6467x x + 11335x x - 7793x + 0 1 2 1 2 0 2 1 2 2 ------2 2 2 2 2 14956x x - 10910x x + 309x x - 10910x x + 9354x x + 0 3 1 3 2 3 0 4 1 4 ------2 3 2 2 3 2 7656x x , - 1822x - 5878x x - 6116x x + 2843x - 13909x x + 2 4 0 0 1 0 1 1 0 2 ------2 2 2 3 1234x x x - 10761x x - 12450x x - 9173x x - 9619x + 0 1 2 1 2 0 2 1 2 2 ------2 2 2 2 2 13582x x + 5148x x - 11995x x + 5148x x + 526x x + 0 3 1 3 2 3 0 4 1 4 ------2 1430x x ) 2 4 o40 : Sequence i41 : -- The map to P^2 consists, off of a set of codim 1, this vector. -- Is the map a morphism? SZ = syz matrix{{f1,-f0,0},{f2,0,-f0},{0,f2,-f1}};

3 9 o41 : Matrix R <--- R i42 : -- SZ is the entire map SZ_{2} o42 = {3} | -10602x_0^3-7528x_0^2x_1+3241x_0x_1^2-4750x_1^3-12938x_0 {3} | 9209x_0^3+3963x_0^2x_1-1974x_0x_1^2-10897x_1^3-12469x_0^ {3} | x_0^3+5224x_1^3+3443x_0^2x_2+10389x_0x_1x_2+9049x_1^2x_2 ------^2x_2+7658x_0x_1x_2+12016x_1^2x_2+10149x_0x_2^2+10791x_1x_ 2x_2-11608x_0x_1x_2-11506x_1^2x_2-929x_0x_2^2-2247x_1x_2^2 -12966x_0x_2^2-8158x_1x_2^2-6389x_2^3+9337x_0x_3^2+10563x_ ------2^2+3082x_2^3-1206x_0x_3^2+13213x_1x_3^2-1291x_2x_3^2+13213x_ +4149x_2^3-8088x_0x_3^2-1983x_1x_3^2+567x_2x_3^2-1983x_0x_4^2 1x_3^2+8963x_2x_3^2+10563x_0x_4^2+15060x_1x_4^2+5226x_2x_4^2 ------0x_4^2-9311x_1x_4^2+5522x_2x_4^2 | -15952x_1x_4^2-5291x_2x_4^2 | |

3 1 o42 : Matrix R <--- R i43 : minors(2,SZ) -- all 0, so morphism is given by any column of SZ o43 = ideal () o43 : Ideal of R i44 : saturate ideal SZ -- no base points! o44 = ideal 1 o44 : Ideal of R i45 : -- (3) Singular fibers? -- This is computationally more intensive -- However, (from Hodge diamond) we compute: e(X) = 36. -- e(X) = 36, so there are potentially 36 -- singular fibers (if all are rational double points) -- exercise: find them! What kinds are they?