Changeset 1e468c in git


Ignore:
Timestamp:
May 30, 2018, 10:21:38 AM (6 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'b4f17ed1d25f93d46dbe29e4b499baecc2fd51bb')
Children:
1dc0f49f5bfe28a26f9ef5387a39bc34460fc7a890cf0db2f9b5a0462ac8e2ad6324651427d0257f
Parents:
5adeb3e005f72d27839ca47db25e2a3682afcbe7
Message:
doc: grobcov description
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/grobcov.lib

    r5adeb3 r1e468c  
    66category="General purpose";
    77info="
    8 LIBRARY:  grobcov.lib  February 2018.
    9           Groebner Cover for parametric ideals.
    10           Comprehensive Groebner Systems, Groebner Cover,
    11           Canonical Forms,  Parametric Polynomial Systems,
    12           Automatic Deduction of Geometric Theorems,
    13           Dynamic Geometry, Loci, Envelope, Constructible sets.
    14           See: A. Montes A, M. Wibmer,
    15           \"Groebner Bases for Polynomial Systems with parameters\",
    16           Journal of Symbolic Computation 45 (2010) 1391-1425.
    17           (https://www.mat.upc.edu//en/people/antonio.montes/).
     8LIBRARY:  grobcov.lib  February 2018.  Groebner Cover for parametric ideals.
    189
    1910IMPORTANT: The book,  not yet published:
    2011           A. Montes. \" The Groebner Cover\":
    2112           (Discussing Parametric Polynomial Systems).
    22            can be used as a user manual of all
    23            the  routines included in this library.
    24            It defines and proves all the theoretic results used
    25            here,  and shows examples of all the routines.
     13           can be used as a user manual of all the  routines included in this library.
     14           It defines and proves all the theoretic results used here,  and shows examples of all the routines.
    2615           It will be published soon.
    27            There are many previous papers realted to the subject,
    28            but the book actualices all the contents.
     16           There are many previous papers realted to the subject, but the book actualices all the contents.
     17           (https://www.mat.upc.edu/en/people/antonio.montes/).
    2918
    3019AUTHORS:  Antonio Montes (Universitat Politecnica de Catalunya),
    3120          Hans Schoenemann (Technische Universitaet Kaiserslautern).
    3221
    33 OVERVIEW: In 2010, the library was designed to contain
    34           Montes-Wibmer's
    35           algorithms for computing the Canonical Groebner
    36           Cover of a  parametric ideal. The central  routine is
    37           grobcov. Given  a  parametric ideal, grobcov outputs
    38           its Canonical  Groebner Cover, consisting of a set
    39           of triplets of (lpp, basis,  segment). The basis
    40           (after normalization) is the reduced  Groebner basis
    41           for each point of the segment. The segments
    42           are disjoint, locally closed and  correspond to
    43           constant lpp (leading power product) of the basis,
    44           and are represented in canonical representation.
     22PURPOSE: The routine grobcov computes a Groebner cover of a parametric ideal.
     23        This is a disjoint covering of the parameter space by locally closed sets (set theoretical the difference of two
     24        varieties given by two ideals), on which the Groebner basis of the input ideal is constant (and hence all invariants
     25        which can be computed from the Groebner basis or its leading ideal). Moreover it computes for each locally
     26        closed subset the corresponding Groebner basis and the leading ideal.
     27        This is the fundamental routine of the library.
     28
     29OVERVIEW: In 2010, the library was designed to contain Montes-Wibmer's algorithms
     30          for computing the Canonical Groebner Cover of a  parametric ideal.s
     31          The central  routine is grobcov. Given  a  parametric ideal,
     32          grobcov outputs its Canonical  Groebner Cover, consisting of a set
     33          of triplets of (lpp, basis,  segment).
     34          The basis (after normalization) is the reduced  Groebner basis
     35          for each point of the segment. The segments are disjoint,
     36          locally closed and  correspond to constant lpp (leading power product)
     37          of the basis, and are represented in canonical representation.
    4538          The segments cover the  whole parameter space.
    46           The output is canonical, it only depends on the
    47           given parametric ideal and the monomial order.
    48           This is much more than a simple Comprehensive
    49           Groebner System.  The algorithm grobcov allows
    50           options to solve  partially the problem when the
    51           whole automatic algorithm  does not finish in
    52           reasonable time.
    53 
    54           grobcov uses a first algorithm cgsdr that outputs a
    55           disjoint  reduced Comprehensive Groebner System
    56           with constant lpp. For this purpose, in this library,
    57           the implemented algorithm is Kapur-Sun-Wang
    58           algorithm, because it is actually the most efficient
     39          The output is canonical, it only depends on the given parametric ideal
     40          and the monomial order.  This is much more than a simple Comprehensive
     41          Groebner System.  The algorithm grobcov allows options to solve
     42          partially the problem when the whole automatic algorithm does not
     43          finish in reasonable time.
     44
     45          grobcov uses a first algorithm cgsdr that outputs a disjoint reduced
     46          Comprehensive Groebner System with constant lpp.
     47          For this purpose, in this library, the implemented algorithm is
     48          Kapur-Sun-Wang algorithm, because it is actually the most efficient
    5949          algorithm known for this purpose.
    60           D. Kapur, Y. Sun, and D.K. Wang \"A New Algorithm
    61           for  Computing Comprehensive Groebner Systems\".
     50          D. Kapur, Y. Sun, and D.K. Wang \"A New Algorithm for  Computing Comprehensive Groebner Systems\".
    6251          Proceedings of ISSAC'2010, ACM Press, (2010), 29-36.
    6352
    64           The library has evolved to include new applications of
    65           the  Groebner Cover, and new theoretical developments
    66           have been done. The actual version also includes a
    67           routine (ConsLevels) for computing the canonical form
    68           of a constructible set, given as a union of locally
    69           closed sets. It determines the canonical locally closed
    70           level sets of a constructible set. It is described in:
    71           J.M. Brunat, A. Montes, \"Computing the canonical
    72           representation of constructible sets\".
     53          The library has evolved to include new applications of the  Groebner Cover,
     54          and new theoretical developments have been done. The actual version
     55          also includes a routine (ConsLevels) for computing the canonical form
     56          of a constructible set, given as a union of locally closed sets.
     57          It determines the canonical locally closed level sets of a constructible set.
     58          It is described in:
     59          J.M. Brunat, A. Montes, \"Computing the canonical representation of constructible sets\".
    7360          Math.  Comput. Sci. (2016) 19: 165-178.
    7461
    75           A new routine locus has been included to compute
    76           loci of points, and determining the taxonomy of the
    77           components. It is  described in the book
    78           A. Montes. \"The Groebner Cover\" (Discussing
    79           Parametric Polynomial Systems).
    80           Additional routines to transform the output to string
    81           (locusdg,  locusto) are also included and used in the
    82           Dynamic Geometry software  GeoGebra. They were
    83           described in:
    84           M.A. Abanades, F. Botana, A. Montes, T. Recio:
    85           \''An Algebraic Taxonomy  for Locus Computation in
    86           Dynamic Geometry\''.
     62          A new routine locus has been included to compute loci of points,
     63          and determining the taxonomy of the components. It is  described in the book
     64          A. Montes. \"The Groebner Cover\" (Discussing Parametric Polynomial Systems).
     65          Additional routines to transform the output to string (locusdg,  locusto)
     66          are also included and used in the Dynamic Geometry software GeoGebra.
     67          They were described in:
     68          M.A. Abanades, F. Botana, A. Montes, T. Recio: \"An Algebraic Taxonomy  for Locus Computation in Dynamic Geometry\".
    8769          Computer-Aided Design 56 (2014) 22-33.
    8870
    89           Recently also routines for computing the generalized
    90           envelope  of a family of hyper-surfaces (envelop),
    91           to be used in Dynamic Geometry, has been included
    92           and is described in the book
    93           A. Montes. \"The Groebner Cover\" (Discussing
    94           Parametric Polynomial Systems).
    95 
    96           The last inclusion is an automatic algorithm for
    97           Automatic Deduction of Geometric Theorems,
     71          Recently also routines for computing the generalized envelope  of a family of hyper-surfaces (envelop),
     72          to be used in Dynamic Geometry, has been included and is described in the book
     73          A. Montes. \"The Groebner Cover\" (Discussing Parametric Polynomial Systems).
     74
     75          The last inclusion is an automatic algorithm for Automatic Deduction of Geometric Theorems,
    9876          described in the book \"Groebner Cover\".
    9977
    10078          This version was finished on 10/02/2018
    10179
    102 NOTATIONS: Before calling any routine of the library grobcov,
    103           the user  must define the ideal Q[a][x], and all the
    104           input polynomials and  ideals defined on it.
    105           Internally the routines define and use also other
    106           ideals: Q[a], Q[x,a] and so on.
     80NOTATIONS: Before calling any routine of the library grobcov, the user  must define the ideal Q[a][x],
     81          and all the input polynomials and  ideals defined on it.
     82          Internally the routines define and use also other ideals: Q[a], Q[x,a] and so on.
    10783
    10884PROCEDURES:
     
    25052481proc grobcov(ideal F,list #)
    25062482"USAGE: grobcov(ideal F[,options]);
    2507        F: ideal in Q[a][x] (a=parameters, x=variables) to be
    2508        discussed.This is the fundamental routine of the
    2509        library. It computes the Groebner Cover of a parametric
    2510        ideal F in Q[a][x]. See
    2511        A. Montes , M. Wibmer, \"Groebner Bases for Polynomial
    2512        Systems with parameters\".
     2483       F: ideal in a ring with parameters and variables (the names can be arbitrary)
     2484RETURN:  list, say G, where all the data of the Groebner cover of F are stored.
     2485        G is a list of lists G[1],G[2],...,G[s] (G[i] is called below: (lpp_i, basis_i, segment_i, [lpph_i])
     2486        - each list G[i], consists of 2 ideals: G[i][1] and G[i][2] in the variables
     2487           and a list G[i][3] of 2 ideals G[i][3][1] and G[i][3][2] in the parameters
     2488           [and a fourth list,G[i][4] of 2 ideals in the parameters if option (\"rep\",2) is set]
     2489        Meaning of the ideals G[i][1] and G[i][2]:
     2490        - G[i][1] (= lpp_i) is the leading power product ideal of the input ideal F under the conditions in G[i][3]
     2491
     2492        - G[i][2] (= basis_i) is the Groebner basis of the input ideal F under the conditions in G[i][3]
     2493        Meaning of the list G[i][3] (and  similar for G[i][4]):
     2494
     2495         - G[i][3] (= segment_i) describes the locally closed set which has G[i][1] as (reduced) Groebner basis@*
     2496           G[i][3][1] is the ideal of the closed conditions@*
     2497           G[i][3][2] is the ideal of the open conditions@*
     2498           i.e. in the set V(G[i][3][1]) \ G[i][3][2] the input ideal has  leading ideal G[i][1] and Groebner basis G[i][2]
     2499NOTE: grobcov is only tested for ideals in rings with global ordering over QQ
     2500OPTIONS: An option is a pair of arguments: string, integer.
     2501       To modify the default options, pairs of arguments
     2502       -option name, value- of valid options must be added to the call.
     2503EXPLANATION: In the list G[1]=[[lpp_1,basis_1,segment_1], ..., G[s]=[lpp_s,basis_s,segment_s]]
     2504(optionally [[ lpp_1,basis_1,segment_1,lpph_1], ..., [lpp_s,basis_s,segment_s,lpph_s]])
     2505The lpp (leading power products) are constant over a segment and are the set of lpp of the reduced
     2506Groebner basis for each point of the segment.
     2507
     2508         option (\"showhom\",1): the lpph will be shown: The lpph are the lpp of the homogenized ideal and are
     2509        different for each segment. It is given as a string, and shown only for information.
     2510        With the default option \"can\",1, the segments have different lpph.
     2511
     2512        basis: to each element of lpp corresponds an I-regular function given in full representation (by option (\"ext\",1))
     2513        or in generic representation (default option (\"ext\",0)). The I-regular function is the corresponding
     2514        element of the reduced Groebner basis for each point of the segment with the given lpp.
     2515        For each point in the segment, the polynomial or the set of polynomials representing it
     2516        (if they do not specialize to 0) specializes to the corresponding element of the reduced Groebner basis
     2517        after normalization.
     2518        In the full representation at least one of the polynomials representing the I-regular function specializes
     2519        to non-zero.
     2520
     2521        option (\"rep\",0): With the default option (\"rep\",0) the representation of the segment is the P-representation.
     2522        The P-representation of a segment is of the form [[p_1,[p_11,..,p_1k1]],..,[p_r,[p_r1,..,p_rkr]]] representing
     2523        the segment Union_i ( V(p_i) \ ( Union_j V(p_ij) ) ), where the p's are prime ideals.
     2524
     2525        option (\"rep\",1): With option (\"rep\",1) the representation of the segment is the C-representation.
     2526        The C-representation of a segment is of the form (E,N) representing V(E) \ V(N), and the ideals E and N
     2527        are radical and N contains E.
     2528
     2529        option (\"rep\",2): With option (\"rep\",2) both representations of the segment are given.
     2530
     2531        With the default option the homogenized ideal is computed before obtaining the Groebner Cover,
     2532        so that the result is the canonical Groebner Cover. Setting (\"can\",0) only homogenizes the basis so
     2533        the result is not exactly canonical, but the computation is shorter.
     2534
     2535        \"ext\",0-1: The default is (\"ext\",0).
     2536        With the default (\"ext\",0), only the generic representation of the bases is computed (single polynomials,
     2537        but not specializing to non-zero for every point of the segment.
     2538        With option (\"ext\",1) the full representation of the bases is computed (possible sheaves) and sometimes a
     2539        simpler result is obtained, but the computation is more time consuming.
     2540
     2541        \"rep\",0-1-2: The default is (\"rep\",0)
     2542        and then the segments are given in canonical P-representation;
     2543        option (\"rep\",1) represents the segments in canonical C-representation, and
     2544        option (\"rep\",2) gives both representations.
     2545
     2546        \"comment\",0-3: The default is (\"comment\",0).
     2547        Setting \"comment\" higher will provide information about the development of the computation.
     2548
     2549        \"showhom\",0-1: The default is (\"showhom\",0).
     2550        Setting \"showhom\",1 will output the set of lpp of the homogenized ideal of each segment as last element.
     2551
     2552        One can give none or whatever of these options.
     2553THEORY: A. Montes , M. Wibmer, \"Groebner Bases for Polynomial Systems with parameters\".
    25132554       JSC 45 (2010) 1391-1425.)
    25142555       or the not yet published book
    2515        A. Montes. \" The Groebner Cover\" (Discussing
    2516        Parametric Polynomial Systems).
    2517        The Groebner Cover of a parametric ideal F consist
    2518        of a set of pairs(S_i,B_i), where the S_i are disjoint
    2519        locally closed segments of the parameter space,
    2520        and the B_i are the reducedGroebner bases of the
    2521        ideal on every point of S_i. The ideal F must be
    2522        defined on a parametric ring Q[a][x] (a=parameters,
    2523        x=variables).
    2524 RETURN: The list  [[lpp_1,basis_1,segment_1],  ...,
    2525        [lpp_s,basis_s,segment_s]]
    2526        optionally  [[ lpp_1,basis_1,segment_1,lpph_1],  ...,
    2527        [lpp_s,basis_s,segment_s,lpph_s]]
    2528        The lpp are constant over a segment and
    2529        correspond to the set of lpp of the reduced
    2530        Groebner basis for each point of the segment.
    2531        With option (\"showhom\",1) the lpph will be
    2532        shown: The lpph corresponds to the lpp of the
    2533        homogenized ideal and is different for each
    2534        segment. It is given as a string, and shown
    2535        only for information. With the default option
    2536        \"can\",1, the segments have different lpph.
    2537        Basis: to each element of lpp corresponds
    2538        an I-regular function given in full
    2539        representation (by option (\"ext\",1)) or
    2540        in generic representation (default option (\"ext\",0)).
    2541        The I-regular function is the corresponding
    2542        element of the reduced Groebner basis for
    2543        each point of the segment with the given lpp.
    2544        For each point in the segment, the polynomial
    2545        or the set of polynomials  representing it,
    2546        if they do not specialize to 0, then after
    2547        normalization, specializes to the corresponding
    2548        element of the reduced Groebner basis.
    2549        In the full representation at least one of the
    2550        polynomials representing the I-regular function
    2551        specializes to non-zero.
    2552        With the default option (\"rep\",0) the
    2553        representation of the segment is the
    2554        P-representation.
    2555        With option (\"rep\",1) the representation
    2556        of the segment is the C-representation.
    2557        With option (\"rep\",2) both representations
    2558        of the segment are given.
    2559        The P-representation of a segment is of the form
    2560        [[p_1,[p_11,..,p_1k1]],..,[p_r,[p_r1,..,p_rkr]]]
    2561        representing the segment
    2562        Union_i ( V(p_i) \ ( Union_j V(p_ij) ) ),
    2563        where the p's are prime ideals.
    2564        The C-representation of a segment is of the form
    2565        (E,N) representing V(E) \ V(N), and the ideals E
    2566        and N are radical and N contains E.
    2567 OPTIONS: An option is a pair of arguments: string,
    2568        integer. To modify the default options, pairs
    2569        of arguments -option name, value- of valid options
    2570        must be added to the call.
    2571        \"null\",ideal E: The default is (\"null\",ideal(0)).
    2572        \"nonnull\",ideal N: The default is
    2573        (\"nonnull\",ideal(1)).
    2574        When options \"null\" and/or \"nonnull\" are given,
    2575        then the parameter space is restricted to V(E) \ V(N).
    2576        \"can\",0-1: The default is (\"can\",1).
    2577        With the default option the homogenized
    2578        ideal is computed before obtaining the Groebner
    2579        Cover, so that the result is the canonical Groebner
    2580        Cover. Setting (\"can\",0) only homogenizes the
    2581        basis so the result is not exactly canonical,
    2582        but the computation is shorter.
    2583        \"ext\",0-1: The default is (\"ext\",0).
    2584        With the default (\"ext\",0), only the generic
    2585        representation of the bases is computed
    2586        (single polynomials, but not specializing
    2587        to non-zero for every point of the segment.
    2588        With option (\"ext\",1) the full representation
    2589        of the bases is computed (possible sheaves)
    2590        and sometimes a simpler result is obtained,
    2591        but the computation is more time consuming.
    2592        \"rep\",0-1-2: The default is (\"rep\",0)
    2593        and then the segments are given in canonical
    2594        P-representation.
    2595        Option (\"rep\",1) represents the segments
    2596        in canonical C-representation, and
    2597        option (\"rep\",2) gives both representations.
    2598        \"comment\",0-3: The default is (\"comment\",0).
    2599        Setting \"comment\" higher will provide
    2600        information about the development of the
    2601        computation.
    2602        \"showhom\",0-1: The default is (\"showhom\",0).
    2603        Setting \"showhom\",1 will output the set
    2604        of lpp of the homogenized ideal of each segment
    2605        as last element. One can give none or whatever
    2606        of these options.
    2607 NOTE:    The basering R, must be of the form Q[a][x],
    2608        (a=parameters, x=variables), and
    2609        should be defined previously. The ideal
    2610        must be defined on R.
     2556       A. Montes. \" The Groebner Cover\" (Discussing Parametric Polynomial Systems).
    26112557KEYWORDS: Groebner cover; parametric ideal; canonical; discussion of parametric ideal
    26122558EXAMPLE:  grobcov; shows an example"
     
    27192665"EXAMPLE:"; echo = 2;
    27202666// Casas conjecture for degree 4:
    2721   if(defined(R)){kill R;}
    2722   ring R=(0,a0,a1,a2,a3,a4),(x1,x2,x3),dp;
     2667  ring R1=(0,a0,a1,a2,a3,a4),(x1,x2,x3),dp;
    27232668  short=0;
    27242669  ideal F=x1^4+(4*a3)*x1^3+(6*a2)*x1^2+(4*a1)*x1+(a0),
     
    27372682  //    Springer-Verlag 118: 1-29 (2000).;
    27382683  //    (18. Mathematical robotics: Problem 4, two-arm robot)."
    2739   if (defined(R)){kill R;}
    2740   ring R=(0,a,b,l2,l3),(c3,s3,c1,s1), dp;
     2684  ring R2=(0,a,b,l2,l3),(c3,s3,c1,s1), dp;
    27412685  short=0;
    27422686  ideal S12=a-l3*c3-l2*c1,b-l3*s3-l2*s1,c1^2+s1^2-1,c3^2+s3^2-1;
    27432687  S12;
    27442688  grobcov(S12);
     2689  // EXAMPLE: different segments may have different dimensions
     2690  ring R3=(0,g,h),(y,z,v,w,t),dp;
     2691  ideal I = -4*v2+zw+(h)*zt + (g)*vy, zv-4*v2+(h)*t2, -v2+vw+(-g)*vt+(-h)*t2;
     2692  list G = grobcov(I);
     2693  G;
     2694  //Compute the dimension and the degree at the segment G[1][3]: V(0) \ V(h,g) = {h!=0 and g!=0}
     2695  degree(std(G[1][1]));
     2696  //Compute the dimension and the degree at the segment G[4][3]: V(h) \ V(h,g) = {h=0 and g!=0}
     2697  degree(std(G[4][1]));
    27452698}
    27462699
Note: See TracChangeset for help on using the changeset viewer.