1 | Singular for x86_64-Linux version 3-0-4 (3042-2008041619) Apr 16 2008 19:12:07 |
---|
2 | with |
---|
3 | factory(@(#) factoryVersion = 3.0.4),libfac(3.0.4,Mar 2008), |
---|
4 | GMP(4.1),NTL(5.4.1),static readline,Plural,DBM, |
---|
5 | namespaces,dynamic modules,dynamic p_Procs,OM_CHECK=0,OM_TRACK=0,random=1208520167 |
---|
6 | CC= gcc -O3 -w -fomit-frame-pointer -pipe -DNDEBUG -DOM_NDEBUG -Dx86_64_Linux -DHAVE_CONFIG_H, |
---|
7 | CXX= g++ -O3 -w -fomit-frame-pointer --no-rtti -pipe -DNDEBUG -DOM_NDEBUG -Dx86_64_Linux -DHAVE_CONFIG_H (3.3.4 20040623 (Gentoo Linux 3.3.4-r2, ssp-3.3.2-2, pie-8.7.6)) |
---|
8 | argv[0] : ./Singular |
---|
9 | SearchPath: /home/motsak/NFS/MY.Math/16AprilCVS/LIB |
---|
10 | Singular : /home/motsak/NFS/MY.Math/16AprilCVS/x86_64-Linux/Singular-3-0-4 |
---|
11 | BinDir : /home/motsak/NFS/MY.Math/16AprilCVS/x86_64-Linux |
---|
12 | RootDir : /home/motsak/NFS/MY.Math/16AprilCVS |
---|
13 | DefaultDir: /home/motsak/NFS/MY.Math/16AprilCVS |
---|
14 | InfoFile : |
---|
15 | IdxFile : |
---|
16 | HtmlDir : |
---|
17 | ManualUrl : http://www.singular.uni-kl.de/Manual/3-0-4 |
---|
18 | ExDir : |
---|
19 | Path : /home/motsak/NFS/MY.Math/16AprilCVS/x86_64-Linux:.:/bin:/usr/bin:/usr/bin/X11:/usr/local/bin:/home/motsak/myroot/bin:/home/motsak/bin |
---|
20 | EmacsDir : /home/motsak/NFS/MY.Math/16AprilCVS/emacs |
---|
21 | Available HelpBrowsers: dummy, emacs, |
---|
22 | Current HelpBrowser: dummy |
---|
23 | sca.quotient.bug.sing 1> /* |
---|
24 | sca.quotient.bug.sing 2. Guten Tag! |
---|
25 | sca.quotient.bug.sing 3. |
---|
26 | sca.quotient.bug.sing 4. Im Anhang definiere ich zunächst wieder einen superkommutativen Ring R mit |
---|
27 | sca.quotient.bug.sing 5. einer Matrix-Ordnung und einem Ideal I. |
---|
28 | sca.quotient.bug.sing 6. Da twostd(I) leider nicht funktioniert, ich aber weiß, dass groebner(I) |
---|
29 | sca.quotient.bug.sing 7. hier ein zweiseitiges Ideal liefert, definiere ich |
---|
30 | sca.quotient.bug.sing 8. qring Q = groebner(I); |
---|
31 | sca.quotient.bug.sing 9. und ignoriere die Warnung. |
---|
32 | sca.quotient.bug.sing 10. |
---|
33 | sca.quotient.bug.sing 11. Dann habe ich ein Ideal FRS, welches eine filter-reguläre Folge definiert. |
---|
34 | sca.quotient.bug.sing 12. Um nachzuweisen, dass die Folge filter-regulär ist, muss ich Quotienten |
---|
35 | sca.quotient.bug.sing 13. berechnen. quotient(ideal(0),ideal(FRS[1])) klappt, aber |
---|
36 | sca.quotient.bug.sing 14. quotient(ideal(FRS[1]),ideal(FRS[2])) verabschiedet sich mit der Meldung |
---|
37 | sca.quotient.bug.sing 15. |
---|
38 | sca.quotient.bug.sing 16. ? sca_mm_Mult_p: exponent mismatch 1 and 1 |
---|
39 | sca.quotient.bug.sing 17. |
---|
40 | sca.quotient.bug.sing 18. ? sca_mm_Mult_p: exponent mismatch 1 and 1 |
---|
41 | sca.quotient.bug.sing 19. |
---|
42 | sca.quotient.bug.sing 20. ? sca_mm_Mult_pp: exponent mismatch 1 and 1 |
---|
43 | sca.quotient.bug.sing 21. |
---|
44 | sca.quotient.bug.sing 22. ? sca_mm_Mult_pp: exponent mismatch 1 and 1 |
---|
45 | sca.quotient.bug.sing 23. |
---|
46 | sca.quotient.bug.sing 24. ? error occurred in Bsp125gp3.txt line 71: `def q2 = quotient(ideal(FRS[1]),ideal(FRS[2])); |
---|
47 | sca.quotient.bug.sing 25. |
---|
48 | sca.quotient.bug.sing 26. Was ist da passiert? Habe ich quotient falsch verwendet? Gibt es |
---|
49 | sca.quotient.bug.sing 27. Beschränkungen, die ich nicht kannte? Ist es ein Bug? |
---|
50 | sca.quotient.bug.sing 28. |
---|
51 | sca.quotient.bug.sing 29. Gruß |
---|
52 | sca.quotient.bug.sing 30. Simon |
---|
53 | sca.quotient.bug.sing 31. */ |
---|
54 | sca.quotient.bug.sing 32. |
---|
55 | sca.quotient.bug.sing 33. LIB "ncall.lib"; |
---|
56 | sca.quotient.bug.sing 34> |
---|
57 | sca.quotient.bug.sing 35. intmat m [12][12]= |
---|
58 | sca.quotient.bug.sing 36. 2, 2, 2, 2, 8, 10, 1, 1, 3, 3, 7, 9, |
---|
59 | sca.quotient.bug.sing 37. 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, |
---|
60 | sca.quotient.bug.sing 38. -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, |
---|
61 | sca.quotient.bug.sing 39. -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
---|
62 | sca.quotient.bug.sing 40. 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
---|
63 | sca.quotient.bug.sing 41. 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
---|
64 | sca.quotient.bug.sing 42. 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, |
---|
65 | sca.quotient.bug.sing 43. 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, |
---|
66 | sca.quotient.bug.sing 44. 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, |
---|
67 | sca.quotient.bug.sing 45. 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, |
---|
68 | sca.quotient.bug.sing 46. 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, |
---|
69 | sca.quotient.bug.sing 47. 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0; |
---|
70 | sca.quotient.bug.sing 48> |
---|
71 | sca.quotient.bug.sing 49. |
---|
72 | sca.quotient.bug.sing 50. ring r = 5, (a_2_0, a_2_1, b_2_2, b_2_3, b_8_9, c_10_12, a_1_0, a_1_1, a_3_4, a_3_5, a_7_8, a_9_11),(M(m)); |
---|
73 | sca.quotient.bug.sing 51> def R = SuperCommutative(7,12); |
---|
74 | nctools.lib::SuperCommutative 730. parameter list #; |
---|
75 | nctools.lib::SuperCommutative 731> |
---|
76 | nctools.lib::SuperCommutative 732. // NOTE: as a side effect the basering will be changed (if not in a commutative case) to bo the ground G-algebra (without factor). |
---|
77 | nctools.lib::SuperCommutative 733. int fprot = (find(option(),"prot") != 0); |
---|
78 | nctools.lib::SuperCommutative 734> |
---|
79 | nctools.lib::SuperCommutative 735. string rname=nameof(basering); |
---|
80 | nctools.lib::SuperCommutative 736> |
---|
81 | nctools.lib::SuperCommutative 737. if ( rname == "basering") // i.e. no ring has been set yet |
---|
82 | nctools.lib::SuperCommutative 738. { |
---|
83 | nctools.lib::SuperCommutative 741. ERROR("You have to call the procedure from the ring"); |
---|
84 | nctools.lib::SuperCommutative 742> |
---|
85 | nctools.lib::SuperCommutative 743. def saveRing = basering; |
---|
86 | nctools.lib::SuperCommutative 744> |
---|
87 | nctools.lib::SuperCommutative 745. int N = nvars(saveRing); |
---|
88 | nctools.lib::SuperCommutative 746> int b = 1; |
---|
89 | nctools.lib::SuperCommutative 747> int e = N; |
---|
90 | nctools.lib::SuperCommutative 748> int flag = 0; |
---|
91 | nctools.lib::SuperCommutative 749> |
---|
92 | nctools.lib::SuperCommutative 750. ideal Q = 0; |
---|
93 | nctools.lib::SuperCommutative 751> |
---|
94 | nctools.lib::SuperCommutative 752. if(size(#)>0) |
---|
95 | nctools.lib::SuperCommutative 753. { |
---|
96 | nctools.lib::SuperCommutative 758. if(typeof(#[1]) != "int") |
---|
97 | nctools.lib::SuperCommutative 768. |
---|
98 | nctools.lib::SuperCommutative 769. if(size(#)>1) |
---|
99 | nctools.lib::SuperCommutative 770. { |
---|
100 | nctools.lib::SuperCommutative 775. if(typeof(#[2]) != "int") |
---|
101 | nctools.lib::SuperCommutative 790. |
---|
102 | nctools.lib::SuperCommutative 791. if(size(#)>2) |
---|
103 | nctools.lib::SuperCommutative 792. { |
---|
104 | nctools.lib::SuperCommutative 797. if(typeof(#[3]) != "ideal") |
---|
105 | nctools.lib::SuperCommutative 800> |
---|
106 | nctools.lib::SuperCommutative 801. if(size(#)>3) |
---|
107 | nctools.lib::SuperCommutative 802. { |
---|
108 | nctools.lib::SuperCommutative 807. if(typeof(#[4]) != "int") |
---|
109 | nctools.lib::SuperCommutative 810> |
---|
110 | nctools.lib::SuperCommutative 811. int iSavedDegBoung = degBound; |
---|
111 | nctools.lib::SuperCommutative 812> |
---|
112 | nctools.lib::SuperCommutative 813. if( (b == e) && (flag == 0) ) // commutative ring!!! |
---|
113 | nctools.lib::SuperCommutative 814. { |
---|
114 | nctools.lib::SuperCommutative 818. if( fprot == 1) |
---|
115 | nctools.lib::SuperCommutative 828> |
---|
116 | nctools.lib::SuperCommutative 829. /* |
---|
117 | nctools.lib::SuperCommutative 830. // Singular'(H.S.) politics: no ring copies! |
---|
118 | nctools.lib::SuperCommutative 831. // in future nc_algebra() should return a new ring!!! |
---|
119 | nctools.lib::SuperCommutative 832. list CurrRing = ringlist(basering); |
---|
120 | nctools.lib::SuperCommutative 833. def @R = ring(CurrRing); |
---|
121 | nctools.lib::SuperCommutative 834. setring @R; // @R; |
---|
122 | nctools.lib::SuperCommutative 835. */ |
---|
123 | nctools.lib::SuperCommutative 836. |
---|
124 | nctools.lib::SuperCommutative 837. if( (char(basering)==2) && (flag == 0) )// commutative ring!!! |
---|
125 | nctools.lib::SuperCommutative 838. { |
---|
126 | nctools.lib::SuperCommutative 842. if( fprot == 1) |
---|
127 | nctools.lib::SuperCommutative 858> |
---|
128 | nctools.lib::SuperCommutative 859. |
---|
129 | nctools.lib::SuperCommutative 860. int i, j; |
---|
130 | nctools.lib::SuperCommutative 861> |
---|
131 | nctools.lib::SuperCommutative 862. if( (b == 1) && (e == N) ) // just an exterior algebra? |
---|
132 | nctools.lib::SuperCommutative 863. { |
---|
133 | nctools.lib::SuperCommutative 866. def S = nc_algebra(-1, 0); // define ground G-algebra! |
---|
134 | nctools.lib::SuperCommutative 867> { |
---|
135 | nctools.lib::SuperCommutative 875. matrix @E = UpOneMatrix(N); |
---|
136 | nctools.lib::SuperCommutative 880. |
---|
137 | nctools.lib::SuperCommutative 881. ideal @Q = fetch(saveRing, Q); |
---|
138 | nctools.lib::SuperCommutative 882> |
---|
139 | nctools.lib::SuperCommutative 883. j = ncols(@Q) + 1; |
---|
140 | nctools.lib::SuperCommutative 884> |
---|
141 | nctools.lib::SuperCommutative 885. for ( i=e; i>=b; i--, j++ ) |
---|
142 | nctools.lib::SuperCommutative 886. { |
---|
143 | nctools.lib::SuperCommutative 888. @Q[j] = var(i)^2; |
---|
144 | nctools.lib::SuperCommutative 889> |
---|
145 | nctools.lib::SuperCommutative 890. if( (fprot == 1) and (attrib(basering, "global") != 1) ) |
---|
146 | nctools.lib::SuperCommutative 891. { |
---|
147 | nctools.lib::SuperCommutative 894. print("Warning: Since the current ordering is not global there might be problems computing twostd(Q)!"); |
---|
148 | nctools.lib::SuperCommutative 895> |
---|
149 | nctools.lib::SuperCommutative 896. degBound=0; |
---|
150 | nctools.lib::SuperCommutative 897> @Q = twostd(@Q); // must be computed within the ground G-algebra => problems with local orderings! |
---|
151 | nctools.lib::SuperCommutative 898> degBound = iSavedDegBoung; |
---|
152 | nctools.lib::SuperCommutative 899> |
---|
153 | nctools.lib::SuperCommutative 900. qring @EA = @Q; |
---|
154 | nctools.lib::SuperCommutative 901> |
---|
155 | nctools.lib::SuperCommutative 902. // "Alternating variables: [", AltVarStart(), ",", AltVarEnd(), "]."; |
---|
156 | nctools.lib::SuperCommutative 903. return(@EA); |
---|
157 | sca.quotient.bug.sing 52> setring R; |
---|
158 | sca.quotient.bug.sing 53> |
---|
159 | sca.quotient.bug.sing 54. ideal I = -a_1_0*a_1_1, |
---|
160 | sca.quotient.bug.sing 55. a_2_0*a_1_0, |
---|
161 | sca.quotient.bug.sing 56. a_2_1*a_1_1, |
---|
162 | sca.quotient.bug.sing 57. a_2_1*a_1_0-a_2_0*a_1_1, |
---|
163 | sca.quotient.bug.sing 58. b_2_3*a_1_0-b_2_2*a_1_1, |
---|
164 | sca.quotient.bug.sing 59. a_2_0^2, |
---|
165 | sca.quotient.bug.sing 60. a_2_0*a_2_1, |
---|
166 | sca.quotient.bug.sing 61. a_2_1^2, |
---|
167 | sca.quotient.bug.sing 62. -2*a_2_1*b_2_2-a_2_0*b_2_3+a_1_1*a_3_4, |
---|
168 | sca.quotient.bug.sing 63. a_2_0*b_2_2+a_1_0*a_3_4, |
---|
169 | sca.quotient.bug.sing 64. -a_2_1*b_2_3+a_1_1*a_3_5, |
---|
170 | sca.quotient.bug.sing 65. a_2_1*b_2_2+2*a_2_0*b_2_3+a_1_0*a_3_5, |
---|
171 | sca.quotient.bug.sing 66. a_2_0*a_3_4, |
---|
172 | sca.quotient.bug.sing 67. -b_2_3*a_3_4+b_2_2*a_3_5+2*b_2_2*b_2_3*a_1_1+2*b_2_2^2*a_1_1, |
---|
173 | sca.quotient.bug.sing 68. -a_2_1*a_3_4+a_2_0*a_3_5, |
---|
174 | sca.quotient.bug.sing 69. a_2_1*a_3_5, |
---|
175 | sca.quotient.bug.sing 70. a_1_1*a_7_8+2*b_2_2*b_2_3*a_1_1*a_3_5+b_2_2^2*a_1_1*a_3_5-2*b_2_2^2*a_1_0*a_3_5, |
---|
176 | sca.quotient.bug.sing 71. a_1_0*a_7_8+2*b_2_2^2*a_1_1*a_3_5+b_2_2^2*a_1_0*a_3_5-2*b_2_2^2*a_1_0*a_3_4, |
---|
177 | sca.quotient.bug.sing 72. b_2_2*a_7_8+b_2_2*b_2_3^3*a_1_1+2*b_2_2^2*b_2_3*a_3_5+b_2_2^3*a_3_5-2*b_2_2^3*a_3_4+2*b_2_2^3*b_2_3*a_1_1+2*b_2_2^4*a_1_1, |
---|
178 | sca.quotient.bug.sing 73. a_2_0*a_7_8, |
---|
179 | sca.quotient.bug.sing 74. a_2_1*a_7_8, |
---|
180 | sca.quotient.bug.sing 75. b_2_3*a_7_8+2*b_2_2*b_2_3^2*a_3_5+b_2_2^2*b_2_3*a_3_5+2*b_2_2^2*b_2_3^2*a_1_1-2*b_2_2^3*a_3_5-2*b_2_2^3*b_2_3*a_1_1+2*b_2_2^4*a_1_1, |
---|
181 | sca.quotient.bug.sing 76. b_8_9*a_1_1+b_2_2*b_2_3^3*a_1_1+2*b_2_2^3*b_2_3*a_1_1-b_2_2^4*a_1_1, |
---|
182 | sca.quotient.bug.sing 77. b_8_9*a_1_0-b_2_2*b_2_3^3*a_1_1+b_2_2^2*b_2_3^2*a_1_1+2*b_2_2^4*a_1_1, |
---|
183 | sca.quotient.bug.sing 78. a_3_5*a_7_8-2*b_2_2^2*b_2_3*a_1_1*a_3_5+2*b_2_2^3*a_1_1*a_3_5-2*b_2_2^3*a_1_0*a_3_5, |
---|
184 | sca.quotient.bug.sing 79. a_3_4*a_7_8-b_2_2*b_2_3^2*a_1_1*a_3_5-b_2_2^2*b_2_3*a_1_1*a_3_5-b_2_2^3*a_1_1*a_3_5, |
---|
185 | sca.quotient.bug.sing 80. b_2_2*b_8_9-b_2_2*b_2_3^4+b_2_2^2*b_2_3^3+2*b_2_2^4*b_2_3-2*b_2_2*b_2_3^2*a_1_1*a_3_5-b_2_2^2*b_2_3*a_1_1*a_3_5, |
---|
186 | sca.quotient.bug.sing 81. a_2_0*b_8_9+b_2_2*b_2_3^2*a_1_1*a_3_5-b_2_2^2*b_2_3*a_1_1*a_3_5-2*b_2_2^3*a_1_0*a_3_5, |
---|
187 | sca.quotient.bug.sing 82. a_2_1*b_8_9+b_2_2*b_2_3^2*a_1_1*a_3_5+2*b_2_2^3*a_1_1*a_3_5-b_2_2^3*a_1_0*a_3_5, |
---|
188 | sca.quotient.bug.sing 83. b_2_3*b_8_9+b_2_2*b_2_3^4+2*b_2_2^3*b_2_3^2-b_2_2^4*b_2_3-2*b_2_3^3*a_1_1*a_3_5-b_2_2*b_2_3^2*a_1_1*a_3_5, |
---|
189 | sca.quotient.bug.sing 84. a_1_1*a_9_11-b_2_3^3*a_1_1*a_3_5+2*b_2_2*b_2_3^2*a_1_1*a_3_5+b_2_2^2*b_2_3*a_1_1*a_3_5-b_2_2^3*a_1_1*a_3_5-b_2_2^3*a_1_0*a_3_5, |
---|
190 | sca.quotient.bug.sing 85. a_1_0*a_9_11+2*b_2_2*b_2_3^2*a_1_1*a_3_5+2*b_2_2^2*b_2_3*a_1_1*a_3_5+b_2_2^3*a_1_1*a_3_5-b_2_2^3*a_1_0*a_3_5+b_2_2^3*a_1_0*a_3_4, |
---|
191 | sca.quotient.bug.sing 86. b_8_9*a_3_5+b_2_2*b_2_3^3*a_3_5+2*b_2_2^3*b_2_3*a_3_5-b_2_2^4*a_3_5, |
---|
192 | sca.quotient.bug.sing 87. b_8_9*a_3_4-b_2_2*b_2_3^3*a_3_5+b_2_2^2*b_2_3^2*a_3_5+2*b_2_2^3*b_2_3^2*a_1_1+2*b_2_2^4*a_3_5-b_2_2^4*b_2_3*a_1_1+2*b_2_2^5*a_1_1, |
---|
193 | sca.quotient.bug.sing 88. b_2_2*a_9_11+2*b_2_2*b_2_3^3*a_3_5+2*b_2_2^2*b_2_3^2*a_3_5-b_2_2^2*b_2_3^3*a_1_1+b_2_2^3*b_2_3*a_3_5-b_2_2^4*a_3_5+b_2_2^4*a_3_4+2*b_2_2^4*b_2_3*a_1_1, |
---|
194 | sca.quotient.bug.sing 89. a_2_0*a_9_11, |
---|
195 | sca.quotient.bug.sing 90. a_2_1*a_9_11, |
---|
196 | sca.quotient.bug.sing 91. b_2_3*a_9_11-b_2_3^4*a_3_5+2*b_2_2*b_2_3^3*a_3_5+b_2_2^2*b_2_3^2*a_3_5-b_2_2^3*b_2_3*a_3_5+2*b_2_2^3*b_2_3^2*a_1_1-b_2_2^4*a_3_5+2*b_2_2^4*b_2_3*a_1_1+b_2_2^5*a_1_1, |
---|
197 | sca.quotient.bug.sing 92. a_3_5*a_9_11-2*b_2_2^3*b_2_3*a_1_1*a_3_5-2*b_2_2^4*a_1_1*a_3_5-b_2_2^4*a_1_0*a_3_5, |
---|
198 | sca.quotient.bug.sing 93. a_3_4*a_9_11-b_2_2^2*b_2_3^2*a_1_1*a_3_5+b_2_2^3*b_2_3*a_1_1*a_3_5-2*b_2_2^4*a_1_1*a_3_5+2*b_2_2^4*a_1_0*a_3_5, |
---|
199 | sca.quotient.bug.sing 94. b_8_9*a_7_8+2*b_2_2^3*b_2_3^3*a_3_5-2*b_2_2^4*b_2_3^2*a_3_5-b_2_2^4*b_2_3^3*a_1_1-b_2_2^5*b_2_3^2*a_1_1-2*b_2_2^6*a_3_5+b_2_2^6*b_2_3*a_1_1+2*b_2_2^7*a_1_1, |
---|
200 | sca.quotient.bug.sing 95. b_8_9^2+2*b_2_2^5*b_2_3^3-b_2_2^7*b_2_3+2*b_2_2^5*b_2_3*a_1_1*a_3_5+2*b_2_2^6*a_1_1*a_3_5-2*b_2_2^6*a_1_0*a_3_5, |
---|
201 | sca.quotient.bug.sing 96. a_7_8*a_9_11-2*b_2_2^4*b_2_3^2*a_1_1*a_3_5+b_2_2^5*b_2_3*a_1_1*a_3_5+b_2_2^6*a_1_0*a_3_5, |
---|
202 | sca.quotient.bug.sing 97. b_8_9*a_9_11+2*b_2_2^5*b_2_3^2*a_3_5-b_2_2^5*b_2_3^3*a_1_1+b_2_2^6*b_2_3*a_3_5+2*b_2_2^7*a_3_5-2*b_2_2^7*b_2_3*a_1_1-2*b_2_2^8*a_1_1; |
---|
203 | sca.quotient.bug.sing 98> |
---|
204 | sca.quotient.bug.sing 99. |
---|
205 | sca.quotient.bug.sing 100. qring Q = groebner(I); |
---|
206 | standard.lib::groebner 791. parameter def i_par; parameter list #; |
---|
207 | standard.lib::groebner 792> //Vorgabe einer Teilmenge aus {hilb,fglm,par2var,std,slimgb} |
---|
208 | standard.lib::groebner 793. //Aktuelle Einstellungen (Jan 2007): |
---|
209 | standard.lib::groebner 794. //--------------------------------- |
---|
210 | standard.lib::groebner 795. //0. Immer Aufruf von std unabhaengig von der Vorgabe: |
---|
211 | standard.lib::groebner 796. // gemischte Ordnungen, extra Gewichtsvektor, Matrix Ordnungen |
---|
212 | standard.lib::groebner 797. |
---|
213 | standard.lib::groebner 798. //1. Keine Vorgabe: es wirkt die aktuelle Heuristk: |
---|
214 | standard.lib::groebner 799. // - Char p: std |
---|
215 | standard.lib::groebner 800. // - Char = 0: slimgb (im qring wird Quotientenideal zum Input addiert) |
---|
216 | standard.lib::groebner 801. // - 1-Block-Ordnungen/non-commutative: direkt Aufruf von std oder slimgb |
---|
217 | standard.lib::groebner 802. // - Komplizierte Ordnungen (lp oder > 1 Block): hilb |
---|
218 | standard.lib::groebner 803. // - Parameter werden grundsaetzlich nicht in Variable umgewandelt |
---|
219 | standard.lib::groebner 804. // ? alternativ: more than 1 parameter will be converted to ring variable ? |
---|
220 | standard.lib::groebner 805. // - fglm is keine Heuristik, da sonst vorher dim==0 peprueft werden muss |
---|
221 | standard.lib::groebner 806. |
---|
222 | standard.lib::groebner 807. //2. Vorgabe aus {std,slimgb}: es wird wo immer moeglich das angegebene |
---|
223 | standard.lib::groebner 808. // gewaehlt (da slimgb keine Hilbertfunktion kennt, wird std verwendet). |
---|
224 | standard.lib::groebner 809. // Bei slimgb im qring, wird das Quotientenideal zum Ideal addiert. |
---|
225 | standard.lib::groebner 810. // Bei Angabe von std zusammen mit slimgb (aequivalent zur Angabe von |
---|
226 | standard.lib::groebner 811. // keinem von beidem) wirkt obige Heuristik. |
---|
227 | standard.lib::groebner 812. |
---|
228 | standard.lib::groebner 813. //3. Nichtleere Vorgabe aus {hilb,fglm,std,slimgb}: |
---|
229 | standard.lib::groebner 814. // es wird nur das angegebene und moegliche sowie das notwendige verwendet |
---|
230 | standard.lib::groebner 815. // und bei Wahlmoeglickeit je nach Heuristik. |
---|
231 | standard.lib::groebner 816. // Z.B. Vorgabe von {hilb} ist aequivalent zu {hilb,std,slimgb} und es wird |
---|
232 | standard.lib::groebner 817. // hilb und nach Heuristik std oder slimgb verwendet, aber nicht par2var; |
---|
233 | standard.lib::groebner 818. // bei Vorgabe von {hilb,slimgb} wird hilb und wo moeglich slimgb verwendet. |
---|
234 | standard.lib::groebner 819. |
---|
235 | standard.lib::groebner 820. //4. Bei Vorgabe von {par2var} wird par2var immer mit hilb und nach Heuristik |
---|
236 | standard.lib::groebner 821. // std oder slimgb verwendet. Zu Variablen konvertierte Parameter haben |
---|
237 | standard.lib::groebner 822. // extra letzten Block und Gewichte 1. |
---|
238 | standard.lib::groebner 823. |
---|
239 | standard.lib::groebner 824. |
---|
240 | standard.lib::groebner 825. def P=basering; |
---|
241 | standard.lib::groebner 826> if ((typeof(i_par)=="vector")||(typeof(i_par)=="module")) {module i=i_par;} |
---|
242 | standard.lib::groebner 827> else {ideal i=i_par; } |
---|
243 | standard.lib::groebner 828. kill i_par; |
---|
244 | standard.lib::groebner 829> |
---|
245 | standard.lib::groebner 830. //----------------------- save the given method --------------------------- |
---|
246 | standard.lib::groebner 831. string method; |
---|
247 | standard.lib::groebner 832> list Method; |
---|
248 | standard.lib::groebner 833> int k; |
---|
249 | standard.lib::groebner 834> for (k=1; k<=size(#); k++) |
---|
250 | standard.lib::groebner 835. { |
---|
251 | standard.lib::groebner 839. if (typeof(#[k]) == "int") |
---|
252 | standard.lib::groebner 846> |
---|
253 | standard.lib::groebner 847. //======= we have an argument of type int -- try to use MPfork links ======= |
---|
254 | standard.lib::groebner 848. if ( defined(wait) == voice ) |
---|
255 | standard.lib::groebner 849. { |
---|
256 | standard.lib::groebner 869. if ( system("with", "MP") ) |
---|
257 | standard.lib::groebner 917> |
---|
258 | standard.lib::groebner 918. //=========== we are still here -- do the actual computation ============= |
---|
259 | standard.lib::groebner 919. |
---|
260 | standard.lib::groebner 920. //--------------------- save data from basering --------------------------- |
---|
261 | standard.lib::groebner 921. poly Minpoly = minpoly; //minimal polynomial |
---|
262 | standard.lib::groebner 922> int was_minpoly; //remembers if there was a minpoly in P |
---|
263 | standard.lib::groebner 923> if (size(Minpoly) > 0) |
---|
264 | standard.lib::groebner 924. { |
---|
265 | standard.lib::groebner 926. was_minpoly = 1; |
---|
266 | standard.lib::groebner 927> |
---|
267 | standard.lib::groebner 928. ideal Qideal = ideal(P); //defining the quotient ideal if P is a qring |
---|
268 | standard.lib::groebner 929> int was_qring; //remembers if basering was a qring |
---|
269 | standard.lib::groebner 930> //int is_homog = 1; |
---|
270 | standard.lib::groebner 931. if (size(Qideal) > 0) |
---|
271 | standard.lib::groebner 932. { |
---|
272 | standard.lib::groebner 935. was_qring = 1; |
---|
273 | standard.lib::groebner 936. list BRlist = ringlist(P); |
---|
274 | standard.lib::groebner 937> |
---|
275 | standard.lib::groebner 938. // save ordering of basering P for later use |
---|
276 | standard.lib::groebner 939. list ord_P = BRlist[3]; //should be available in all rings |
---|
277 | standard.lib::groebner 940> string ordstr_P = ordstr(P); |
---|
278 | standard.lib::groebner 941> int nvars_P = nvars(P); |
---|
279 | standard.lib::groebner 942> int npars_P = npars(P); |
---|
280 | standard.lib::groebner 943> intvec w; //for ringweights of basering P |
---|
281 | standard.lib::groebner 944> for(k=1; k<=nvars_P; k++) |
---|
282 | standard.lib::groebner 945. { |
---|
283 | standard.lib::groebner 947. w[k]=deg(var(k)); |
---|
284 | standard.lib::groebner 948> int neg=1-attrib (P,"global"); |
---|
285 | standard.lib::groebner 949> |
---|
286 | standard.lib::groebner 950. //save options: |
---|
287 | standard.lib::groebner 951. intvec opt=option(get); |
---|
288 | standard.lib::groebner 952> string s_opt = option(); |
---|
289 | standard.lib::groebner 953> int p_opt; |
---|
290 | standard.lib::groebner 954> if (find(s_opt, "prot")) { p_opt = 1; } |
---|
291 | standard.lib::groebner 955> |
---|
292 | standard.lib::groebner 956. //------------------ cases where std is always used ------------------------ |
---|
293 | standard.lib::groebner 957. //If other methods are not implemented or do not make sense, i.e. for |
---|
294 | standard.lib::groebner 958. //local or mixed orderings, matrix orderings, extra weight vector and modules |
---|
295 | standard.lib::groebner 959. |
---|
296 | standard.lib::groebner 960. if( //( find(ordstr_P,"s") > 0 ) || // covered by neg |
---|
297 | standard.lib::groebner 961. ( find(ordstr_P,"M") > 0 ) |
---|
298 | standard.lib::groebner 962. || ( find(ordstr_P,"a") > 0 ) |
---|
299 | standard.lib::groebner 963. || ( neg>0 ) ) |
---|
300 | standard.lib::groebner 964. { |
---|
301 | standard.lib::groebner 965. if (p_opt) { "std in basering"; } |
---|
302 | // ** _ is no twosided standard basis |
---|
303 | sca.quotient.bug.sing 101> basering; |
---|
304 | // characteristic : 5 |
---|
305 | // number of vars : 12 |
---|
306 | // block 1 : ordering M |
---|
307 | // : names a_2_0 a_2_1 b_2_2 b_2_3 b_8_9 c_10_12 a_1_0 a_1_1 a_3_4 a_3_5 a_7_8 a_9_11 |
---|
308 | // : weights 2 2 2 2 8 10 1 1 3 3 7 9 |
---|
309 | // : weights 0 0 0 0 0 -1 0 0 0 0 0 0 |
---|
310 | // : weights -1 -1 0 0 0 0 -1 -1 -1 -1 -1 -1 |
---|
311 | // : weights -1 0 0 0 0 0 0 0 0 0 0 0 |
---|
312 | // : weights 0 -1 0 0 0 0 0 0 0 0 0 0 |
---|
313 | // : weights 0 0 -1 0 0 0 0 0 0 0 0 0 |
---|
314 | // : weights 0 0 0 -1 0 0 0 0 0 0 0 0 |
---|
315 | // : weights 0 0 0 0 -1 0 0 0 0 0 0 0 |
---|
316 | // : weights 0 0 0 0 0 0 -1 0 0 0 0 0 |
---|
317 | // : weights 0 0 0 0 0 0 0 -1 0 0 0 0 |
---|
318 | // : weights 0 0 0 0 0 0 0 0 -1 0 0 0 |
---|
319 | // : weights 0 0 0 0 0 0 0 0 0 -1 0 0 |
---|
320 | // block 2 : ordering C |
---|
321 | // noncommutative relations: |
---|
322 | // a_1_1a_1_0=-a_1_0*a_1_1 |
---|
323 | // a_3_4a_1_0=-a_1_0*a_3_4 |
---|
324 | // a_3_5a_1_0=-a_1_0*a_3_5 |
---|
325 | // a_7_8a_1_0=-a_1_0*a_7_8 |
---|
326 | // a_9_11a_1_0=-a_1_0*a_9_11 |
---|
327 | // a_3_4a_1_1=-a_1_1*a_3_4 |
---|
328 | // a_3_5a_1_1=-a_1_1*a_3_5 |
---|
329 | // a_7_8a_1_1=-a_1_1*a_7_8 |
---|
330 | // a_9_11a_1_1=-a_1_1*a_9_11 |
---|
331 | // a_3_5a_3_4=-a_3_4*a_3_5 |
---|
332 | // a_7_8a_3_4=-a_3_4*a_7_8 |
---|
333 | // a_9_11a_3_4=-a_3_4*a_9_11 |
---|
334 | // a_7_8a_3_5=-a_3_5*a_7_8 |
---|
335 | // a_9_11a_3_5=-a_3_5*a_9_11 |
---|
336 | // a_9_11a_7_8=-a_7_8*a_9_11 |
---|
337 | // quotient ring from ideal |
---|
338 | _[1]=a_1_0*a_1_1 |
---|
339 | _[2]=a_2_0*a_1_0 |
---|
340 | _[3]=a_2_1*a_1_0-a_2_0*a_1_1 |
---|
341 | _[4]=a_2_1*a_1_1 |
---|
342 | _[5]=b_2_3*a_1_0-b_2_2*a_1_1 |
---|
343 | _[6]=a_2_0^2 |
---|
344 | _[7]=a_2_0*a_2_1 |
---|
345 | _[8]=a_2_1^2 |
---|
346 | _[9]=a_2_0*b_2_2+a_1_0*a_3_4 |
---|
347 | _[10]=a_2_0*b_2_3+2*a_1_1*a_3_4-a_1_0*a_3_5 |
---|
348 | _[11]=a_2_1*b_2_2+2*a_2_0*b_2_3+a_1_0*a_3_5 |
---|
349 | _[12]=a_2_1*b_2_3-a_1_1*a_3_5 |
---|
350 | _[13]=a_2_0*a_3_4 |
---|
351 | _[14]=a_2_1*a_3_4-a_2_0*a_3_5 |
---|
352 | _[15]=a_2_1*a_3_5 |
---|
353 | _[16]=b_2_3*a_3_4-b_2_2*a_3_5-2*b_2_2*b_2_3*a_1_1-2*b_2_2^2*a_1_1 |
---|
354 | _[17]=a_2_0*a_1_1*a_3_5 |
---|
355 | _[18]=b_2_2*a_1_1*a_3_4-b_2_2*a_1_0*a_3_5 |
---|
356 | _[19]=a_1_0*a_3_4*a_3_5 |
---|
357 | _[20]=a_1_1*a_3_4*a_3_5 |
---|
358 | _[21]=b_2_2*a_3_4*a_3_5-2*b_2_2^2*a_1_1*a_3_5-2*b_2_2^2*a_1_0*a_3_5 |
---|
359 | _[22]=a_1_0*a_7_8+2*b_2_2^2*a_1_1*a_3_5+b_2_2^2*a_1_0*a_3_5-2*b_2_2^2*a_1_0*a_3_4 |
---|
360 | _[23]=a_1_1*a_7_8+2*b_2_2*b_2_3*a_1_1*a_3_5+b_2_2^2*a_1_1*a_3_5-2*b_2_2^2*a_1_0*a_3_5 |
---|
361 | _[24]=a_2_0*a_7_8 |
---|
362 | _[25]=a_2_1*a_7_8 |
---|
363 | _[26]=b_2_2*a_7_8+b_2_2*b_2_3^3*a_1_1+2*b_2_2^2*b_2_3*a_3_5+b_2_2^3*a_3_5-2*b_2_2^3*a_3_4+2*b_2_2^3*b_2_3*a_1_1+2*b_2_2^4*a_1_1 |
---|
364 | _[27]=b_2_3*a_7_8+2*b_2_2*b_2_3^2*a_3_5+b_2_2^2*b_2_3*a_3_5+2*b_2_2^2*b_2_3^2*a_1_1-2*b_2_2^3*a_3_5-2*b_2_2^3*b_2_3*a_1_1+2*b_2_2^4*a_1_1 |
---|
365 | _[28]=b_8_9*a_1_0-b_2_2*b_2_3^3*a_1_1+b_2_2^2*b_2_3^2*a_1_1+2*b_2_2^4*a_1_1 |
---|
366 | _[29]=b_8_9*a_1_1+b_2_2*b_2_3^3*a_1_1+2*b_2_2^3*b_2_3*a_1_1-b_2_2^4*a_1_1 |
---|
367 | _[30]=a_1_0*a_9_11+2*b_2_2*b_2_3^2*a_1_1*a_3_5+2*b_2_2^2*b_2_3*a_1_1*a_3_5+b_2_2^3*a_1_1*a_3_5-b_2_2^3*a_1_0*a_3_5+b_2_2^3*a_1_0*a_3_4 |
---|
368 | _[31]=a_1_1*a_9_11-b_2_3^3*a_1_1*a_3_5+2*b_2_2*b_2_3^2*a_1_1*a_3_5+b_2_2^2*b_2_3*a_1_1*a_3_5-b_2_2^3*a_1_1*a_3_5-b_2_2^3*a_1_0*a_3_5 |
---|
369 | _[32]=a_3_4*a_7_8-b_2_2*b_2_3^2*a_1_1*a_3_5-b_2_2^2*b_2_3*a_1_1*a_3_5-b_2_2^3*a_1_1*a_3_5 |
---|
370 | _[33]=a_3_5*a_7_8-2*b_2_2^2*b_2_3*a_1_1*a_3_5+2*b_2_2^3*a_1_1*a_3_5-2*b_2_2^3*a_1_0*a_3_5 |
---|
371 | _[34]=a_2_0*b_8_9+b_2_2*b_2_3^2*a_1_1*a_3_5-b_2_2^2*b_2_3*a_1_1*a_3_5-2*b_2_2^3*a_1_0*a_3_5 |
---|
372 | _[35]=a_2_1*b_8_9+b_2_2*b_2_3^2*a_1_1*a_3_5+2*b_2_2^3*a_1_1*a_3_5-b_2_2^3*a_1_0*a_3_5 |
---|
373 | _[36]=b_2_2*b_8_9-b_2_2*b_2_3^4+b_2_2^2*b_2_3^3+2*b_2_2^4*b_2_3-2*b_2_2*b_2_3^2*a_1_1*a_3_5-b_2_2^2*b_2_3*a_1_1*a_3_5 |
---|
374 | _[37]=b_2_3*b_8_9+b_2_2*b_2_3^4+2*b_2_2^3*b_2_3^2-b_2_2^4*b_2_3-2*b_2_3^3*a_1_1*a_3_5-b_2_2*b_2_3^2*a_1_1*a_3_5 |
---|
375 | _[38]=a_2_0*a_9_11 |
---|
376 | _[39]=a_2_1*a_9_11 |
---|
377 | _[40]=b_2_2*b_2_3^4*a_1_1-b_2_2^5*a_1_1 |
---|
378 | _[41]=b_2_2*a_9_11+2*b_2_2*b_2_3^3*a_3_5+2*b_2_2^2*b_2_3^2*a_3_5-b_2_2^2*b_2_3^3*a_1_1+b_2_2^3*b_2_3*a_3_5-b_2_2^4*a_3_5+b_2_2^4*a_3_4+2*b_2_2^4*b_2_3*a_1_1 |
---|
379 | _[42]=b_2_3*a_9_11-b_2_3^4*a_3_5+2*b_2_2*b_2_3^3*a_3_5+b_2_2^2*b_2_3^2*a_3_5-b_2_2^3*b_2_3*a_3_5+2*b_2_2^3*b_2_3^2*a_1_1-b_2_2^4*a_3_5+2*b_2_2^4*b_2_3*a_1_1+b_2_2^5*a_1_1 |
---|
380 | _[43]=b_8_9*a_3_4-b_2_2*b_2_3^3*a_3_5+b_2_2^2*b_2_3^2*a_3_5+2*b_2_2^3*b_2_3^2*a_1_1+2*b_2_2^4*a_3_5-b_2_2^4*b_2_3*a_1_1+2*b_2_2^5*a_1_1 |
---|
381 | _[44]=b_8_9*a_3_5+b_2_2*b_2_3^3*a_3_5+2*b_2_2^3*b_2_3*a_3_5-b_2_2^4*a_3_5 |
---|
382 | _[45]=b_2_2*b_2_3^3*a_1_1*a_3_5-b_2_2^4*a_1_0*a_3_5 |
---|
383 | _[46]=a_3_4*a_9_11-b_2_2^2*b_2_3^2*a_1_1*a_3_5+b_2_2^3*b_2_3*a_1_1*a_3_5-2*b_2_2^4*a_1_1*a_3_5+2*b_2_2^4*a_1_0*a_3_5 |
---|
384 | _[47]=a_3_5*a_9_11-2*b_2_2^3*b_2_3*a_1_1*a_3_5-2*b_2_2^4*a_1_1*a_3_5-b_2_2^4*a_1_0*a_3_5 |
---|
385 | _[48]=b_2_2*b_2_3^5-b_2_2^5*b_2_3 |
---|
386 | _[49]=b_2_2*b_2_3^4*a_3_5-b_2_2^5*a_3_5 |
---|
387 | _[50]=b_8_9*a_7_8+2*b_2_2^3*b_2_3^3*a_3_5-2*b_2_2^4*b_2_3^2*a_3_5-b_2_2^4*b_2_3^3*a_1_1-b_2_2^5*b_2_3^2*a_1_1-2*b_2_2^6*a_3_5+b_2_2^6*b_2_3*a_1_1+2*b_2_2^7*a_1_1 |
---|
388 | _[51]=a_7_8*a_9_11-2*b_2_2^4*b_2_3^2*a_1_1*a_3_5+b_2_2^5*b_2_3*a_1_1*a_3_5+b_2_2^6*a_1_0*a_3_5 |
---|
389 | _[52]=b_8_9^2+2*b_2_2^5*b_2_3^3-b_2_2^7*b_2_3+2*b_2_2^5*b_2_3*a_1_1*a_3_5+2*b_2_2^6*a_1_1*a_3_5-2*b_2_2^6*a_1_0*a_3_5 |
---|
390 | _[53]=b_8_9*a_9_11+2*b_2_2^5*b_2_3^2*a_3_5-b_2_2^5*b_2_3^3*a_1_1+b_2_2^6*b_2_3*a_3_5+2*b_2_2^7*a_3_5-2*b_2_2^7*b_2_3*a_1_1-2*b_2_2^8*a_1_1 |
---|
391 | _[54]=a_1_0^2 |
---|
392 | _[55]=a_1_1^2 |
---|
393 | _[56]=a_3_4^2 |
---|
394 | _[57]=a_3_5^2 |
---|
395 | _[58]=a_7_8^2 |
---|
396 | _[59]=a_9_11^2 |
---|
397 | sca.quotient.bug.sing 102> |
---|
398 | sca.quotient.bug.sing 103. ideal FRS = c_10_12, b_2_2^2-b_2_2*b_2_3+b_2_3^2; |
---|
399 | sca.quotient.bug.sing 104> quotient(ideal(0),ideal(FRS[1])); // q1 |
---|
400 | _[1]=0 |
---|
401 | sca.quotient.bug.sing 105> |
---|
402 | sca.quotient.bug.sing 106. FRS[1]; |
---|
403 | c_10_12 |
---|
404 | sca.quotient.bug.sing 107> FRS[2]; |
---|
405 | b_2_3^2-b_2_2*b_2_3+b_2_2^2 |
---|
406 | sca.quotient.bug.sing 108> |
---|
407 | sca.quotient.bug.sing 109. quotient(ideal(FRS[1]),ideal(FRS[2])); // q2 |
---|
408 | ? sca_mm_Mult_p: exponent mismatch 1 and 1 |
---|
409 | |
---|
410 | ? sca_mm_Mult_p: exponent mismatch 1 and 1 |
---|
411 | |
---|
412 | ? sca_mm_Mult_pp: exponent mismatch 1 and 1 |
---|
413 | |
---|
414 | ? sca_mm_Mult_pp: exponent mismatch 1 and 1 |
---|
415 | |
---|
416 | ? error occurred in sca.quotient.bug.sing line 109: `quotient(ideal(FRS[1]),ideal(FRS[2])); // q2` |
---|
417 | ? wrong type declaration. type 'help ideal;' |
---|
418 | sca.quotient.bug.sing 110> |
---|
419 | sca.quotient.bug.sing 111. |
---|
420 | sca.quotient.bug.sing 112. |
---|
421 | sca.quotient.bug.sing 113. $$$$ |
---|