71
What can computer Algebraic Geometry do today? Gregory G. Smith Wolfram Decker Mike Stillman 14 July 2015

What can computer Algebraic Geometry do today? · What can computer Algebraic Geometry do today? GregoryG.Smith WolframDecker MikeStillman 14July2015

Embed Size (px)

Citation preview

WhatcancomputerAlgebraicGeometrydotoday?

Gregory G. SmithWolfram DeckerMike Stillman

14 July 2015

EssentialQuestionsWhat can be computed?What software is currently available?What would you like to compute?How should software advance yourresearch?

BasicMathematicalTypesPolynomial Rings, Ideals, Modules,Varieties (affine, projective, toric, abstract),Sheaves, Divisors, Intersection Rings,Maps, Chain Complexes, Homology,Polyhedra, Graphs, Matroids,

EstablishedGeometricToolsElimination, Blowups, Normalization,Rational maps, Working with divisors,Components, Parametrizing curves,Sheaf Cohomology, -modules,

EmergingGeometricToolsClassification of singularities,Numerical algebraic geometry,

, Derived equivalences,Deformation theory, Positivity,

SomeGeometricSuccessesGEOGRAPHY OF SURFACES: exhibitingsurfaces with given invariantsBOIJ-SÖDERBERG: examples lead tonew conjectures and theoremsMODULI SPACES: computer aidedproofs of unirationality

SomeExistingSoftwareGAP, Macaulay2, SINGULAR,CoCoA, Magma, Sage, PARI, RISA/ASIR,Gfan, Polymake, Normaliz, 4ti2,Bertini, PHCpack, Schubert, Bergman,

an idiosyncratic and incomplete list

EffectiveSoftwareUSEABLE: documented examplesMAINTAINABLE: includes tests, part ofa larger distributionPUBLISHABLE: Journal of Software forAlgebra and Geometry; www.j-sag.orgCITATIONS: reference software

Recent Developments in Singular

Wolfram DeckerJanko Bohm, Hans Schonemann, Mathias Schulze

Mohamed Barakat

TU Kaiserslautern

July 14, 2015

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

What is Singular?

A computer algebra system for polynomial computations, with specialemphasis 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

What is Singular?

A computer algebra system for polynomial computations, with specialemphasis 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

What is Singular?

A computer algebra system for polynomial computations, with specialemphasis 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

What is Singular?

A computer algebra system for polynomial computations, with specialemphasis 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

What is Singular?

A computer algebra system for polynomial computations, with specialemphasis 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 advancedtopics.

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 advancedtopics.

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

What is Singular?

Singular consists of

a kernel, written in C/C ++, and containing the core algorithms,

libraries, written in the Singular language which provides aconvenient way of user interaction and adding new mathematicalfeatures, and

a comprehensive online manual and help function.

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

What is Singular?

Singular consists of

a kernel, written in C/C ++, and containing the core algorithms,

libraries, written in the Singular language which provides aconvenient way of user interaction and adding new mathematicalfeatures, and

a comprehensive online manual and help function.

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

What is Singular?

Singular consists of

a kernel, written in C/C ++, and containing the core algorithms,

libraries, written in the Singular language which provides aconvenient way of user interaction and adding new mathematicalfeatures, 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-Witteninvariants.

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

Key Algorithms in Singular

Basic stu↵Grobner 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

Key Algorithms in Singular

Basic stu↵Grobner 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

Key Algorithms in Singular

Basic stu↵Grobner 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

Key Algorithms in Singular

Basic stu↵Grobner 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

Key Algorithms in Singular

Basic stu↵Grobner 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

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

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

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

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

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

Key Algorithms in Singular

Singularities

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

Classification of complex and real isolated hypersurface singularitiesfollowing Arnold: classify.lib and realclassify.lib;

Resolution of singularities: resolve.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 ofan isolated hypersurface singularity: monodromy.lib, gmssing.lib;

Classification of complex and real isolated hypersurface singularitiesfollowing Arnold: classify.lib and realclassify.lib;

Resolution of singularities: resolve.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 ofan isolated hypersurface singularity: monodromy.lib, gmssing.lib;

Classification of complex and real isolated hypersurface singularitiesfollowing Arnold: classify.lib and realclassify.lib;

Resolution of singularities: resolve.lib.

Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 17 / 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

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

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

Connections to other Systems

GAPGroups

SingularAlgebraic Geometry

polymakeConvex Geometry

ANTICNumber Theory

Included subsystems

Factory: Polynomial Factorization;

Flint: arithmetic for Number Theory;

Plural: non-commutative stu↵.

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

Connections to other Systems

GAPGroups

SingularAlgebraic Geometry

polymakeConvex Geometry

ANTICNumber Theory

Included subsystems

Factory: Polynomial Factorization;

Flint: arithmetic for Number Theory;

Plural: non-commutative stu↵.

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

Connections to other Systems

GAPGroups

SingularAlgebraic Geometry

polymakeConvex Geometry

ANTICNumber Theory

Included subsystems

Factory: Polynomial Factorization;

Flint: arithmetic for Number Theory;

Plural: non-commutative stu↵.

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

Connections to other Systems

GAPGroups

SingularAlgebraic Geometry

polymakeConvex Geometry

ANTICNumber Theory

Included subsystems

Factory: Polynomial Factorization;

Flint: arithmetic for Number Theory;

Plural: non-commutative stu↵.

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

Connections to other Systems

GAPGroups

SingularAlgebraic Geometry

polymakeConvex Geometry

ANTICNumber Theory

Included subsystems

Factory: Polynomial Factorization;

Flint: arithmetic for Number Theory;

Plural: non-commutative stu↵.

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

Connections to other Systems

GAPGroups

SingularAlgebraic Geometry

polymakeConvex Geometry

ANTICNumber Theory

Included subsystems

Factory: Polynomial Factorization;

Flint: arithmetic for Number Theory;

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 );<pc group of size 1000 with 6 generators>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 );5gap> T0 := Irr( G )[5];; Degree( T0 );2gap> T1 := Irr( G )[8];; Degree( T1 );5gap> mu0 := ConstructTateMap( V, T0, T1, 2 );<A homomorphism of graded left modules>

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 );<A graded non-zero module presented by 92relations for 19 generators>

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^4gap> 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 . . . . . 0 0

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 2015Summer 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.comNo login or installation required !

Has programming language which allows users to create packagesand new types of (mathematical) objects.

around 100 user written packages distributed with Macaulay2.

Selected Macaulay2 packages

NormalToricVarieties (G.G. Smith), cohomology, divisors, res ofsingularities.

BGG (Eisenbud-Schreyer-et al), Bernstein-Gelfand-Gelfandcorrespondence, sheaf cohomology, Beilinson monads.

Dmodules (Leykin-Tsai), b-functions, restriction, local cohomology,multiplier ideals.

Schubert2 Intersection theory, based on maple package Schubert,by Stromme and Katz, with extensions.

NumericalAlgebraicGeometry (Leykin et al) Numerical pathtracking and decomposition, interfaces to Bertini, PHCpack.

Many others : random curves, deformation theory, intersectiontheory of moduli spaces, Schur functors, . . .

Macaulay2, version 1.8.1with 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

1o16 = kk

o16 : kk-module, free

i17 : HH^2(OO_X) -- 3

3o17 = 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 8o19 = 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 ...

4o20 : S-module, quotient of S

i21 : cohomologyTable(sheaf wX,-2,6)

-2 -1 0 1 2 3 4 5 6o21 = 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 8o22 = 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 1o23 : 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 ...

4o30 : 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...

4o31 : 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 1o34 = 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 9o41 : 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 1o42 : 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?