Changeset 4f7a0a in git
- Timestamp:
- Apr 29, 2005, 3:23:25 PM (18 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- 5d18863ceeaf8ac10b1f601856fd5a94a7df3246
- Parents:
- 3b00f26591becd6d3549521aff441624b708fa57
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/normal.lib
r3b00f2 r4f7a0a 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: normal.lib,v 1.4 1 2005-01-04 10:38:34Singular Exp $";2 version="$Id: normal.lib,v 1.42 2005-04-29 13:23:25 Singular Exp $"; 3 3 category="Commutative Algebra"; 4 4 info=" … … 13 13 HomJJ(L); presentation of End_R(J) as affine ring, L a list 14 14 genus(I); computes genus of the projective curve defined by I 15 primeClosure(L); integral closure of R/p (p prime), L a list 16 closureFrac(L) write poly in integral closure as element of Quot(R/p) 15 17 16 18 AUXILIARY PROCEDURE: … … 27 29 LIB "ring.lib"; 28 30 LIB "hnoether.lib"; 31 LIB "reesclos.lib"; 29 32 /////////////////////////////////////////////////////////////////////////////// 30 33 … … 2165 2168 for (int i=1;i<=n;i++) 2166 2169 { 2170 if (defined(R(i))) { 2171 string s="Fixed name R("+string(i)+") leads to conflict with existing " 2172 +"object having this name"; 2173 ERROR(s); 2174 } 2167 2175 def R(i)=L[i]; 2168 keepring (R(i));2176 export R(i); 2169 2177 } 2170 2178 … … 2180 2188 R(1); 2181 2189 R(4); 2190 kill R(1),R(2),R(3),R(4); 2182 2191 } 2183 2192 … … 2199 2208 string mapstr; 2200 2209 2201 closureRingtower(L); // The rings of L get names R[1],...,R[n]2210 for (int i=1;i<=n;i++) { def R(i)=L[i]; } 2202 2211 2203 2212 // The quotient representing f is computed as in 'closureGenerators' with … … 2301 2310 ring R=0,(x,y),dp; 2302 2311 ideal ker=x2+y2; 2303 export R;2312 export ker; 2304 2313 list L=primeClosure(R); // We normalize R/ker 2305 closureRingtower(L); // Now R/ker=R(1) with normalization R(2)2314 for (int i=1;i<=size(L);i++) { def R(i)=L[i]; } 2306 2315 setring R(2); 2307 2316 kill(R); 2308 2317 phi; // The map R(1)-->R(2) 2309 poly f=T(1)*T(2); // We will get a representation of f 2310 export R(2); 2318 poly f=T(2); // We will get a representation of f 2319 export f; 2320 L[2]=R(2); 2311 2321 closureFrac(L); 2312 2322 setring R(1); 2313 kill (R(2));2323 kill R(2); 2314 2324 fraction; // f=fraction[1]/fraction[2] via phi 2325 kill R(1); 2315 2326 } 2316 2327 … … 2335 2346 string mapstr; 2336 2347 2337 closureRingtower(L); // ...and the rings R(1),...,R(n) out of L.2348 for (int i=1;i<=n;i++) { def R(i)=L[i]; } 2338 2349 2339 2350 // For each variable (counter j) and for each intermediate ring (counter k):
Note: See TracChangeset
for help on using the changeset viewer.