# source:git/Singular/LIB/spectrum.lib@50cbdc

spielwiese
Last change on this file since 50cbdc was 50cbdc, checked in by Hans Schönemann <hannes@…>, 22 years ago
• Property mode set to `100644`
File size: 2.7 KB
Line
1///////////////////////////////////////////////////////////////////////////////
2version="\$Id: spectrum.lib,v 1.16 2001-08-27 14:48:00 Singular Exp \$";
3category="Singularities";
4info="
5LIBRARY:  spectrum.lib  Singularity Spectrum for Nondegenerate Singularities
6AUTHOR:   S. Endrass
7
8PROCEDURES:
9 spectrumnd(poly f[,1]);  spectrum of nondegenerate isolated singularity f
10";
11
12///////////////////////////////////////////////////////////////////////////////
13
14proc spectrumnd (poly f,list #)
15"USAGE:    spectrumnd(f[,1]); poly f
16ASSUME:   basering has characteristic 0 and local ordering,
17          f has isolated singularity at 0 and nondegenerate principal part
18RETURN:
19@format
20list S:
21  ideal S[1]: spectral numbers in increasing order
22  intvec S[2]:
23    int S[2][i]: multiplicity of spectral number S[1][i]
24@end format
25NOTE:     if a second argument 1 is given,
26          no test for a degenerate principal part will be done
27SEE_ALSO: gaussman_lib
28KEYWORDS: singularities; Gauss-Manin connection; spectrum
29EXAMPLE:  example spectrumnd; shows an example
30"
31{
32  if(charstr(basering)!="0")
33  {
34    ERROR("characteristic 0 expected");
35  }
36  if(size(#)==0)
37  {
38    list S=system("spectrum",f);
39  }
40  else
41  {
42    list S=system("spectrum",f,#[1]);
43  }
44  ideal a=number(S[4][1])/S[5][1]-1;
45  int i;
46  for(i=S[3];i>1;i--)
47  {
48    a[i]=number(S[4][i])/S[5][i]-1;
49  }
50  return(list(a,S[6]));
51}
52example
53{ "EXAMPLE:"; echo = 2;
54  ring R=0,(x,y),ds;
55  poly f=x^31+x^6*y^7+x^2*y^12+x^13*y^2+y^29;
56  spectrumnd(f);
57}
58///////////////////////////////////////////////////////////////////////////////
59
60proc semicont(list #)
61{
62  ERROR("semicont was replaced by spsemicont in gaussman.lib");
63}
64///////////////////////////////////////////////////////////////////////////////
65
66proc semicontqh(list #)
67{
68  ERROR("semicontqh was replaced by spsemicont in gaussman.lib");
69}
70///////////////////////////////////////////////////////////////////////////////
71
74RETURN:  a list containing the sum of the two spectra s1 and s2
75EXAMPLE: example spadd; shows an example
76"
77{
79}
80example
81{ "EXAMPLE:"; echo = 2;
82  ring r=0,(x,y),ds;
83  list s1=spectrumnd(x5+x2y2+y5);
84  s1;
85  list s2=spectrumnd(x2+y3);
86  s2;
88}
89///////////////////////////////////////////////////////////////////////////////
90
91proc spmul(list s, int k)
92"USAGE:   spmul(s,k); list s, int k
93RETURN:  a list containing the product of the spectrum s with the integer k
94EXAMPLE: example spmul; shows an example
95"
96{
97  return (system("spmul",s,k));
98}
99example
100{ "EXAMPLE:"; echo = 2;
101  ring r=0,(x,y),ds;
102  list s=spectrumnd(x5+x2y2+y5);
103  s;
104  spmul(s,2);
105>>>>>>> 1.12.2.1
106}
107///////////////////////////////////////////////////////////////////////////////
Note: See TracBrowser for help on using the repository browser.