Changeset 3625cb in git
 Timestamp:
 Nov 15, 2013, 11:51:17 AM (9 years ago)
 Branches:
 (u'jengelhdatetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', '48f1dd268d0ff74ef2f7dccbf02545425002ddcc')
 Children:
 5313c099cf9db0abd520c21bc971ae22d8b655fd
 Parents:
 6416f83bfe7f396c6c5f1abec8092f44815d0a8f
 gitauthor:
 Hans Schoenemann <hannes@mathematik.unikl.de>20131115 11:51:17+01:00
 gitcommitter:
 Hans Schoenemann <hannes@mathematik.unikl.de>20131115 14:27:17+01:00
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

Singular/LIB/modstd.lib
r6416f83 r3625cb 731 731 } 732 732 733 static proc algeModStd(ideal i,list #) 734 { 735 //reduces modStd over algebraic extensions to the one over a polynomial ring 736 list L=#; 737 def R=basering; 738 int n=nvars(R); 739 list rl=ringlist(R); 740 poly p=minpoly; 741 rl[2][n+1]=rl[1][2][1]; 742 rl[1]=rl[1][1]; 743 rl[3][size(rl[3])+1]=rl[3][size(rl[3])]; 744 rl[3][size(rl[3])1]=list("dp",1); 745 def S=ring(rl); 746 setring S; 747 poly p=imap(R,p); 748 ideal i=imap(R,i); 749 i=i,p; 750 ideal j=modStd(i,L); 751 if(j[1]==p) 752 { 753 j[1]=0; 754 } 755 j=simplify(j,2); 756 setring R; 757 ideal j=imap(S,j); 758 return(j); 759 } 733 760 ////////////////////////////// main procedures ///////////////////////////////// 734 761 … … 764 791 def R0 = basering; 765 792 list rl = ringlist(R0); 766 if((npars(R0) > 0)  (rl[1] > 0)) 767 { 793 794 int algebraic; 795 if(size(#)>0) 796 { 797 if(#[1]<=0) 798 { 799 algebraic=1; 800 #[1]=#[1]; 801 if(#[1]==0){list LK;#=LK;} 802 } 803 } 804 805 if((npars(R0) > 0)  (rl[1][1] > 0)) 806 { 807 if(npars(R0)==1) 808 { 809 if(minpoly!=0) 810 { 811 list LM=#; 812 if(size(LM)==0){LM[1]=0;} 813 LM[1]=LM[1]; 814 return(algeModStd(I,LM)); 815 } 816 } 817 768 818 ERROR("Characteristic of basering should be zero, basering should 769 819 have no parameters."); … … 1030 1080 } 1031 1081 } 1082 if(algebraic){variant=2;} 1032 1083 1033 1084 list P,T1,T2,T3,LL;
Note: See TracChangeset
for help on using the changeset viewer.