Changeset 56b0c8 in git
- Timestamp:
- Mar 8, 2010, 10:39:30 AM (13 years ago)
- Branches:
- (u'spielwiese', '0d6b7fcd9813a1ca1ed4220cfa2b104b97a0a003')
- Children:
- ab76b4b0df4a9c7834ee87f4b78d6bb55b53c887
- Parents:
- 12603fcdf508bfbd1d4ad1125836e1a42d5c77b0
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/surfsig.lib
r12603f r56b0c8 2 2 category="Singularities"; 3 3 info=" 4 LIBRARY: s ignature.libsignature of surface singularity5 AUTHORS: Gerhard Pfister, pfister@mathematik.uni-kl.de6 Muhammad Ahsan ,ahsanbanyamin@gmail.com4 LIBRARY: surfsig.lib signature of surface singularity 5 AUTHORS: Gerhard Pfister, pfister@mathematik.uni-kl.de 6 Muhammad Ahsan Banyamin, ahsanbanyamin@gmail.com 7 7 8 8 OVERVIEW: 9 9 A library for computing the signature of irreducible surface singularity. 10 The library contains also procedure for computing the newton pairs of surface singularity. 11 12 PROCEDURES: 10 It contains also a procedure for computing the newton pairs of a surface 11 singularity. 12 13 THEORY: The signature of a surface singularity is defined in 14 [Durfee,A.:The Signature of Smoothings of Complex Surface 15 Singularities, Math. Ann.,232,85-98 (1978)]. 16 The algorithm we use has been proposed in 17 [Nemethi,A.:The signature of f(x,y)+z^n, Proceedings of Singularity 18 Conference (C.T.C Wall's 60th birthday meeting),Liverpool 1996, 19 London Math.Soc. LN 263(1999),131-149]. 20 21 PROCEDURES: 13 22 brieskornSign(a,b,c); signature of Brieskorn singularity x^a+y^b+z^c=0 14 23 newtonpairs(f); newton pairs of surface singularity 15 24 signature(N,f); signature of singularity z^+f(x,y)=0,f irreducible 16 17 25 "; 18 26 … … 20 28 /////////////////////////////////////////////////////////////////////////////// 21 29 proc signature(int N,poly f) 22 "USAGE:signature(N,f);N=integer,f=irreducible poly in x,y 23 RETURN:signature of surface singularity defined by z^N+f=0 24 EXAMPLE:example signature; shows an example 30 " 31 USAGE: signature(N,f); N=integer, f=irreducible poly in 2 variables 32 RETURN: signature of surface singularity defined by z^N+f=0 33 EXAMPLE: example signature; shows an example 25 34 " 26 35 { 27 36 def R=basering; 28 37 ring S=0,(x,y),dp; 29 map phi =R,x,y; 30 poly f=phi(f); 38 poly f = fetch(R,f); 31 39 list L=newtonpairs(f); 32 40 setring R; … … 43 51 example 44 52 { "EXAMPLE:"; echo = 2; 45 ring r=0,(x,y),dp; 46 int N=2; 47 poly f=y8+2x6y3+x10+x9y; 53 ring r = 0,(x,y),dp; 54 int N = 3; 55 poly f= x15-21x14+8x13y-6x13-16x12y+20x11y2-x12+8x11y-36x10y2 56 +24x9y3+4x9y2-16x8y3+26x7y4-6x6y4+8x5y5+4x3y6-y8; 48 57 signature(N,f); 49 f=y4+2x3y2+x6+x5y; 50 signature(N,f); 51 N=3; 52 f=x15-21x14+8x13y-6x13-16x12y+20x11y2-x12+8x11y-36x10y2+24x9y3+4x9y2-16x8y3+26x7y4-6x6y4+8x5y5+4x3y6-y8; 53 signature(N,f); 54 } 55 58 } 59 60 /////////////////////////////////////////////////////////////////////////// 56 61 proc newtonpairs(poly f) 57 "USAGE: newtonpairs(f);f= irreducible bivariate poly58 RETURN: newton pairs of curve singularity f(x,y)=059 EXAMPLE: example newtonpairs; shows an example62 "USAGE: newtonpairs(f); f= irreducible bivariate poly 63 RETURN: newton pairs of curve singularity f(x,y)=0 64 EXAMPLE: example newtonpairs; shows an example 60 65 " 61 66 { 62 67 def R=basering; 63 68 ring S=0,(x,y),dp; 64 map phi =R,x,y; 65 poly f=phi(f); 69 poly f = fetch(R,f); 66 70 list M=invariants(f); 67 71 setring R; … … 93 97 } 94 98 99 /////////////////////////////////////////////////////////////////////////// 95 100 proc brieskornSign(a,b,c) 96 "USAGE: brieskornSign(a,b,c);a,b,c=integers97 RETURN: signature of Brieskorn singularity x^a+y^b+z^c98 EXAMPLE: example brieskornSign; shows an example101 "USAGE: brieskornSign(a,b,c);a,b,c=integers 102 RETURN: signature of Brieskorn singularity x^a+y^b+z^c 103 EXAMPLE: example brieskornSign; shows an example 99 104 " 100 105 { … … 117 122 brieskornSign(11,3,5); 118 123 } 119 124 /////////////////////////////////////////////////////////////////////////// 120 125 static proc signsin(number n) 121 "USAGE: signsin(n);n=number122 RETURN: the signature of value of sine corresponding to n123 EXAMPLE: example signSin; shows an example126 "USAGE: signsin(n); n=number 127 RETURN: the sign of sin(n) (sin(n) = the value of the sine of n) 128 EXAMPLE: example signSin; shows an example 124 129 " 125 130 { … … 143 148 signsin(11/3); 144 149 } 145 150 /////////////////////////////////////////////////////////////////////////// 146 151 static proc split1(number n) 147 "USAGE: split1(n);n=number148 RETURN: integral and fractional parts of number n149 EXAMPLE: example split1; shows an example152 "USAGE: split1(n); n=number 153 RETURN: integral and fractional parts of number n 154 EXAMPLE: example split1; shows an example 150 155 " 151 156 { … … 168 173 split1(11/3); 169 174 } 170 175 /////////////////////////////////////////////////////////////////////////// 171 176 static proc sin( int n) 172 "USAGE: sin(n);n=integer173 RETURN: approximate value of sine by using maclaurin series corresponding to n174 EXAMPLE: example sin; shows an example177 "USAGE: sin(n); n=integer 178 RETURN: approximate value of the sine of n by using maclaurin series 179 EXAMPLE: example sin; shows an example 175 180 " 176 181 { … … 182 187 for(i=1;i<=n;i=i+2) 183 188 { 184 f=f+(-1)^z*x^i/factorial(i ,0) ;189 f=f+(-1)^z*x^i/factorial(i) ; 185 190 z++; 186 191 } … … 195 200 sin(10); 196 201 } 197 202 /////////////////////////////////////////////////////////////////////////// 198 203 static proc cos(int n) 199 "USAGE: cos(n);n=integer200 RETURN: approximate value of cosine by using maclaurin series corresponding to n201 EXAMPLE: example cos; shows an example204 "USAGE: cos(n); n=integer 205 RETURN: approximate value of the cosine of n by using maclaurin series 206 EXAMPLE: example cos; shows an example 202 207 " 203 208 { … … 209 214 for(i=0;i<=n;i=i+2) 210 215 { 211 f=f+(-1)^z*x^i/factorial(i,0); 212 z++; 216 // f=f+(-1)^z*x^i/factorial(i,0); 217 f=f+(-1)^z*x^i/factorial(i) ; 218 z++; 213 219 } 214 220 setring R; … … 222 228 cos(10); 223 229 } 224 230 /////////////////////////////////////////////////////////////////////////// 225 231 static proc signcos(number n) 226 "USAGE: signcos(n);n=number227 RETURN: the signature of value of cosine corresponding to n228 EXAMPLE: example signcos; shows an example232 "USAGE: signcos(n); n=number 233 RETURN: the sign of cosin(n) (cosin(n) = the value of the cosine of n) 234 EXAMPLE: example signcos; shows an example 229 235 " 230 236 { … … 248 254 signcos(11/3); 249 255 } 250 256 /////////////////////////////////////////////////////////////////////////// 251 257 static proc signa( number u) 252 "USAGE: signa(u);u=number253 RETURN: the signa of a number254 EXAMPLE: example signa; shows an example258 "USAGE: signa(u); u=number 259 RETURN: the signa of a number 260 EXAMPLE: example signa; shows an example 255 261 " 256 262 { … … 268 274 signa(11/3); 269 275 } 270 276 /////////////////////////////////////////////////////////////////////////// 271 277 static proc prods(list L) 272 "USAGE: product(L);L=list of intvec273 RETURN: product of first components of Newton pairs in L274 EXAMPLE: example product; shows an example278 "USAGE: product(L); L=list of intvec 279 RETURN: product of first components of Newton pairs in L 280 EXAMPLE: example product; shows an example 275 281 " 276 282 { … … 288 294 prods(L); 289 295 } 290 296 /////////////////////////////////////////////////////////////////////////// 291 297 static proc Generalcase(int N, list L) 292 "USAGE: Generalcase(N,f);N=integer,list L of intvec293 RETURN: signature of surface singularity with Newton pairs in L294 ASSUME: number of newton pairs greater than 2295 EXAMPLE: example Generalcase; shows an example298 "USAGE: Generalcase(N,f);N=integer,list L of intvec 299 RETURN: signature of surface singularity with Newton pairs in L 300 ASSUME: number of newton pairs greater than 2 301 EXAMPLE: example Generalcase; shows an example 296 302 " 297 303 { … … 339 345 list L=intvec(2,3),intvec(2,1),intvec(2,1); 340 346 Generalcase(N,L); 341 342 } 343 347 } 348 /////////////////////////////////////////////////////////////////////////// 344 349 static proc signtwopairs(int N,list L) 345 "USAGE: signtwopairs(N,f);N=integer,L=list of intvec346 RETURN: signature of surface singularity with Newton pairs in L347 ASSUME: number of newton pairs equal to 2348 EXAMPLE: example signtwopairs; shows an example350 "USAGE: signtwopairs(N,f);N=integer,L=list of intvec 351 RETURN: signature of surface singularity with Newton pairs in L 352 ASSUME: number of newton pairs equal to 2 353 EXAMPLE: example signtwopairs; shows an example 349 354 " 350 355 { … … 364 369 signtwopairs(N,L); 365 370 } 366 371 /////////////////////////////////////////////////////////////////////////// 367 372 static proc DedekindSum(number b, number c, int a) 368 373 { … … 380 385 return(s); 381 386 } 382 387 /////////////////////////////////////////////////////////////////////////// 388 389 /* 390 Further examples 391 392 ring r = 0,(x,y),dp; 393 int N; 394 poly f; 395 396 N = 5; 397 poly f= x15-21x14+8x13y-6x13-16x12y+20x11y2-x12+8x11y-36x10y2 //3 characteristic pairs 398 +24x9y3+4x9y2-16x8y3+26x7y4-6x6y4+8x5y5+4x3y6-y8; 399 400 N=6; 401 f= y4+2x3y2+x6+x5y; //2 characteristic pairs 402 403 N=7; 404 f=x5+y11; //1 characteristc pair
Note: See TracChangeset
for help on using the changeset viewer.