Changeset 1e468c in git
- Timestamp:
- May 30, 2018, 10:21:38 AM (6 years ago)
- Branches:
- (u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'b4f17ed1d25f93d46dbe29e4b499baecc2fd51bb')
- Children:
- 1dc0f49f5bfe28a26f9ef5387a39bc34460fc7a890cf0db2f9b5a0462ac8e2ad6324651427d0257f
- Parents:
- 5adeb3e005f72d27839ca47db25e2a3682afcbe7
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/grobcov.lib
r5adeb3 r1e468c 6 6 category="General purpose"; 7 7 info=" 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/). 8 LIBRARY: grobcov.lib February 2018. Groebner Cover for parametric ideals. 18 9 19 10 IMPORTANT: The book, not yet published: 20 11 A. Montes. \" The Groebner Cover\": 21 12 (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. 26 15 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/). 29 18 30 19 AUTHORS: Antonio Montes (Universitat Politecnica de Catalunya), 31 20 Hans Schoenemann (Technische Universitaet Kaiserslautern). 32 21 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. 22 PURPOSE: 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 29 OVERVIEW: 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. 45 38 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 59 49 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\". 62 51 Proceedings of ISSAC'2010, ACM Press, (2010), 29-36. 63 52 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\". 73 60 Math. Comput. Sci. (2016) 19: 165-178. 74 61 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\". 87 69 Computer-Aided Design 56 (2014) 22-33. 88 70 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, 98 76 described in the book \"Groebner Cover\". 99 77 100 78 This version was finished on 10/02/2018 101 79 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. 80 NOTATIONS: 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. 107 83 108 84 PROCEDURES: … … 2505 2481 proc grobcov(ideal F,list #) 2506 2482 "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) 2484 RETURN: 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] 2499 NOTE: grobcov is only tested for ideals in rings with global ordering over QQ 2500 OPTIONS: 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. 2503 EXPLANATION: 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]]) 2505 The lpp (leading power products) are constant over a segment and are the set of lpp of the reduced 2506 Groebner 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. 2553 THEORY: A. Montes , M. Wibmer, \"Groebner Bases for Polynomial Systems with parameters\". 2513 2554 JSC 45 (2010) 1391-1425.) 2514 2555 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). 2611 2557 KEYWORDS: Groebner cover; parametric ideal; canonical; discussion of parametric ideal 2612 2558 EXAMPLE: grobcov; shows an example" … … 2719 2665 "EXAMPLE:"; echo = 2; 2720 2666 // 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; 2723 2668 short=0; 2724 2669 ideal F=x1^4+(4*a3)*x1^3+(6*a2)*x1^2+(4*a1)*x1+(a0), … … 2737 2682 // Springer-Verlag 118: 1-29 (2000).; 2738 2683 // (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; 2741 2685 short=0; 2742 2686 ideal S12=a-l3*c3-l2*c1,b-l3*s3-l2*s1,c1^2+s1^2-1,c3^2+s3^2-1; 2743 2687 S12; 2744 2688 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])); 2745 2698 } 2746 2699
Note: See TracChangeset
for help on using the changeset viewer.