+ All Categories
Home > Documents > New developments in Singular - University of Liverpoolpjgiblin/VVG60/slides/2...complex on U, i.e....

New developments in Singular - University of Liverpoolpjgiblin/VVG60/slides/2...complex on U, i.e....

Date post: 31-Jan-2021
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
43
New developments in Singular H. Sch¨ onemann University of Kaiserslautern, Germany 2016/03/31 1 / 43
Transcript
  • New developments in Singular

    H. SchönemannUniversity of Kaiserslautern, Germany

    2016/03/31

    1 / 43

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

    2 / 43

  • Open development model

    3 / 43

  • Open development model

    Singular issue tracker

    Interaction with user base, bug & feature tracking

    4 / 43

  • What is Singular?

    Over 30 development teams worldwide, over 170 libraries for advancedtopics.

    5 / 43

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

    6 / 43

  • Singular Libraries

    7 / 43

  • 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);

    // ’paraPlaneCurve’ created a ring together with an ideal PARA.

    > def RP1 = paraPlaneCurve(f);setring RP1;PARA;

    PARA[1]=25s5-1025s4t+14825s3t2-85565s2t3+146420st4-20780t5

    PARA[2]=25s5-1400s4t+30145s3t2-305650s2t3+1396410st4-2023972t5

    PARA[3]=25s5-1025s4t+15575s3t2-116205s2t3+562440st4-1898652t5

    8 / 43

  • 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));

    9 / 43

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

    10 / 43

  • Key Algorithms in SingularBasic stuff

    Gröbner and standard Bases;

    free resolutions;

    polynomial factorization: Factory.

    More advanced stuff

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

    normalization: normal.lib, locnormal.lib, modnormal.lib.

    parametrization of rational plane curves: paraplanecurves.lib

    ...

    11 / 43

  • Parallelization: Processes

    processes, different memory areasProblem: data transfer

    can use a cluster of machines

    uses for Gröbner base computation:Chinese Remainder Theorem and Rational Reconstruction

    12 / 43

  • Parallelization: Gröbner bases via Chinese RemainderTheorem

    choose (lucky) primes according to available CPU cores/machines

    compute a complete reduced Gröbner basis modulo these primes

    combine by rational reconstruction (Farey)

    13 / 43

  • Parallelization: Threads

    threads - same process, common memoryProblem: synchronization of data access

    uses for Gröbner base computation:Matrix operations (Gauss, F4)

    14 / 43

  • Parallelization: Threads

    MathicGB (B. Roune): Gröbner basis computation via matrixoperations

    matrix of machine size integers (modulo p)

    pivot parts used by all threads

    15 / 43

  • Parallelization: Thread safe interpreter

    threads - same process, common memoryProblem: synchronization of data access

    different memory domains

    16 / 43

  • Example: Coarse Grained Parallelism in Singular

    Example> LIB"parallel.lib";

    > 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))));}

    17 / 43

  • 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

    18 / 43

  • Example: Adjoint Ideals

    We develop

    Parallel local-to-global algorithm computing G as intersection of localadjoint ideals.

    For C over Q, parallel modular approach with efficient verificationtest.

    Implementation in adjointideal.lib.

    Applications to computation of

    Riemann-Roch spaces (brillnoether.lib)

    rational parametrizations (paraplanecurves.lib).

    19 / 43

  • Example: De Rham Cohomology

    General implementation of the algorithm of Oaku/Takayama/Waltherfor computing the de Rham cohomology of the complement U of acomplex affine variety: deRham.lib.

    De Rham cohomology of U is the hypercohomology of the de Rhamcomplex on U, i.e. the complex of algebraic differential forms on U.

    Grothendieck and Deligne showed that it agrees with singularcohomology, hence, can be used to compute Betti numbers.

    Ongoing: Compute Gauss-Manin systems (direct images ofD-modules), local monodromy.

    20 / 43

  • New Libraries in SingularFramework for hyperplane arrangements: arr.lib;Riemann-Roch spaces: hess.lib, brillnoether.lib;

    Intersection theory: schubert.lib;

    New algorithms for computing tropical varieties: gfanlib.so;

    De Rham Cohomology: deRham.lib;

    GIT-fans in geometric invariant theory: gitfan.lib.

    Parallel Computation of Gröbner Bases over Q (modstd.lib) andover algebraic function fields (ffmodstd.lib,nfmodstd.lib)

    Symbolic Computation with Chern Classes: chern.lib

    ...

    21 / 43

  • Connections to other Systems

    GAPGroups

    SingularAlgebraic Geometry

    polymakeConvex Geometry

    ANTICNumber Theory

    Included subsystems

    Factory: Polynomial Factorization;

    NTL: arithmetic for Number Theory;

    Flint: arithmetic for Number Theory;

    Plural: non-commutative stuff.

    22 / 43

  • 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

    23 / 43

  • 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 );

    24 / 43

  • 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 );

    25 / 43

  • 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 );;

    26 / 43

  • 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

    27 / 43

  • Computational Primary Decomposition: History

    algorithm by Wu in Maple (Wu-Ritt-process, 1989): via characteristicsets

    algorithm by Gianni,Traeger,Zacharias in AXIOM (1988) viafactorization

    algorithm by Eisenbud, Huneke, Vasconcelos (1992) viaequidimensional decomposition

    algorithm by Shimoyama, Yokoyama (1996) via characteristic series

    Singular implements GTZ, SY (1998), EHV (2001)

    28 / 43

  • Computational Primary Decomposition by the Algorithm ofEisenbud, Huneke, Vasconcelos

    The algorithm by Eisenbud, Huneke, Vasconcelos decomposes intoequidimensional parts Its main splitting tools isProposition. If I ⊆ R = K [x1, ..xn] is an ideal, then the equidimensionalhull of I E (I ) = AnnExtn−dR (R/I ,R), where d = dim(I ).

    29 / 43

  • Computational Primary Decomposition by CharacteristicSeries

    Let < be the lexicographical ordering on R = K [x1, ..., xn] withx1 < ... < xn. For f ∈ R let lvar(f ) (the leading variable of f ) be thelargest variable in f , i.e., if f = as(x1, ..., xk−1)x

    sk + ... + a0(x1, ..., xk−1) for

    some k ≤ n then lvar(f ) = xk .

    30 / 43

  • Computational Primary Decomposition by CharacteristicSeries

    Let ini(f ) := as(x1, ..., xk−1). The pseudoremainder r = prem(g , f ) of gwith respect to f is defined by the equality ini(f )a · g = qf + r withdeglvar(f )(r) < deglvar(f )(f ) and a minimal. A set T = {f1, ..., fr} ⊂ R iscalled triangular if lvar(f1) < ... < lvar(fr ). Moreover, let U ⊂ T , then(T ,U) is called a triangular system, if T is a triangular set such thatini(T ) does not vanish on V (T ) \ V (U)(=: V (T \ U)).

    31 / 43

  • Irreducible characteristic series

    T is called irreducible if for every i there are no di ,f′i ,f′′i such that

    lvar(di ) < lvar(fi ) = lvar(f′i ) = lvar(f

    ′′i ),

    0 6∈ prem({di , ini(f ′i ), ini(f ′′i )}, {f1, ..., fi−1}),

    prem(di fi − f ′i f ′′i , {f1, ..., fi−1}) = 0.

    (T ,U) is called irreducible if T is irreducible.

    32 / 43

  • Irreducible characteristic series

    The main result on triangular sets is the following: LetG = {g1, ..., gs} ⊂ R, then there are irreducible triangular sets T1, ...,Tlsuch that V (G ) =

    ⋃li=1(V (Ti \ Ii )) where Ii = {ini(f ) | f ∈ Ti}. Such a

    set {T1, ...,Tl} is called an irreducible characteristic series of the ideal(G ).

    33 / 43

  • Preprocessing: The Factorizing Buchberger Algorithm

    The factorizing Buchberger algorithm is the combination of Buchbergeralgorithm with factorization: each new element for the Gröbnerbasis willbe factorized, and, if reducible, used to split the computation into severalbranches corresponding to the factors. Applied to an ideal I = (p1, ..., ps)it computes a list of Gröbner bases G1, ...,Gr such that

    V (I ) = V (G1) ∪ ... ∪ V (Gr )

    .The V (Gi ) need not be irreducible, so this algorithm is mainly used as apreprocessing step.

    34 / 43

  • Parallelizing: The Factorizing Buchberger Algorithm

    input: S = {s1, ..., sr} partial Gröbner basisD set of non-zero constraints (may be empty)L set of pairs etc.

    compute the Spoly h from L

    try to factor hI if h does not factor: update S , L, continueI h = h1...hr : new sub-problems: Si = S ∪ {hi}, Di = D ∪ {h1...hi−1},

    update LiI check for subproblems describing the empty set: discard (Si ,Di , Li ) if

    (Di ) ⊆ (Si )

    35 / 43

  • Parallelizing: The Factorizing Buchberger Algorithm

    number of sub-problems vary

    all sub-problems are independent of each other

    work stealing can be used as the scheduling strategy to organizeseveral workers to process the sub-problems

    36 / 43

  • Zero-dimensional Primary Decomposition

    The lexicographical GB of a zero-dimensional ideal I contains onepolynomial f of only the last variable. Let f α11 ....f

    αrr = f the

    decomposition of f in irreducible factors.Then the minimal primary decomposition of I is given by

    I = ∩rk=1(I , fαkk )

    37 / 43

  • Primary Decomposition: Reduction to Dimension 0

    Proposition Let I ( K [x ] = R be a proper ideal, and let u ⊂ x be asubset of maximal cardinality such that I ∩ K [u] = {0}. Then:

    The ideal I K (u)[x \u ] ⊂ K (u)[x \u ] is zero-dimensional.Let > = (>x\u , >u) be a global product ordering on K [x ], and let Gbe a Gröbner basis for I with respect to >. Then G is a Gröbner basisfor I K (u)[x \u ] with respect to the monomial ordering obtained byrestricting > to the monomials in K [x \u ].

    38 / 43

  • Primary Decomposition: Reduction to Dimension 0

    If h ∈ K [u] is the least common multiple of the leading coefficients of theelements of G (regarded as polynomials in K (u)[x \u ]), then

    I K (u)[x \u ] ∩ K [x ] = I : 〈h〉∞ .

    39 / 43

  • Primary Decomposition: Reduction to Dimension 0

    Proposition Let I ( K [x ] = R be a proper ideal, and let u ⊂ x be asubset of maximal cardinality such that I ∩ K [u] = {0}. Then:

    The ideal I K (u)[x \u ] ⊂ K (u)[x \u ] is zero-dimensional.Let > = (>x\u , >u) be a global product ordering on K [x ], and let Gbe a Gröbner basis for I with respect to >. Then G is a Gröbner basisfor I K (u)[x \u ]

    40 / 43

  • Primary Decomposition: Reduction to Dimension 0

    All primary components of the ideal I K (u)[x \u ] ∩ K [x ] have thesame dimension, namely dim I . If I K (u)[x \u ] = Q1 ∩ . . . ∩ Qr is theminimal primary decomposition, then

    I K (u)[x \u ] ∩ K [x ] = (Q1 ∩ K [x ]) ∩ . . . ∩ (Qr ∩ K [x ])

    is the minimal primary decomposition, too.

    By recursion, the proposition allows us to reduce the general case ofprimary decomposition to the zero-dimensional case. In turn, if I ⊂ K [x ] isa zero-dimensional ideal “in general position” (with respect to thelexicographic order satisfying x1 > · · · > xn), and if hn is a generator forI ∩ K [xn], the minimal primary decomposition of I is obtained byfactorizing hn. In characteristic zero, the condition that I is in generalposition can be achieved by means of a generic linear coordinatetransformation

    41 / 43

  • Primary decomposition: Summary of basic operations

    Gröbner basis computation

    factorizing polynomials over K resp K (x))

    ideal operations: intersection, quotient, saturation

    coordinate transformation

    42 / 43

  • Thank you

    43 / 43


Recommended