Changeset 51534b6 in git
- Timestamp:
- Jan 22, 2002, 12:18:28 PM (22 years ago)
- Branches:
- (u'spielwiese', 'e7cc1ebecb61be8b9ca6c18016352af89940b21a')
- Children:
- ddb18ba0330724c7ea767a4c646a66e5b1e8399f
- Parents:
- 4d97ce4808e8a46aa628bb52456558bf2b489d33
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/gaussman.lib
r4d97ce4 r51534b6 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: gaussman.lib,v 1.6 0 2002-01-16 13:16:17mschulze Exp $";2 version="$Id: gaussman.lib,v 1.61 2002-01-22 11:18:28 mschulze Exp $"; 3 3 category="Singularities"; 4 4 … … 385 385 { 386 386 def R=basering; 387 ring S=0,s,ds;387 ring T=0,s,ds; 388 388 module U=imap(R,U); 389 389 module H=imap(R,H); … … 392 392 degBound=0; 393 393 setring(R); 394 return(imap( S,H));394 return(imap(T,H)); 395 395 } 396 396 /////////////////////////////////////////////////////////////////////////////// … … 574 574 A,A0,r,H0,U0,e,m=transf(A,A0,r,H,H0,e,m,k0,k1,0,0); 575 575 576 list l=jordan(A,e,m); 576 577 setring(R); 577 return(jordan(imap(G,A),imap(G,e),m)); 578 list l=imap(G,l); 579 kill G,gmsmaxweight; 580 581 return(l); 578 582 } 579 583 example … … 901 905 module v=simplify(jet(H*U0*H0,2*k0)/s^(2*k0),1); 902 906 907 kill l; 908 list l=sppnf(a,w,v)+list(gmsbasis,gmsstd); 903 909 setring(R); 904 ideal g=imap(G,gmsstd); 905 attrib(g,"isSB",1); 906 return(sppnf(imap(G,a),w,imap(G,v))+list(imap(G,gmsbasis),g)); 910 list l=imap(G,l); 911 kill G,gmsmaxweight; 912 attrib(l[5],"isSB",1); 913 914 return(l); 907 915 } 908 916 example … … 961 969 A,A0,r,H0,U0,e,m=transf(A,A0,r,H,H0,e,m,k0,k1,k0+k1,k0+k1); 962 970 971 ring S=0,s,(ds,c); 972 matrix A=imap(G,A); 973 module H0=imap(G,H0); 974 ideal e=imap(G,e); 975 kill G,gmsmaxweight; 976 963 977 dbprint(printlevel-voice+2,"// transform to Jordan basis"); 964 978 module U=jordanbasis(A,e,m)[1]; 965 979 matrix V=inverse(U); 966 980 A=V*A*U; 967 H=V*H0;981 module H=V*H0; 968 982 969 983 dbprint(printlevel-voice+2,"// compute splitting of V-filtration"); … … 972 986 V=matrix(0,mu,mu); 973 987 matrix v[mu^2][1]; 974 A0=commutator(jet(A,0));988 matrix A0=commutator(jet(A,0)); 975 989 for(k=1;k<=k0+k1;k++) 976 990 { … … 995 1009 { 996 1010 i0=leadexp(H1[k])[nvars(basering)+1]; 997 j0=ord(H1[k]) /deg(s);1011 j0=ord(H1[k]);//deg(s); 998 1012 H0[k]=lead(H1[k]); 999 1013 H1[k]=H1[k]-lead(H1[k]); … … 1001 1015 { 1002 1016 i=leadexp(H1[k])[nvars(basering)+1]; 1003 j=ord(H1[k]) /deg(s);1017 j=ord(H1[k]);//deg(s); 1004 1018 while(A[i,i]+j==A[i0,i0]+j0) 1005 1019 { … … 1007 1021 H1[k]=H1[k]-lead(H1[k]); 1008 1022 i=leadexp(H1[k])[nvars(basering)+1]; 1009 j=ord(H1[k]) /deg(s);1023 j=ord(H1[k]);//deg(s); 1010 1024 } 1011 1025 } … … 1059 1073 I=list(); 1060 1074 I0=module(); 1061 U0=std(0);1075 module U0=std(0); 1062 1076 for(i=size(F);i>=1;i--) 1063 1077 { … … 1089 1103 1090 1104 dbprint(printlevel-voice+2,"// compute reduced standard basis of H''"); 1091 ring S=0,s,ds; 1092 module H=imap(G,H); 1093 degBound=k0+k1+1; 1105 degBound=k0+k1+2; 1094 1106 option("redSB"); 1095 1096 1107 H=std(H); 1097 1108 option("noredSB"); 1098 1109 degBound=0; 1099 1110 H=simplify(jet(H,k0+k1),1); 1100 setring(G);1101 H=imap(S,H);1102 1111 1103 1112 dbprint(printlevel-voice+2,"// compute matrix A0+sA1 of t"); … … 1107 1116 1108 1117 setring(R); 1109 return(list(imap(G,A0),imap(G,A))); 1118 matrix A0=imap(S,A0); 1119 matrix A1=imap(S,A); 1120 kill S; 1121 return(list(A0,A1)); 1110 1122 } 1111 1123 example
Note: See TracChangeset
for help on using the changeset viewer.