Changeset 3a2b8e in git
- Timestamp:
- Jul 8, 2010, 1:23:22 PM (13 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- 9e0e2b17065d5df1e5fd0e0059aa8561bde06570
- Parents:
- ba2be44979686110791931e4de45f3c9a46b1383
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/primdec.lib
rba2be4 r3a2b8e 1888 1888 } 1889 1889 /////////////////////////////////////////////////////////////////////////////// 1890 static proc cleanPrimaryS(list l) 1891 { 1892 int i; 1893 list lh; 1894 for(i=1;i<=size(l);i++) 1895 { 1896 l[i][2]=std(l[i][2]); 1897 if(deg(l[i][2][1])>0) 1898 { 1899 lh[size(lh)+1]=l[i]; 1900 } 1901 } 1902 return(lh); 1903 } 1904 1905 /////////////////////////////////////////////////////////////////////////////// 1906 static proc cleanPrimeS(list l) 1907 { 1908 int i; 1909 list lh; 1910 for(i=1;i<=size(l);i++) 1911 { 1912 l[i]=std(l[i]); 1913 if(deg(l[i][1])>0) 1914 { 1915 lh[size(lh)+1]=l[i]; 1916 } 1917 } 1918 return(lh); 1919 } 1920 1921 /////////////////////////////////////////////////////////////////////////////// 1890 1922 1891 1923 … … 2333 2365 " 2334 2366 { 2335 if(attrib(basering,"global")!=1)2336 {2337 ERROR(2338 "Not implemented for this ordering, please change to global ordering."2339 );2340 }2341 2367 intvec op ; 2342 2368 def P = basering; 2369 if(attrib(basering,"global")!=1) 2370 { 2371 def PG=changeord("dp"); 2372 setring PG; 2373 ideal i=imap(P,i); 2374 list L=equidim(i,#); 2375 setring P; 2376 list L=imap(PG,L); 2377 L=cleanPrimeS(L); 2378 return(L); 2379 } 2343 2380 list eq; 2344 2381 intvec w; … … 2439 2476 " 2440 2477 { 2478 def P = basering; 2441 2479 if(attrib(basering,"global")!=1) 2442 2480 { 2443 ERROR( 2444 "Not implemented for this ordering, please change to global ordering." 2445 ); 2446 } 2447 def P = basering; 2481 def PG=changeord("dp"); 2482 setring PG; 2483 ideal i=imap(P,i); 2484 ideal L=equidimMax(i); 2485 setring P; 2486 ideal L=imap(PG,L); 2487 L=std(L); 2488 return(L); 2489 } 2448 2490 ideal eq; 2449 2491 intvec w; … … 3840 3882 " 3841 3883 { 3842 if(attrib(basering,"global")!=1)3843 {3844 ERROR(3845 "Not implemented for this ordering, please change to global ordering."3846 );3847 }3848 3884 if((char(basering)<100)&&(char(basering)!=0)) 3849 3885 { 3850 3886 "WARNING: The characteristic is too small, the result may be wrong"; 3851 3887 } 3888 if(attrib(basering,"global")!=1) 3889 { 3890 def P=basering; 3891 def PG=changeord("dp"); 3892 setring PG; 3893 ideal i=imap(P,i); 3894 ideal L=radicalEHV(i); 3895 setring P; 3896 ideal L=imap(PG,L); 3897 L=std(L); 3898 return(L); 3899 } 3900 3852 3901 ideal J,I,I0,radI0,L,radI1,I2,radI2; 3853 3902 int l,n; … … 5115 5164 if(attrib(basering,"global")!=1) 5116 5165 { 5117 ERROR( 5118 "Not implemented for this ordering, please change to global ordering." 5119 ); 5166 def P=basering; 5167 def PG=changeord("dp"); 5168 setring PG; 5169 ideal i=imap(P,i); 5170 list L=primdecGTZ(i); 5171 setring P; 5172 list L=imap(PG,L); 5173 L=cleanPrimaryS(L); 5174 return(L); 5120 5175 } 5121 5176 if(minpoly!=0) … … 5284 5339 if(attrib(basering,"global")!=1) 5285 5340 { 5286 ERROR( 5287 "Not implemented for this ordering, please change to global ordering." 5288 ); 5341 def P=basering; 5342 def PG=changeord("dp"); 5343 setring PG; 5344 ideal i=imap(P,i); 5345 list L=primdecSY(i,#); 5346 setring P; 5347 list L=imap(PG,L); 5348 L=cleanPrimaryS(L); 5349 return(L); 5289 5350 } 5351 5290 5352 i=simplify(i,2); 5291 5353 if ((i[1]==0)||(i[1]==1)) … … 5365 5427 } 5366 5428 } 5367 5368 5429 if(attrib(basering,"global")!=1) 5369 5430 { 5370 ERROR( 5371 "Not implemented for this ordering, please change to global ordering." 5372 ); 5373 } 5431 def P=basering; 5432 def PG=changeord("dp"); 5433 setring PG; 5434 ideal i=imap(P,i); 5435 list L=minAssGTZ(i,#); 5436 setring P; 5437 list L=imap(PG,L); 5438 L=cleanPrimeS(L); 5439 return(L); 5440 } 5441 5374 5442 if(minpoly!=0) 5375 5443 { … … 5402 5470 if(attrib(basering,"global")!=1) 5403 5471 { 5404 ERROR( 5405 "Not implemented for this ordering, please change to global ordering." 5406 ); 5472 def P=basering; 5473 def PG=changeord("dp"); 5474 setring PG; 5475 ideal i=imap(P,i); 5476 list L=minAssChar(i,#); 5477 setring P; 5478 list L=imap(PG,L); 5479 L=cleanPrimeS(L); 5480 return(L); 5407 5481 } 5482 5408 5483 if (size(#)==1) 5409 5484 { return(min_ass_prim_charsets(i,#[1])); } … … 5429 5504 " 5430 5505 { 5431 if(attrib(basering,"global")!=1) 5432 { 5433 ERROR( 5434 "Not implemented for this ordering, please change to global ordering." 5435 ); 5436 } 5506 if(attrib(basering,"global")!=1) 5507 { 5508 def P=basering; 5509 def PG=changeord("dp"); 5510 setring PG; 5511 ideal i=imap(P,i); 5512 ideal L=equiRadical(i); 5513 setring P; 5514 ideal L=imap(PG,L); 5515 L=std(L); 5516 return(L); 5517 } 5518 5437 5519 return(radical(i, 1)); 5438 5520 } … … 5463 5545 " 5464 5546 { 5465 dbprint(printlevel - voice, "Radical, version 2006.05.08"); 5466 if(attrib(basering,"global")!=1) 5467 { 5468 ERROR( 5469 "Not implemented for this ordering, please change to global ordering." 5470 ); 5471 } 5547 dbprint(printlevel - voice, "Radical, version 2006.05.08"); 5548 if(attrib(basering,"global")!=1) 5549 { 5550 def P=basering; 5551 def PG=changeord("dp"); 5552 setring PG; 5553 ideal i=imap(P,i); 5554 ideal L=radical(i,#); 5555 setring P; 5556 ideal L=imap(PG,L); 5557 L=std(L); 5558 return(L); 5559 } 5560 5472 5561 if(size(i) == 0){return(ideal(0));} 5473 5562 int j; … … 6236 6325 if(attrib(basering,"global")!=1) 6237 6326 { 6238 ERROR( 6239 "Not implemented for this ordering, please change to global ordering." 6240 ); 6241 } 6327 def P=basering; 6328 def PG=changeord("dp"); 6329 setring PG; 6330 ideal i=imap(P,i); 6331 list L=prepareAss(i); 6332 setring P; 6333 list L=imap(PG,L); 6334 L=cleanPrimeS(L); 6335 return(L); 6336 } 6337 6242 6338 ideal j=std(i); 6243 6339 int cod=nvars(basering)-dim(j); … … 6282 6378 " 6283 6379 { 6284 if(attrib(basering,"global")!=1) 6285 { 6286 ERROR( 6287 "Not implemented for this ordering, please change to global ordering." 6288 ); 6289 } 6380 if(attrib(basering,"global")!=1) 6381 { 6382 def P=basering; 6383 def PG=changeord("dp"); 6384 setring PG; 6385 ideal i=imap(P,i); 6386 ideal L=equidimMaxEHV(i); 6387 setring P; 6388 ideal L=imap(PG,L); 6389 L=std(L); 6390 return(L); 6391 } 6392 6290 6393 ideal j=groebner(i); 6291 6394 int cod=nvars(basering)-dim(j); … … 6350 6453 " 6351 6454 { 6455 def R=basering; 6352 6456 if(attrib(basering,"global")!=1) 6353 6457 { 6354 ERROR( 6355 "Not implemented for this ordering, please change to global ordering." 6356 ); 6357 } 6358 def R=basering; 6458 def PG=changeord("dp"); 6459 setring PG; 6460 ideal i=imap(R,I); 6461 list L=zerodec(i); 6462 setring R; 6463 list L=imap(PG,L); 6464 L=cleanPrimeS(L); 6465 return(L); 6466 } 6467 6359 6468 poly q; 6360 6469 int j,time;
Note: See TracChangeset
for help on using the changeset viewer.