1 | /////////////////////////////////////////////////////////////////////////////// |
---|
2 | version="$Id: spectrum.lib,v 1.12 2001-02-02 16:21:37 mschulze Exp $"; |
---|
3 | category="Singularities"; |
---|
4 | info=" |
---|
5 | LIBRARY: spectrum.lib Singularity Spectrum for Nondegenerate Singularities |
---|
6 | AUTHOR: S. Endrass |
---|
7 | |
---|
8 | PROCEDURES: |
---|
9 | spectrumnd(poly[,1]); spectrum of a nondegenerate isolated singularity |
---|
10 | semicont(s1,s2[,1]); tests if s2 is semicontinous for s1 |
---|
11 | semicontqh(s1,s2); semicontinuity test using open and half open intervals |
---|
12 | spadd(s1,s2); sum of two spectra s1 and s2 |
---|
13 | spmul(s,k); product of spectrum s with integer k |
---|
14 | "; |
---|
15 | |
---|
16 | /////////////////////////////////////////////////////////////////////////////// |
---|
17 | |
---|
18 | proc spectrumnd (poly f, list #) |
---|
19 | "USAGE: spectrumnd(f[,1]); f poly |
---|
20 | ASSUME: f has nondegenerate principal part |
---|
21 | RETURN: a list containing the spectrum of f |
---|
22 | NOTE if a second argument 1 is given, |
---|
23 | no test for a degenerate principal part will be done |
---|
24 | EXAMPLE: example spectrumnd; shows examples |
---|
25 | " |
---|
26 | { |
---|
27 | if(size(#)==0) |
---|
28 | { return(system("spectrum",f)); } |
---|
29 | return (system("spectrum",f,#[1])); |
---|
30 | } |
---|
31 | example |
---|
32 | { "EXAMPLE:"; echo = 2; |
---|
33 | ring r=0,(x,y),ds; |
---|
34 | poly f=x^31+x^6*y^7+x^2*y^12+x^13*y^2+y^29; |
---|
35 | spectrumnd(f); |
---|
36 | } |
---|
37 | /////////////////////////////////////////////////////////////////////////////// |
---|
38 | |
---|
39 | proc semicont (list s, list ss, list #) |
---|
40 | "USAGE: semicont(s,ss[,1]); s, ss list |
---|
41 | RETURN: 1 if ss is semicontinous for s using half open intervals, 0 otherwise |
---|
42 | NOTE: if a third argument 1 is given, open intervals are used |
---|
43 | EXAMPLE: example semicont; shows examples |
---|
44 | " |
---|
45 | { |
---|
46 | if(size(#)==0) |
---|
47 | { return(system("semic",s,ss)); } |
---|
48 | return (system("semic",s,ss,#[1])); |
---|
49 | } |
---|
50 | example |
---|
51 | { "EXAMPLE:"; echo = 2; |
---|
52 | } |
---|
53 | /////////////////////////////////////////////////////////////////////////////// |
---|
54 | proc semicontsqh (list s, list ss) |
---|
55 | "USAGE: semicontsqh(s,ss); s, ss list |
---|
56 | RETURN: 1 if ss is semicontinous for s using open and half open intervals, |
---|
57 | 0 otherwise |
---|
58 | EXAMPLE: example semicontsqh; shows examples |
---|
59 | " |
---|
60 | { |
---|
61 | return (system("semic",s,ss,1)); |
---|
62 | } |
---|
63 | example |
---|
64 | { "EXAMPLE:"; echo = 2; |
---|
65 | } |
---|
66 | /////////////////////////////////////////////////////////////////////////////// |
---|
67 | proc spadd (list s1, list s2) |
---|
68 | "USAGE: spadd(s1,s2); s1, s2 list |
---|
69 | RETURN: a list containing the sum of the two spectra s1 and s2 |
---|
70 | EXAMPLE: example spadd; shows examples |
---|
71 | " |
---|
72 | { |
---|
73 | return (system("spadd",s1,s2)); |
---|
74 | } |
---|
75 | example |
---|
76 | { "EXAMPLE:"; echo = 2; |
---|
77 | } |
---|
78 | /////////////////////////////////////////////////////////////////////////////// |
---|
79 | proc spmul (list s, int k) |
---|
80 | "USAGE: spmul(s,k); s list, k int |
---|
81 | RETURN: a list containing the product of the spectrum s with the integer k |
---|
82 | EXAMPLE: example spmul; shows examples |
---|
83 | " |
---|
84 | { |
---|
85 | return (system("spmul",s,k)); |
---|
86 | } |
---|
87 | example |
---|
88 | { "EXAMPLE:"; echo = 2; |
---|
89 | } |
---|
90 | /////////////////////////////////////////////////////////////////////////////// |
---|