Changeset 6a0bf0 in git
- Timestamp:
- Aug 5, 2014, 2:23:35 PM (10 years ago)
- Branches:
- (u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
- Children:
- 468a2b59e7c1fc2e01bdad34042ac42460c27299
- Parents:
- 53bb4c6073c677719bb2ec2cff900750e45804edd6d9368ea0fd06d0387039f01a3bafa5e047063f
- Files:
-
- 12 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/algebra.lib
r53bb4c6 r6a0bf0 587 587 L[1] = size(NF(psi(ker),std(0))) == 0; 588 588 } 589 setring bsr; 589 590 if ( defined(pau) != voice ) 590 591 { return (L[1]); -
Singular/LIB/primdec.lib
rd6d936 r6a0bf0 4091 4091 list re=sres(i,0); //the resolution 4092 4092 re=minres(re); //minimized resolution 4093 ideal ann =AnnExt_R(e,re);4094 if (nvars(basering)-dim(std(ann))!=e)4095 { 4096 return( ideal(1));4093 ideal ann = AnnExt_R(e,re); 4094 if ( nvars(basering)-dim(std(ann)) != e ) 4095 { 4096 return( ideal(1) ); 4097 4097 } 4098 4098 return(ann); … … 4103 4103 //computes the annihilator of Ext^n(R/i,R) with given resolution re 4104 4104 //n is not necessarily the number of variables 4105 // !! borrowed correct code from 'ehv.lib::AnnExtEHV' by Kai Dehmann !! duplicate code!! (jk) 4106 4105 4107 static proc AnnExt_R(int n,list re) 4108 "USAGE: AnnExt_R(n,re); n integer, re resolution 4109 RETURN: ideal, the annihilator of Ext^n(R/I,R) with given 4110 resolution re of I 4111 " 4106 4112 { 4107 4113 4108 if(n<nvars(basering)) 4109 { 4110 if(size(re[n+1])>0) 4111 { 4112 matrix f=transpose(re[n+1]); //Hom(_,R) 4113 module k=nres(f,2)[2]; //the kernel 4114 matrix g=transpose(re[n]); //the image of Hom(_,R) 4115 4116 ideal ann=quotient1(g,k); //the anihilator 4117 return(ann); 4118 } 4119 } 4120 // remaining case: re[n+1] is trivial 4121 // either n is at least number of variables or 4122 // resolution happens to be shorter 4123 ideal ann=Ann(transpose(re[n])); 4114 if(n < 0) 4115 { 4116 ideal ann = ideal(1); 4117 return(ann); 4118 } 4119 int l = size(re); 4120 4121 if(n < l) 4122 { 4123 matrix f = transpose(re[n+1]); 4124 if(n == 0) 4125 { 4126 matrix g = 0*gen(ncols(f)); 4127 } 4128 else 4129 { 4130 matrix g = transpose(re[n]); 4131 } 4132 module k = syz(f); 4133 ideal ann = quotient1(g,k); 4134 return(ann); 4135 } 4136 4137 if(n == l) 4138 { 4139 ideal ann = Ann(transpose(re[n])); 4140 return(ann); 4141 } 4142 4143 ideal ann = ideal(1); 4124 4144 return(ann); 4125 4145 } … … 6665 6685 if(homog(i)==1) 6666 6686 { 6667 listre=sres(j,0); //the resolution6687 resolution re=sres(j,0); //the resolution 6668 6688 re=minres(re); //minimized resolution 6669 6689 } … … 6711 6731 ideal j=groebner(i); 6712 6732 int cod=nvars(basering)-dim(j); 6733 6734 6735 if(cod > nvars(basering)) 6736 { 6737 dbprint(printlevel,"//If I is the entire ring..."); 6738 dbprint(printlevel,"//...then return the ideal generated by 1."); 6739 return(ideal(1)); 6740 } 6741 6713 6742 int e; 6714 6743 ideal ann; 6715 6744 if(homog(i)==1) 6716 6745 { 6717 listre=sres(j,0); //the resolution6746 resolution re=sres(j,0); //the resolution 6718 6747 re=minres(re); //minimized resolution 6719 6748 } 6720 6749 else 6721 6750 { 6722 list re=mres(j,0); 6723 } 6724 ann=AnnExt_R(cod,re); 6751 resolution re=mres(j,0); 6752 } 6753 ann = AnnExt_R(cod,re); 6754 if( nvars(basering)-dim(std(ann) ) != cod) 6755 { 6756 return( ideal(1) ); 6757 } 6758 6725 6759 return(ann); 6726 6760 } -
Singular/iparith.cc
rd6d936 r6a0bf0 2991 2991 int i=(int)(long)u->Data(); 2992 2992 int j=(int)(long)v->Data(); 2993 if (j-i <0) {WerrorS("invalid range for random"); return TRUE;} 2993 2994 res->data =(char *)(long)((i > j) ? i : (siRand() % (j-i+1)) + i); 2994 2995 return FALSE; -
Tst/Short.lst
r53bb4c6 r6a0bf0 68 68 Short/bug_613.tst 69 69 Short/bug_632.tst 70 Short/bug_633.tst 70 71 Short/bug_7.tst 71 72 Short/bug_8.tst
Note: See TracChangeset
for help on using the changeset viewer.