Changeset c45564 in git
- Timestamp:
- May 28, 2020, 3:59:45 PM (3 years ago)
- Branches:
- (u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
- Children:
- 0d9fc0cf670c06a6a5fa2528276fe4efc95a2820
- Parents:
- d2ead71f26dd6534952a6986bca121c8aff5f2ed
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/ipassign.cc
rd2ead71 rc45564 171 171 } 172 172 } 173 static BOOLEAN jjMINPOLY(leftv, leftv a) 174 { 175 if( !nCoeff_is_transExt(currRing->cf) && (currRing->idroot == NULL) && n_IsZero((number)a->Data(), currRing->cf) ) 176 { 177 #ifndef SING_NDEBUG 178 WarnS("Set minpoly over non-transcendental ground field to 0?!"); 179 Warn("in >>%s<<",my_yylinebuf); 180 #endif 173 BOOLEAN jjSetMinpoly(ring r, number a, BOOLEAN modify) 174 { 175 if( !nCoeff_is_transExt(r->cf) && (r->idroot == NULL) && n_IsZero(a, r->cf) ) 176 { 181 177 return FALSE; 182 178 } 183 179 184 180 185 if ( !nCoeff_is_transExt(currRing->cf) ) 186 { 187 WarnS("Trying to set minpoly over non-transcendental ground field..."); 188 if(!nCoeff_is_algExt(currRing->cf) ) 181 if ( !nCoeff_is_transExt(r->cf) ) 182 { 183 if(!nCoeff_is_algExt(r->cf) ) 189 184 { 190 185 WerrorS("cannot set minpoly for these coeffients"); … … 192 187 } 193 188 } 194 if ((rVar( currRing->cf->extRing)!=1)195 && !n_IsZero( (number)a->Data(), currRing->cf) )189 if ((rVar(r->cf->extRing)!=1) 190 && !n_IsZero(a, r->cf) ) 196 191 { 197 192 WerrorS("only univarite minpoly allowed"); … … 200 195 201 196 BOOLEAN redefine_from_algext=FALSE; 202 if ( currRing->idroot != NULL ) 203 { 204 redefine_from_algext=(currRing->cf->extRing->qideal!=NULL); 205 // return TRUE; 206 #ifndef SING_NDEBUG 207 idhdl p = currRing->idroot; 208 209 WarnS("no minpoly allowed if there are local objects belonging to the basering: "); 210 211 while(p != NULL) 212 { 213 PrintS(p->String(TRUE)); Print("(%s)\n",IDID(p)); 214 p = p->next; 215 } 216 #endif 217 } 218 219 // assume (currRing->idroot==NULL); 220 221 number p = (number)a->CopyD(NUMBER_CMD); 222 n_Normalize(p, currRing->cf); 223 224 if (n_IsZero(p, currRing->cf)) 225 { 226 n_Delete(&p, currRing->cf); 227 if( nCoeff_is_transExt(currRing->cf) ) 228 { 229 #ifndef SING_NDEBUG 230 WarnS("minpoly is already 0..."); 231 #endif 197 if ( r->idroot != NULL ) 198 { 199 redefine_from_algext=(r->cf->extRing->qideal!=NULL); 200 } 201 202 // assume (r->idroot==NULL); 203 204 number p = n_Copy(a,r->cf); 205 n_Normalize(p, r->cf); 206 207 if (n_IsZero(p, r->cf)) 208 { 209 n_Delete(&p, r->cf); 210 if( nCoeff_is_transExt(r->cf) ) 211 { 232 212 return FALSE; 233 213 } … … 235 215 return TRUE; 236 216 } 237 217 if (!modify) r=rCopy(r); 238 218 // remove all object currently in the ring 239 while( currRing->idroot!=NULL)219 while(r->idroot!=NULL) 240 220 { 241 221 #ifndef SING_NDEBUG 242 Warn("killing a local object due to minpoly change: %s", IDID( currRing->idroot));222 Warn("killing a local object due to minpoly change: %s", IDID(r->idroot)); 243 223 #endif 244 killhdl2( currRing->idroot,&(currRing->idroot),currRing);224 killhdl2(r->idroot,&(r->idroot),r); 245 225 } 246 226 247 227 AlgExtInfo A; 248 228 249 A.r = rCopy( currRing->cf->extRing); // Copy ground field!229 A.r = rCopy(r->cf->extRing); // Copy ground field! 250 230 // if minpoly was already set: 251 if( currRing->cf->extRing->qideal != NULL ) id_Delete(&(A.r->qideal),A.r);231 if( r->cf->extRing->qideal != NULL ) id_Delete(&(A.r->qideal),A.r); 252 232 ideal q = idInit(1,1); 253 233 if ((p==NULL) ||(NUM((fraction)p)==NULL)) … … 256 236 // cleanup A: TODO 257 237 rDelete( A.r ); 238 if (!modify) rDelete(r); 258 239 return TRUE; 259 240 } … … 261 242 { 262 243 poly n=DEN((fraction)(p)); 263 if(!p_IsConstantPoly(n, currRing->cf->extRing))244 if(!p_IsConstantPoly(n,r->cf->extRing)) 264 245 { 265 246 WarnS("denominator must be constant - ignoring it"); 266 247 } 267 p_Delete(&n, currRing->cf->extRing);248 p_Delete(&n,r->cf->extRing); 268 249 DEN((fraction)(p))=NULL; 269 250 } … … 273 254 A.r->qideal = q; 274 255 275 #if 0276 PrintS("\nTrying to conver the currRing into an algebraic field: ");277 PrintS("Ground poly. ring: \n");278 rWrite( A.r );279 PrintS("\nGiven MinPOLY: ");280 p_Write( A.i->m[0], A.r );281 #endif282 283 // :(284 // NUM((fractionObject *)p) = NULL; // makes 0/ NULL fraction - which should not happen!285 // n_Delete(&p, currRing->cf); // doesn't expect 0/ NULL :(286 256 if (!redefine_from_algext) 287 257 { … … 297 267 // cleanup A: TODO 298 268 rDelete( A.r ); 269 if (!modify) rDelete(r); 299 270 return TRUE; 300 271 } 301 272 else 302 273 { 303 nKillChar(currRing->cf); currRing->cf=new_cf; 304 } 305 return FALSE; 274 nKillChar(r->cf); r->cf=new_cf; 275 } 276 return FALSE; 277 } 278 static BOOLEAN jjMINPOLY(leftv, leftv a) 279 { 280 return jjSetMinpoly(currRing,(number)a->Data(),TRUE); 306 281 } 307 282 -
Singular/ipshell.h
rd2ead71 rc45564 171 171 /* Assigments : */ 172 172 BOOLEAN iiAssign(leftv left, leftv right, BOOLEAN toplevel=TRUE); 173 BOOLEAN jjSetMinpoly(ring r, number a, BOOLEAN modify); 173 174 174 175 typedef BOOLEAN (*proci)(leftv,leftv,Subexpr); -
Tst/Short/bug_minpoly.res.gz.uu
rd2ead71 rc45564 1 1 begin 640 bug_minpoly.res.gz 2 M'XL("*%C15@``V)U9U]M:6YP;VQY+G)E<P!54,M.PS`0O.<K1A6'M#(N`0H2 3 M48V$N%1"7-I[FSB;8"FL*]L!PM?CT)*6TSYF9G=GUYOGU2N`3.%E]81)\$&V 4 MIISDR?J(7"O$YM:P">DT3X8(I5!VS?;=\-ZVO63ZE#X48=3<*(SYK80SW,`O 5 MKT3Z)7KQ+0I1"CT5U?ZT9:%PG+9$EB?S.68S;%P_*(.%I_"'PWZ0`UN^#*Y@ 6 MKXDKXE"T:)SMN$)MJ*VDE$F<^@A=,-OP3U];A_!&GJ`MU9'.P1_(Y%S$K-:= 7 M<U3!,&)94A00#H>VA@F+!^S.CMV-)N[.;-_+W[<-;^E\FDWSB^0'ZE0]`6P! 8 "```` 2 M'XL(")B?SUX"`V)U9U]M:6YP;VQY+G)E<P!-3\%JPD`0O><K'N(A@64Q;:U@ 3 M<`OB12B]V+LFZT07TEG9G=#:K^]:;>II9MZ;F??>YGVU?@-0&KRNEQA)%-VY 4 M9E1EFQOS8)#`K6,G>5%EEPICT/2'[8?CD^_.FNE31ZEEN'DT&/HGC>#X@+B8 5 MJ/Q+G=6WJE6C;*'VIW^5J<'MVP)EE27D!;9F]H)(\L>A]0%RI$BPGMK6$4N\ 6 M+E,(B?/6]B'0'HZ1QH;2`>$JTCDF3.?8W0GM!@//=Y9G^C?R)5(?\[*HQMD/ 7 (N41"_B@!```` 9 8 ` 10 9 end -
Tst/Short/bug_minpoly.stat
rd2ead71 rc45564 1 1 >> tst_memory_0 :: 1 480942444:4100, 64 bit:4.1.0:x86_64-Linux:nepomuck:1072002 1 >> tst_memory_1 :: 1 480942444:4100, 64 bit:4.1.0:x86_64-Linux:nepomuck:22282243 1 >> tst_memory_2 :: 1 480942444:4100, 64 bit:4.1.0:x86_64-Linux:nepomuck:22282244 1 >> tst_timer_1 :: 1 480942444:4100, 64 bit:4.1.0:x86_64-Linux:nepomuck:01 1 >> tst_memory_0 :: 1590665113:4132, 64 bit:4.1.3:x86_64-Linux:nepomuck:85216 2 1 >> tst_memory_1 :: 1590665113:4132, 64 bit:4.1.3:x86_64-Linux:nepomuck:2150192 3 1 >> tst_memory_2 :: 1590665113:4132, 64 bit:4.1.3:x86_64-Linux:nepomuck:2191296 4 1 >> tst_timer_1 :: 1590665113:4132, 64 bit:4.1.3:x86_64-Linux:nepomuck:4 -
Tst/Short/bug_minpoly2.res.gz.uu
rd2ead71 rc45564 1 1 begin 640 bug_minpoly2.res.gz 2 M'XL(""6*8UD"`V)U9U]M:6YP;VQY,BYR97,`75!-:\)`$+WG5SQ"#QM)5MQ6 3 M;0GNH?0BB!?M65:SAH5T5G8G;?/OFXB-I:<9YO&^9K=_6V\!S#0VZU>D'%DV 4 M[IB6R>Z&*(W^>'#D6&1E,DQHC6-;'SX<77S3*4GV2T8V/)(>-<;]22(XJA%6 5 M8IZ;+/_.J\M=?JYQDUD95:@[L+@F2@?JOT1+C>`]^_-[GZ43BS[5=(K)!/O0 6 M#4;L$2W_RL)_V@#R5'`P%$^6*DML&M3!MU3A[&Q322D380J5C2;/?QJ\R.L+ 7 2AH9M%+.L?$A^`+"]93,X`0`` 2 M'XL(")6?SUX"`V)U9U]M:6YP;VQY,BYR97,`78Y!"X)`$(7O^RL&Z;`+NN"6 3 M5HASB"Y"=+'.LF+)@NV*KI3_/A71Z#3#O'GO?>GMG%P!P$>X)"=P;&MYI7(G 4 M(NFL"(3AF"FM+&41&2<@0MZ5V4OIVE2]X/KQYJV5=C%M$99]QZ%1NH0FIH$K 5 MF?MQBWJ-#Q#FF%@*3ZQ".!$YH_6/:(_0&&/-\SZP]#0<J*CT!%L>#C_M1S[A 6 1CW1=2WT6;<@7E0-\A?0````` 8 7 ` 9 8 end -
Tst/Short/bug_minpoly2.stat
rd2ead71 rc45564 1 1 >> tst_memory_0 :: 1 499695653:4103, 64 bit:4.1.0:x86_64-Linux:nepomuck:1679842 1 >> tst_memory_1 :: 1 499695653:4103, 64 bit:4.1.0:x86_64-Linux:nepomuck:22159363 1 >> tst_memory_2 :: 1 499695653:4103, 64 bit:4.1.0:x86_64-Linux:nepomuck:22159364 1 >> tst_timer_1 :: 1 499695653:4103, 64 bit:4.1.0:x86_64-Linux:nepomuck:21 1 >> tst_memory_0 :: 1590665109:4132, 64 bit:4.1.3:x86_64-Linux:nepomuck:174624 2 1 >> tst_memory_1 :: 1590665109:4132, 64 bit:4.1.3:x86_64-Linux:nepomuck:2183168 3 1 >> tst_memory_2 :: 1590665109:4132, 64 bit:4.1.3:x86_64-Linux:nepomuck:2281488 4 1 >> tst_timer_1 :: 1590665109:4132, 64 bit:4.1.3:x86_64-Linux:nepomuck:6 -
Tst/Short/bug_misc.res.gz.uu
rd2ead71 rc45564 1 1 begin 640 bug_misc.res.gz 2 M'XL(" (@?N%X"`V)U9U]M:7-C+G)E<P#56-UOXC@0?^>O&*WN(2PA31P2H!6<3 M U+V'6ZG:E^Z][.FV&Q(#UA&;LYV6\-??.-]0VNNM1-4BM3CC\7S\_)NQP^W74 M WSY_`0!O#C>?K^MK9L,6'J]YM-4/F@,([QIFV^E<]\PWS.2RRU5W*5.QP5 M ^N`H'>EF@3^'9CQRX.("M'2"J0O#,WP:3X$#6REB6+:1AW-\,OX?(G4)7_ZX6 M N8&$2KJ$AS6+UZC.N&9\!?A%)8\VH+3,8IU)VL-%B`*/4@IP"33=ZKPP;R;,7 M =S%S/*'S+:K#T8HZFG$'EDD#RV1R7EBFI:<UA67&8\T$5Z#RO5TFK6BL;?@G8 M $YI1KD%23)Y#A$!$/(ED`HM(4515FD8)B"5.K2BG,BIP4U0#6U:K;J^!*2-R9 M :M^>ZX#8&I=6K=)O-L=#PDEC1,Y\XKJ^;>WLW-[W[63;ZI`6,L]W(!5)MJ&010 M SC`!BR4TVEB[06[O!OM^Q_!H#I'6DBVL%*5F>,G4[;5=;@^F7<M^%ZE8M>)[11 M&K ?>@CFD5[WT3^^OV>XCIFR1_K`<>/U!7DOVE:19AHQ3.BD<W_W?M1U^>,B/12 M(C]@ LV:?VHS[=C4D@[V=^]WDIW-@6*.%;W^P(_E@MQ_D>Y00E.3^(!_5NL1M13 M @&)/`%5KXEZ]*)#J,>]$1$@GHM)_&8N?F_#($(7#?#38Y1@GV3?+_(/@N*B>14 M ,DU5HS,JT68-VJ7]NZ[]1X:#%F82(LRSFOT=1NV#.I4NL\BXD\H@+_/8MWA.15 M 7HRGV:7G_9I2:#W[[BG/03/MO=2SWZDHWZ])MO9F1?&U_A#9:HK,=JW85$5=16 M @\5`6&O/7A-TBDWFXT=L!0E=X@F!=9V"]81N0WD?RZ5HPD7!>+9K@XO_>JX]17 M W-N[<I0;V:X->GQ0W2=YX4]JLV4MOMCVM`5GY#8=>CP]2X<^:-,CKW*7&^B218 M +%U@R\:A@@>FUY`ROA6;O-$F3M4[\6\&EFM'?<RITSE'6#[5(E2(OI.AU\Z-19 M CN=(O7U?2_]:%*V]5A+W5`(7?*AEQ%5,>8*L16ZLI,AX`DM&-XGC.#T\;7Z%20 M 3R+;)*BM(<:CICA/B],GVJP<H#M-N<(#X;(V/INYY3HJI9`@XCB32"+D+.#C21 M @BZ%I%`&OF&<8O"7\.,X^A]-:L%[3BUX-K6P0\YQ2\[P%<@Y>0DYP2IN67B]22 M HK)"&B'$RU9*4R'SINA'TP/R!M^#BKKE/OD>"<Q%@O'[:,,2B!3$ZTA&,1X^23 M 3&D6FUN(0?U@BZ"X0YAUF:*)\[@;&6?6*;=-7($[/XR+',3U2E&1XZB\@ZA(24 M \/I!D4=(D8.8+',Q6%%I(Z;]@_">,7IB46L?FY>Y=QKUPE0LZ'+)8G-8(L.^25 M ?;NP#$OZ9HHC&[&$,='[2"J\>'M&6GT6&Q'_;=YM4"YD4O(RV78TVL\EF"N]26 M ,L/="1.D:^)3$RFV4BXH8BQG;8,-@J?P(3^##WF$3_B?^+P-=,9--[[JN8UT27 M TF#6E4Z?P,S^&<SL1YB%Q]7]1KI.Z+W%KA.2M]=U0O^\72<<O9>N$YZYOX3O28 GI+^$)_M+.#ES)^F\)8SQ+<'\-F9^_LH4OLQ?_=+[%T.P<%Y1$P``2 M'XL(".2?SUX"`V)U9U]M:7-C+G)E<P#56$MOXS80OOM7#!8]R+&L2)0EOV`7 3 MR/;0!8*]I+ULT<W*$FT3M427I!+)O[Y#O>TX:;J`TZP`6]1P.(]/,Q]IW_WV 4 MRZ?/`.`LX?;3#7Q04ED[MOHP[]U5,V0)*+QG"5-&?][3=U@N895N[F,F0RNA 5 MCY94@6H6N$MHQB,+KJ]!"<N;VC"\P-5X\BS8"Q["NHW<7^*3]O\8R!E\_OWV 6 M%B(JZ!H>MRS<HCI+%$LV@#<JDF`'4HDT5*F@/5R$*"1!3`%F0..]R@OS>D+? 7 MBYG3"97O41U.5M31C#NP3!I8)I/+PC(M/6TIK-,D5(PG$F1^,,ND)0V5"7^G 8 M7#&:*!`4DT\@0""")`I$!*M`4E25B@81\#5.;6A"15#@)JD"MJY6W=T`DUID 9 MU;X=VP*^URZ-6J7?O!P'"TYH(V+A$MMV32,S<_/0-Z-]JT-:R!S7@IA'Z8Y" 10 MO,`$#!;18&=D@]S,!H=^Q_!H"8%2@JV,&*5Z.&/R[L8L7P^F7<M^Y3'?M.(' 11 M&K;>O"7$\U[\A_/G(KO"E`W2'Y8#IS_(:\FADC3+L.*DB@K']_]U;:<^'*R/ 12 M(C]@B^8]M1GWS6I(!@<S=[O)3Y?`L$<+W^X@(_D@.PSR`TH(2G)WD(]J76(W 13 M0+%G@*HU\5V]*I#J,>]$1$@GHM)_&8N;Z_#($(7#?#3(<HR3')IE[E%P":^> 14 M4D5EHS,JT68-VJ7]^Z[])X:]%F;B(\R+NOH[%77PZE2ZE47&G50&>9G'H<5S 15 M\FH\]5MZV:]NA=:S:Y_S[#73SFL]NYV.<MVZR+;.HFB^UA\B6TV11=:*=5?4 16 M/5@,N+%US"U!IT@R5U=(!1%=XPZ!?1V#\8QN4_(NMDM!PD7#.*9M@HU?/=L< 17 M'LRL'.5:EK5!CX^Z^VQ=N)/:;-F+K[8];<$9V0U#CZ<78>@CFAXYE;M<0Q>E 18 M\0HI&X<2'IG:0LR2/=_EC3:Q*N[$SP(,VPSZF%.'.4?8/M4B5`B^DJ'3SHU. 19 MY\B\ASO%S_"1I[L($JX@Q&VBV`N+G2/8;2R@F:*)1#*?U:L7"[M<1X7@`G@8 20 MI@(+`.L-\'%%UUQ0*)WN6$+1\0R^G7K^UH3E_5]A>2^&Y7>*8MP6A?\&13%Y 21 M35&`49QN\%A#BYI0'-($NQ!B&G.1-\TVFAX5C??5JTJF[%S7(9[>P%GR$.Q8 22 M!(&$<!N(($329U*Q4._^&O6-X&@?UHSN(@N*O5NO2R6-K*<LH)T9Y]PV<7GV 23 M\C@N<A37&T5%3J-RCJ(BWML'19X@18YB,O2&O*'"1$S[1^&]8/3,HM8^DH8^ 24 M[VGUPE3(Z7K-0KU)885]^7)MZ"KIZZD$JY$*G>A#("0>>!TMK:[5CH=_Z=\4 25 M*.<B*NLRVG<TVFL&^B@M]3`[8X)T37QL(D4*2SA%C,6B)3;/>PX?\CWXD"?X 26 M^/^*S_M`9]PPZ;QG-]))@UE7.GT&,_-[,#.?8.:?=O<[81W?>8^LXY/WQSJ^ 27 M>UG6\4<_"NOX%^87_P?A%_\LO_B3"S-)YW0^QM.Y_D]*_^V42OP1/?^I]P\` 28 '$ZDNR1(````` 29 29 ` 30 30 end -
Tst/Short/bug_misc.stat
rd2ead71 rc45564 1 1 >> tst_memory_0 :: 15 89125000:4131, 64 bit:4.1.3:x86_64-Linux:nepomuck:2172242 1 >> tst_memory_1 :: 15 89125000:4131, 64 bit:4.1.3:x86_64-Linux:nepomuck:22782083 1 >> tst_memory_2 :: 15 89125000:4131, 64 bit:4.1.3:x86_64-Linux:nepomuck:23193124 1 >> tst_timer_1 :: 15 89125000:4131, 64 bit:4.1.3:x86_64-Linux:nepomuck:41 1 >> tst_memory_0 :: 1590665188:4132, 64 bit:4.1.3:x86_64-Linux:nepomuck:217232 2 1 >> tst_memory_1 :: 1590665188:4132, 64 bit:4.1.3:x86_64-Linux:nepomuck:2278216 3 1 >> tst_memory_2 :: 1590665188:4132, 64 bit:4.1.3:x86_64-Linux:nepomuck:2319312 4 1 >> tst_timer_1 :: 1590665188:4132, 64 bit:4.1.3:x86_64-Linux:nepomuck:5
Note: See TracChangeset
for help on using the changeset viewer.