Changeset 61dadae in git
- Timestamp:
- Dec 4, 2000, 2:48:43 PM (23 years ago)
- Branches:
- (u'spielwiese', '828514cf6e480e4bafc26df99217bf2a1ed1ef45')
- Children:
- b89cf5dc60a6d0fcab40ce5443e3cdb2001c8c7e
- Parents:
- 5c8c19056d07b66b391e75ff3ed5f2a0fefb4faf
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/gaussman.lib
r5c8c19 r61dadae 1 1 /////////////////////////////////////////////////////////////////////////////// 2 2 3 version="$Id: gaussman.lib,v 1. 8 2000-11-10 10:29:47mschulze Exp $";3 version="$Id: gaussman.lib,v 1.9 2000-12-04 13:48:43 mschulze Exp $"; 4 4 info=" 5 5 LIBRARY: gaussman.lib GAUSS-MANIN CONNECTION OF A SINGULARITY 6 6 7 AUTHOR: Mathias Schulze (mschulze@mathematik.uni-kl.de) 8 9 OVERVIEW: 10 A library to compute invariants related to the Gauss-Manin connection 11 of an isolated hypersurface singularity 7 AUTHOR: Mathias Schulze, email: mschulze@mathematik.uni-kl.de 12 8 13 9 PROCEDURES: 14 monomat : monodromy matrix 15 monospec : spectrum of monodromy 16 vfilt : V-filtration on H''/H' 17 singspec : singularity spectrum 18 vjacob : V-filtration on Jacobian algebra 10 monomat monodromy matrix 11 monospec spectrum of monodromy 12 vfilt V-filtration on H''/H' 13 singspec singularity spectrum 14 vjacob V-filtration on Jacobian algebra 15 gamma Hertling's gamma invariant 16 gamma4 Hertling's gamma4 invariant 19 17 "; 20 18 … … 139 137 proc monomat(poly f,list #) 140 138 "USAGE: <matrix> M=monomat(<poly> f); 141 ASSUME: f defines an isolated hypersurface singularity142 139 RETURN: exp(-2*pi*i*M) is a monodromy matrix 140 NOTE: f isolated singularity 143 141 EXAMPLE: example monomat; shows an example 144 142 " … … 191 189 192 190 dbprint(printlevel-voice+2,"//gaussman::monomat: compute C"); 193 C=coeffs(redNF(w,sJ,U),m );191 C=coeffs(redNF(w,sJ,U),m,product(maxideal(1))); 194 192 A0=A0+C*var(1)^k; 195 193 … … 209 207 else 210 208 { 211 dbprint(printlevel-voice+2,"//gaussman::monomat: basis of saturation"); 209 dbprint(printlevel-voice+2, 210 "//gaussman::monomat: compute basis of saturation"); 212 211 H=minbase(H0); 213 212 int modH=maxorddif(H); … … 219 218 { 220 219 N=k-modH; 221 dbprint(printlevel-voice+2,"//gaussman::monomat: A on saturation"); 220 dbprint(printlevel-voice+2, 221 "//gaussman::monomat: compute A on saturation"); 222 222 l=division(H*var(1),A0*H+var(1)^2*diff(matrix(H),var(1))); 223 223 A=expand(l[1],l[2],N-1); 224 224 if(mide<0) 225 225 { 226 dbprint(printlevel-voice+2,"//gaussman::monomat: eigenvalues e of A"); 226 dbprint(printlevel-voice+2, 227 "//gaussman::monomat: compute eigenvalues e of A"); 227 228 ideal e=jordan(A,-1)[1]; 228 229 dbprint(printlevel-voice+2,"//gaussman::monomat: e="+string(e)); … … 234 235 if(k<K||sdH>0) 235 236 { 236 dbprint(printlevel-voice+2,"//gaussman::monomat: divi sionby J");237 dbprint(printlevel-voice+2,"//gaussman::monomat: divide by J"); 237 238 l=division(J,ideal(matrix(w)-matrix(m)*C*U)); 238 239 D=l[1]; … … 346 347 proc monospec(poly f) 347 348 "USAGE: <matrix> M=monospec(<poly> f); 348 ASSUME: f defines an isolated hypersurface singularity349 349 RETURN: the spectrum of exp(-2*pi*i*M) is the spectrum of monodromy 350 NOTE: f isolated singularity 350 351 EXAMPLE: example monospec; shows an example 351 352 " … … 364 365 proc vfilt(poly f,list #) 365 366 "USAGE: <list> l=vfilt(<poly> f); 366 ASSUME: f defines an isolated hypersurface singularity367 367 RETURN: <ideal> l[1] : spectral numbers in increasing order 368 368 <intvec> l[2] : … … 373 373 <ideal> l[4] : monomial vector space basis of H''/H' 374 374 <ideal> l[5] : standard basis of Jacobian ideal 375 NOTE: f isolated singularity 375 376 EXAMPLE: example vfilt; shows an example 376 377 " … … 417 418 418 419 dbprint(printlevel-voice+2,"//gaussman::vfilt: compute C"); 419 C=coeffs(redNF(w,sJ,U),m );420 C=coeffs(redNF(w,sJ,U),m,product(maxideal(1))); 420 421 A=A+C*var(1)^k; 421 422 … … 435 436 else 436 437 { 437 dbprint(printlevel-voice+2,"//gaussman::vfilt: basis of saturation"); 438 dbprint(printlevel-voice+2, 439 "//gaussman::vfilt: compute basis of saturation"); 438 440 H=minbase(H0); 439 441 int modH=maxorddif(H); … … 452 454 if(k<K||sdH>0) 453 455 { 454 dbprint(printlevel-voice+2,"//gaussman::vfilt: divi sionby J");456 dbprint(printlevel-voice+2,"//gaussman::vfilt: divide by J"); 455 457 l=division(J,ideal(matrix(w)-matrix(m)*C*U)); 456 458 D=l[1]; … … 482 484 H0=expand(l[1],l[2],N-1); 483 485 484 dbprint(printlevel-voice+2,"//gaussman::vfilt: H0 as vector space V0"); 485 dbprint(printlevel-voice+2,"//gaussman::vfilt: H1 as vector space V1"); 486 dbprint(printlevel-voice+2, 487 "//gaussman::vfilt: compute H0 as vector space V0"); 488 dbprint(printlevel-voice+2, 489 "//gaussman::vfilt: compute H1 as vector space V1"); 486 490 poly p; 487 491 int i0,j0,i1,j1; … … 510 514 } 511 515 512 dbprint(printlevel-voice+2,"//gaussman::vfilt: A on saturation");516 dbprint(printlevel-voice+2,"//gaussman::vfilt: compute A on saturation"); 513 517 l=division(H*var(1),A*H+var(1)^2*diff(matrix(H),var(1))); 514 518 A=expand(l[1],l[2],N-1); 515 519 516 dbprint(printlevel-voice+2,"//gaussman::vfilt: matrix M of A");520 dbprint(printlevel-voice+2,"//gaussman::vfilt: compute matrix M of A"); 517 521 matrix M[mu*N][mu*N]; 518 522 for(i0=mu;i0>=1;i0--) … … 540 544 } 541 545 542 dbprint(printlevel-voice+2,"//gaussman::vfilt: eigenvalues eA of A");546 dbprint(printlevel-voice+2,"//gaussman::vfilt: compute eigenvalues eA of A"); 543 547 ideal eA=jordan(A,-1)[1]; 544 548 dbprint(printlevel-voice+2,"//gaussman::vfilt: eA="+string(eA)); 545 549 546 dbprint(printlevel-voice+2,"//gaussman::vfilt: eigenvalues eM of M");550 dbprint(printlevel-voice+2,"//gaussman::vfilt: compute eigenvalues eM of M"); 547 551 ideal eM; 548 552 k=0; … … 572 576 dbprint(printlevel-voice+2,"//gaussman::vfilt: eM="+string(eM)); 573 577 574 dbprint(printlevel-voice+2,"//gaussman::vfilt: V-filtration on H0/H1"); 578 dbprint(printlevel-voice+2, 579 "//gaussman::vfilt: compute V-filtration on H0/H1"); 575 580 ideal s; 576 581 k=0; … … 602 607 } 603 608 604 dbprint(printlevel-voice+2,"//gaussman::vfilt: symmetry index reached");609 dbprint(printlevel-voice+2,"//gaussman::vfilt: symmetry index found"); 605 610 j=k; 606 611 if(number(eM[i])-1==number(n-1)/2) … … 687 692 } 688 693 689 dbprint(printlevel-voice+2,"//gaussman::vfilt: graded parts");694 dbprint(printlevel-voice+2,"//gaussman::vfilt: compute graded parts"); 690 695 option(redSB); 691 696 for(k=1;k<size(v);k++) … … 711 716 proc singspec(poly f) 712 717 "USAGE: <list> l=singspec(<poly> f); 713 ASSUME: f defines an isolated hypersurface singularity714 718 RETURN: <ideal> l[1] : spectral numbers in increasing order 715 719 <intvec> l[2] : 716 720 <int> l[2][i] : multiplicity of spectral number l[1][i] 721 NOTE: f isolated singularity 717 722 EXAMPLE: example singspec; shows an example 718 723 " … … 731 736 proc gamma(list l) 732 737 "USAGE: <number> g=gamma(singspec(<poly> f)); 733 ASSUME: f defines an isolated hypersurface singularity734 738 RETURN: Hertling's gamma invariant 739 NOTE: f defines an isolated singularity 735 740 EXAMPLE: example gamma; shows an example 736 741 " … … 761 766 proc gamma4(list l) 762 767 "USAGE: <number> g4=gamma4(singspec(<poly> f)); 763 ASSUME: f defines an isolated hypersurface singularity 764 RETURN: Hertling's gamma(4) invariant 768 RETURN: Hertling's gamma4 invariant 769 NOTE: f defines an isolated singularity 765 770 EXAMPLE: example gamma4; shows an example 766 771 " … … 792 797 proc vjacob(list l) 793 798 "USAGE: <list> l=vjacob(vfilt(<poly> f)); 794 ASSUME: f defines an isolated hypersurface singularity795 799 RETURN: <ideal> l[1] : spectral numbers of the V-filtration on the 796 800 Jacobian algebra in increasing order … … 803 807 <ideal> l[4] : monomial vector space basis of the Jacobian algebra 804 808 <ideal> l[5] : standard basis of Jacobian ideal 809 NOTE: f defines an isolated singularity 805 810 EXAMPLE: example vjacob; shows an example 806 811 " … … 819 824 for(i=ncols(m);i>=1;i--) 820 825 { 821 M[i]=lift(V,coeffs(redNF(m[i]*m,sJ),m)*V );826 M[i]=lift(V,coeffs(redNF(m[i]*m,sJ),m)*V,product(maxideal(1))); 822 827 } 823 828
Note: See TracChangeset
for help on using the changeset viewer.