Changeset 962b1f in git
- Timestamp:
- Feb 25, 2002, 7:14:54 PM (21 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'f875bbaccd0831e36aaed09ff6adeb3eb45aeb94')
- Children:
- 97403d7b5d41e537394fcbd7c261d7b70302488c
- Parents:
- 8fe22ccc9de914e68da65f1ac8874c938ddd2809
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/gaussman.lib
r8fe22c r962b1f 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: gaussman.lib,v 1. 69 2002-02-21 17:52:23mschulze Exp $";2 version="$Id: gaussman.lib,v 1.70 2002-02-25 18:14:39 mschulze Exp $"; 3 3 category="Singularities"; 4 4 … … 42 42 "; 43 43 44 LIB "linalg .lib";44 LIB "linalg2.lib"; 45 45 46 46 /////////////////////////////////////////////////////////////////////////////// … … 312 312 /////////////////////////////////////////////////////////////////////////////// 313 313 314 static proc liftbound(module U,module H,int k,int K)315 {316 def R=basering;317 ring T=0,s,ds;318 module U=imap(R,U);319 module H=imap(R,H);320 degBound=k+K+1;321 H=jet(lift(U,H),K);322 degBound=0;323 setring(R);324 return(imap(T,H));325 }326 ///////////////////////////////////////////////////////////////////////////////327 328 314 static proc saturate() 329 315 { … … 356 342 357 343 dbprint(printlevel-voice+2,"// transform H'' to saturation of H''"); 358 H0= liftbound(H,freemodule(mu)*s^k,k,k);344 H0=division(freemodule(mu)*s^k,H,k,intvec(1))[1]; 359 345 360 346 return(A0,r,H,H0,k); … … 372 358 373 359 dbprint(printlevel-voice+2,"// transform A to saturation of H''"); 374 matrix A= liftbound(H*s,A0*H+s^2*diff(matrix(H),s),k0+1,K);360 matrix A=division(module(A0*H+s^2*diff(matrix(H),s)),H,K+1,intvec(1))[1]/s; 375 361 376 362 return(A,A0,r); … … 381 367 { 382 368 dbprint(printlevel-voice+2, 383 "// compute eigenvalues e with multiplicities m of A ");369 "// compute eigenvalues e with multiplicities m of A0"); 384 370 matrix A; 385 371 A,A0,r=basisrep(A0,r,H,k0,0); … … 1099 1085 U=matrix(U)+s^k*V; 1100 1086 } 1087 attrib(U,"isSB",1); 1101 1088 1102 1089 dbprint(printlevel-voice+2,"// transform to V-splitting basis"); 1103 1090 A=jet(A,0); 1104 H=std( liftbound(U,H,0,k0+k1));1091 H=std(division(H,U,k0+k1,intvec(1))[1]); 1105 1092 1106 1093 dbprint(printlevel-voice+2,"// compute V-leading terms of H''"); … … 1210 1197 degBound=0; 1211 1198 H=simplify(jet(H,k0+k1),1); 1199 attrib(H,"isSB",1); 1212 1200 1213 1201 dbprint(printlevel-voice+2,"// compute matrix A0+sA1 of t"); 1214 A= liftbound(H,s*A*H+s^2*diff(matrix(H),s),k0+k1,1);1202 A=division(module(s*A*H+s^2*diff(matrix(H),s)),H,1,intvec(1))[1]; 1215 1203 A0=jet(A,0); 1216 1204 A=jet(A,1)/s;
Note: See TracChangeset
for help on using the changeset viewer.