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

spielwiese
Last change on this file since 50cbdc was 50cbdc, checked in by Hans Schönemann <hannes@…>, 23 years ago
*hannes: merge-2-0-2 git-svn-id: file:///usr/local/Singular/svn/trunk@5619 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 2.7 KB
RevLine 
[5d32fd]1///////////////////////////////////////////////////////////////////////////////
[50cbdc]2version="$Id: spectrum.lib,v 1.16 2001-08-27 14:48:00 Singular Exp $";
[fd3fb7]3category="Singularities";
[5d32fd]4info="
[8bb77b]5LIBRARY:  spectrum.lib  Singularity Spectrum for Nondegenerate Singularities
6AUTHOR:   S. Endrass
[5d32fd]7
8PROCEDURES:
[93085a]9 spectrumnd(poly f[,1]);  spectrum of nondegenerate isolated singularity f
[5d32fd]10";
11
12///////////////////////////////////////////////////////////////////////////////
13
[93085a]14proc spectrumnd (poly f,list #)
15"USAGE:    spectrumnd(f[,1]); poly f
[50cbdc]16ASSUME:   basering has characteristic 0 and local ordering,
[93085a]17          f has isolated singularity at 0 and nondegenerate principal part
18RETURN:
19@format
20list S:
[8960ec]21  ideal S[1]: spectral numbers in increasing order
[93085a]22  intvec S[2]:
23    int S[2][i]: multiplicity of spectral number S[1][i]
24@end format
[50cbdc]25NOTE:     if a second argument 1 is given,
[93085a]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
[5d32fd]30"
31{
[52af25]32  if(charstr(basering)!="0")
33  {
34    ERROR("characteristic 0 expected");
35  }
[5d32fd]36  if(size(#)==0)
[93085a]37  {
[8960ec]38    list S=system("spectrum",f);
[93085a]39  }
40  else
41  {
[8960ec]42    list S=system("spectrum",f,#[1]);
[93085a]43  }
[8960ec]44  ideal a=number(S[4][1])/S[5][1]-1;
[93085a]45  int i;
[8960ec]46  for(i=S[3];i>1;i--)
[93085a]47  {
[8960ec]48    a[i]=number(S[4][i])/S[5][i]-1;
[93085a]49  }
[8960ec]50  return(list(a,S[6]));
[5d32fd]51}
52example
53{ "EXAMPLE:"; echo = 2;
[8960ec]54  ring R=0,(x,y),ds;
[b554a26]55  poly f=x^31+x^6*y^7+x^2*y^12+x^13*y^2+y^29;
[afa6f2]56  spectrumnd(f);
[5d32fd]57}
58///////////////////////////////////////////////////////////////////////////////
[663eb45]59
[93085a]60proc semicont(list #)
[663eb45]61{
[93085a]62  ERROR("semicont was replaced by spsemicont in gaussman.lib");
[663eb45]63}
64///////////////////////////////////////////////////////////////////////////////
[93085a]65
66proc semicontqh(list #)
[130c85]67{
[93085a]68  ERROR("semicontqh was replaced by spsemicont in gaussman.lib");
[130c85]69}
70///////////////////////////////////////////////////////////////////////////////
[50cbdc]71
72proc spadd(list s1, list s2)
73"USAGE:   spadd(s1,s2); list s1, s2
74RETURN:  a list containing the sum of the two spectra s1 and s2
75EXAMPLE: example spadd; shows an example
76"
77{
78  return (system("spadd",s1,s2));
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;
87  spadd(s1,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.