Changeset 6d8734 in git
- Timestamp:
- Jul 26, 2021, 2:34:40 PM (3 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 62de185de0060170d8506f950869e3cb1d29e6ab
- Parents:
- fe2306067e5322b21216ff8f673910a0dd8dd110
- git-author:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2021-07-26 14:34:40+02:00
- git-committer:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2021-07-26 14:35:37+02:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/primdec.lib
rfe23060 r6d8734 1 1 //////////////////////////////////////////////////////////////////////////// 2 version="version primdec.lib 4.2. 0.0 Mar_2021 "; // $Id$2 version="version primdec.lib 4.2.1.1 Jul_2021 "; // $Id$ 3 3 category="Commutative Algebra"; 4 4 info=" … … 1882 1882 i=qr[1]; 1883 1883 1884 def gnir=ring(ring list(@P));1884 def gnir=ring(ring_list(@P)); 1885 1885 setring gnir; 1886 1886 … … 2064 2064 int j; // Counter 2065 2065 def P0 = basering; 2066 list Pl=ring list(P0);2066 list Pl=ring_list(P0); 2067 2067 intvec dp_w; 2068 2068 for(j=nvars(P0);j>0;j--) {dp_w[j]=1;} … … 2417 2417 &&(find(ordstr(basering),"s")==0)) 2418 2418 { 2419 def gnir=ring(ring list(basering));2419 def gnir=ring(ring_list(basering)); 2420 2420 setring gnir; 2421 2421 ideal i=imap(P,i); … … 2522 2522 &&(find(ordstr(basering),"s")==0)) 2523 2523 { 2524 def gnir=ring(ring list(basering));2524 def gnir=ring(ring_list(basering)); 2525 2525 setring gnir; 2526 2526 ideal i=imap(P,i); … … 2560 2560 2561 2561 indep=maxIndependSet(j); 2562 ring gnir1 = create_ring(ring list(basering)[1],"("+indep[1][1]+")","("+indep[1][2]+")","no_minpoly");2562 ring gnir1 = create_ring(ring_list(basering)[1],"("+indep[1][1]+")","("+indep[1][2]+")","no_minpoly"); 2563 2563 if(homo==1) 2564 2564 { … … 3106 3106 newva[size(newva)]=")"; 3107 3107 newma[size(newma)]=";"; 3108 ring @deirf = create_ring(ring list(gnir)[1],"("+newva,"lp","no_minpoly");3108 ring @deirf = create_ring(ring_list(gnir)[1],"("+newva,"lp","no_minpoly"); 3109 3109 execute("map @kappa=gnir,"+newma); 3110 3110 ideal @j= @kappa(@j); … … 3270 3270 3271 3271 ideal jkeep=@j; 3272 if((ordstr(@P)[1]=="w")&&(size(ring list(@P)[3])==2)) // weighted ordering3273 { 3274 list gnir_l=ring list(gnir);3275 list @P_l=ring list(@P);3272 if((ordstr(@P)[1]=="w")&&(size(ring_list(@P)[3])==2)) // weighted ordering 3273 { 3274 list gnir_l=ring_list(gnir); 3275 list @P_l=ring_list(@P); 3276 3276 gnir_l[3]=@P_l[3]; // ord 3277 3277 def @Phelp=ring(gnir_l); … … 3288 3288 { 3289 3289 if(((ordstr(@P)[3]=="d")||(ordstr(@P)[1]=="d")||(ordstr(@P)[1]=="w") 3290 ||(ordstr(@P)[3]=="w"))&&(size(ring list(@P)[3])==2))3290 ||(ordstr(@P)[3]=="w"))&&(size(ring_list(@P)[3])==2)) 3291 3291 { 3292 3292 ideal jwork=imap(@P,tras); … … 3318 3318 //change the ring 3319 3319 { 3320 def gnir1=ring(ring list(basering));3320 def gnir1=ring(ring_list(basering)); 3321 3321 setring gnir1; 3322 3322 ideal @j=fetch(gnir,@j); … … 3331 3331 @j=fetch(@P,i); 3332 3332 } 3333 ring gnir1 = create_ring(ring list(basering)[1],"("+indep[@m][1]+")","("+indep[@m][2]+")","no_minpoly");3333 ring gnir1 = create_ring(ring_list(basering)[1],"("+indep[@m][1]+")","("+indep[@m][2]+")","no_minpoly"); 3334 3334 execute("map phi=gnir,"+@va+";"); 3335 3335 op=option(get); … … 3631 3631 //change the ring 3632 3632 { 3633 def gnir1=ring(ring list(basering));3633 def gnir1=ring(ring_list(basering)); 3634 3634 setring gnir1; 3635 3635 ideal @j=fetch(gnir,jkeep); … … 3639 3639 { 3640 3640 @va=string(maxideal(1)); 3641 ring gnir1 = create_ring(ring list(basering)[1],"("+restindep[@m][1]+")","("+restindep[@m][2]+")","no_minpoly");3641 ring gnir1 = create_ring(ring_list(basering)[1],"("+restindep[@m][1]+")","("+restindep[@m][2]+")","no_minpoly"); 3642 3642 execute("map phi=gnir,"+@va+";"); 3643 3643 op=option(get); … … 4609 4609 def oldring=basering; 4610 4610 string n=system("neworder",PS); 4611 ring r = create_ring(ring list(oldring)[1],"("+n+")","dp","no_minpoly");4611 ring r = create_ring(ring_list(oldring)[1],"("+n+")","dp","no_minpoly"); 4612 4612 ideal PS=imap(oldring,PS); 4613 4613 matrix m=char_series(PS); // We compute an irreducible … … 4624 4624 for(i=1;i<nvars(oldring);i++) { n=n+","+string(var(i)); } 4625 4625 kill r; 4626 ring r = create_ring(ring list(oldring)[1],"("+n+")","dp","no_minpoly");4626 ring r = create_ring(ring_list(oldring)[1],"("+n+")","dp","no_minpoly"); 4627 4627 ideal PS=imap(oldring,PS); 4628 4628 matrix m=char_series(PS); … … 5267 5267 5268 5268 U[size(U)]=")"; // we compute the extractor of I (w.r.t. U) 5269 ring RAU = create_ring(ring list(basering)[1],"("+A+U,"(dp("+string(a)+"),dp)","no_minpoly");5269 ring RAU = create_ring(ring_list(basering)[1],"("+A+U,"(dp("+string(a)+"),dp)","no_minpoly"); 5270 5270 ideal I=imap(R,SI); 5271 5271 //I=std(I,hv); // the standard basis in (R[U])[A] … … 5837 5837 int k=find(newvar,",",find(newvar,",")+1); 5838 5838 newvar=newvar[k+1..size(newvar)]; 5839 list lR=ring list(R);5839 list lR=ring_list(R); 5840 5840 int i,de,ii; 5841 5841 intvec vv=1:n; … … 6374 6374 int j; 6375 6375 def P0 = basering; 6376 list Pl=ring list(P0);6376 list Pl=ring_list(P0); 6377 6377 intvec dp_w; 6378 6378 for(j=nvars(P0);j>0;j--) {dp_w[j]=1;} … … 6749 6749 //change the ring 6750 6750 { 6751 def gnir1=ring(ring list(basering));6751 def gnir1=ring(ring_list(basering)); 6752 6752 setring gnir1; 6753 6753 ideal @j = fetch(@P, I); … … 6758 6758 @va = string(maxideal(1)); 6759 6759 6760 ring gnir1 = create_ring(ring list(basering)[1],"(" + indep[@m][1] + ")","(" + indep[@m][2] + ")","no_minpoly");6760 ring gnir1 = create_ring(ring_list(basering)[1],"(" + indep[@m][1] + ")","(" + indep[@m][2] + ")","no_minpoly"); 6761 6761 execute("map phi = @P," + @va + ";"); 6762 6762 ideal @j = groebner(phi(I)); … … 7319 7319 string(timer-time)); 7320 7320 //---------------- compute characteristic polynomial of matrix -------------- 7321 ring P1 = create_ring(ring list(R)[1],"T","dp","no_minpoly");7321 ring P1 = create_ring(ring_list(R)[1],"T","dp","no_minpoly"); 7322 7322 matrix n=imap(R,n); 7323 7323 time = timer; … … 7349 7349 //Hence it is better to simultaneously reduce with I. For this we need a new 7350 7350 //ring. 7351 ring P = create_ring(ring list(R)[1],"(T,"+varstr(R)+")","(dp(1),dp)","no_minpoly");7351 ring P = create_ring(ring_list(R)[1],"(T,"+varstr(R)+")","(dp(1),dp)","no_minpoly"); 7352 7352 list rfac=imap(P1,fac); 7353 7353 intvec ov=option(get);; … … 7646 7646 newva[size(newva)]=")"; 7647 7647 newma[size(newma)]=";"; 7648 ring @deirf = create_ring(ring list(gnir)[1],"("+newva,"lp","no_minpoly");7648 ring @deirf = create_ring(ring_list(gnir)[1],"("+newva,"lp","no_minpoly"); 7649 7649 execute("map @kappa=gnir,"+newma); 7650 7650 ideal @j= @kappa(@j); … … 7846 7846 7847 7847 ideal jkeep=@j; 7848 if((ordstr(@P)[1]=="w")&&(size(ring list(@P)[3])==2)) // weighted ordering7849 { 7850 def @Phelp=ring(ring list(gnir));7848 if((ordstr(@P)[1]=="w")&&(size(ring_list(@P)[3])==2)) // weighted ordering 7849 { 7850 def @Phelp=ring(ring_list(gnir)); 7851 7851 setring @Phelp; 7852 7852 } … … 8029 8029 //change the ring 8030 8030 { 8031 def gnir1=ring(ring list(basering));8031 def gnir1=ring(ring_list(basering)); 8032 8032 setring gnir1; 8033 8033 ideal @j=fetch(gnir,jkeep); … … 8037 8037 { 8038 8038 @va=string(maxideal(1)); 8039 ring gnir1 = create_ring(ring list(basering)[1],"(" +restindep[@m][1]+")","(" +restindep[@m][2]+")","no_minpoly");8039 ring gnir1 = create_ring(ring_list(basering)[1],"(" +restindep[@m][1]+")","(" +restindep[@m][2]+")","no_minpoly"); 8040 8040 execute("map phi=gnir,"+@va+";"); 8041 8041 op=option(get); … … 8365 8365 //change the ring 8366 8366 { 8367 def gnir1=ring(ring list(basering));8367 def gnir1=ring(ring_list(basering)); 8368 8368 setring gnir1; 8369 8369 ideal @j = fetch(gnir, @j); … … 8380 8380 //} 8381 8381 //======================= 8382 ring gnir1 = create_ring(ring list(basering)[1],"("+indepInfo[1]+")","(" +indepInfo[2]+")","no_minpoly");8382 ring gnir1 = create_ring(ring_list(basering)[1],"("+indepInfo[1]+")","(" +indepInfo[2]+")","no_minpoly"); 8383 8383 execute("map phi=gnir,"+@va+";"); 8384 8384 op=option(get);
Note: See TracChangeset
for help on using the changeset viewer.