Changeset 0be039 in git for Singular/LIB/fpaprops.lib
- Timestamp:
- Mar 16, 2018, 6:27:45 PM (6 years ago)
- Branches:
- (u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
- Children:
- 52ac0882b123798821765bb16d5ba4b371ced4cd
- Parents:
- 95a42a2dacdcadb5c004cb3520b5c252dfe8e784df09c0184ffc4aaf31c02b8691e68734f25fc3b3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/fpaprops.lib
rdf09c0 r0be039 19 19 PROCEDURES: 20 20 lpNoetherian(<GB>); check whether A/<GB> is (left/right) noetherian 21 lpIsSemiPrime(<GB>); check whether A/< GB> is semi prime22 lpIsPrime(<GB>); check whether A/< GB> is prime21 lpIsSemiPrime(<GB>); check whether A/<LM(GB)> is semi prime 22 lpIsPrime(<GB>); check whether A/<LM(GB)> is prime 23 23 lpGkDim(<GB>); compute the Gelfand Kirillov dimension of A/<GB> 24 24 lpGlDimBound(<GB>); compute an upper bound for the global dimension of A/<GB> … … 37 37 @* 2 right noetherian 38 38 @* 3 noetherian 39 PURPOSE: Check whether R/<G> is (left/right) noetherian, where R is the basering39 PURPOSE: Check whether A/<G> is (left/right) noetherian 40 40 ASSUME: - basering is a Letterplace ring 41 41 @* - G is a Groebner basis … … 108 108 return (3 - inFlag - outFlag); 109 109 } 110 example { 110 example 111 { 111 112 "EXAMPLE:"; echo = 2; 112 113 ring r = 0,(x,y),dp; … … 198 199 "USAGE: lpIsSemiPrime(G); G an ideal in a Letterplace ring 199 200 RETURN: boolean 200 PURPOSE: Check whether R/<G> is semi prime, where R is the basering201 PURPOSE: Check whether A/<LM(G)> is semi prime, that is when p * (A/<LM(G)>) * p != 0 for all p in (A/<LM(G)> - {0}). 201 202 ASSUME: - basering is a Letterplace ring 202 203 - G is a Groebner basis … … 249 250 return (1); 250 251 } 251 example { 252 example 253 { 252 254 "EXAMPLE:"; echo = 2; 253 255 ring r = 0,(x1,x2),dp; … … 298 300 "USAGE: lpIsPrime(G); G an ideal in a Letterplace ring 299 301 RETURN: boolean 300 PURPOSE: Check whether R/<G> is prime, where R is the basering302 PURPOSE: Check whether A/<LM(G)> is prime, that is when p1 * (A/<LM(G)>) * p2 != 0 for all p1, p2 in (A/<LM(G)> - {0}). 301 303 ASSUME: - basering is a Letterplace ring 302 304 - G is a Groebner basis … … 362 364 return (1); 363 365 } 364 example { 366 example 367 { 365 368 "EXAMPLE:"; echo = 2; 366 369 ring r = 0,(x,y),dp; … … 681 684 return (UG); 682 685 } 683 example { 686 example 687 { 684 688 "EXAMPLE:"; echo = 2; 685 689 ring r = 0,(x,y,z),dp; … … 1047 1051 for (int j = 1; j <= size(ivfi); j++) { 1048 1052 int varindex = ivfi[j]; 1049 int subindex = lpIndexOf(s1, var(varindex)); 1050 if (subindex > 0) { 1051 s2[subindex] = lpNF(s2[subindex],G); 1052 fis = lpMult(fis, s2[subindex]); 1053 } else { 1054 fis = lpMult(fis, lpNF(iv2lp(varindex),G)); 1055 } 1056 /*fis = lpNF(fis,G);*/ 1057 kill varindex; kill subindex; 1053 if (varindex > 0) { 1054 int subindex = lpIndexOf(s1, var(varindex)); 1055 if (subindex > 0) { 1056 s2[subindex] = lpNF(s2[subindex],G); 1057 fis = lpMult(fis, s2[subindex]); 1058 } else { 1059 fis = lpMult(fis, lpNF(iv2lp(varindex),G)); 1060 } 1061 /*fis = lpNF(fis,G);*/ 1062 kill subindex; 1063 } 1064 kill varindex; 1058 1065 } kill j; 1059 1066 kill ivfi; … … 1065 1072 return (fs); 1066 1073 } 1067 example { 1074 example 1075 { 1076 "EXAMPLE:"; echo = 2; 1068 1077 //////// EXAMPLE A //////// 1069 1078 ring r = 0,(x,y,z),dp; … … 1144 1153 for (int j = 1; j <= size(ivfi); j++) { 1145 1154 int varindex = ivfi[j]; 1146 int subindex = lpIndexOf(s1, var(varindex)); 1147 if (subindex > 0) { 1148 tmpDegBound = tmpDegBound + deg(s2[subindex]); 1149 } else { 1150 tmpDegBound = tmpDegBound + 1; 1151 } 1152 kill varindex; kill subindex; 1155 if (varindex > 0) { 1156 int subindex = lpIndexOf(s1, var(varindex)); 1157 if (subindex > 0) { 1158 tmpDegBound = tmpDegBound + deg(s2[subindex]); 1159 } else { 1160 tmpDegBound = tmpDegBound + 1; 1161 } 1162 kill subindex; 1163 } 1164 kill varindex; 1153 1165 } kill j; 1154 1166 if (tmpDegBound > maxDegBound) { … … 1160 1172 // increase degbound by 50% when ideal is provided 1161 1173 // needed for lpNF 1162 maxDegBound = maxDegBound + maxDegBound/2;1174 maxDegBound = maxDegBound + (maxDegBound div 2); 1163 1175 1164 1176 return (maxDegBound); 1165 1177 } 1166 example { 1178 example 1179 { 1167 1180 // see lpSubstitute() 1168 1181 } … … 1187 1200 return (maxDegBound); 1188 1201 } 1189 example { 1202 example 1203 { 1190 1204 // see lpSubstitute() 1191 1205 }
Note: See TracChangeset
for help on using the changeset viewer.