Changeset 3625cb in git
- Timestamp:
- Nov 15, 2013, 11:51:17 AM (9 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'ad2543eab51733612ba7d118afc77edca719600e')
- Children:
- 5313c099cf9db0abd520c21bc971ae22d8b655fd
- Parents:
- 6416f83bfe7f396c6c5f1abec8092f44815d0a8f
- git-author:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2013-11-15 11:51:17+01:00
- git-committer:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2013-11-15 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.