/usr/share/singular/LIB/spectrum.lib is in singular-data 4.0.3+ds-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | ////////////////////////////////////////////////////////////////////////////
version="version spectrum.lib 4.0.0.0 Jun_2013 "; // $Id: f3e0a4f4c041175ac3b07f429fc854f78ecb0cde $
category="Singularities";
info="
LIBRARY: spectrum.lib Singularity Spectrum for Nondegenerate Singularities
AUTHOR: S. Endrass
PROCEDURES:
spectrumnd(poly f[,1]); spectrum of nondegenerate isolated singularity f
";
///////////////////////////////////////////////////////////////////////////////
proc spectrumnd (poly f,list #)
"USAGE: spectrumnd(f[,1]); poly f
ASSUME: basering has characteristic 0 and local ordering,
f has isolated singularity at 0 and nondegenerate principal part
RETURN:
@format
list S:
ideal S[1]: spectral numbers in increasing order
intvec S[2]:
int S[2][i]: multiplicity of spectral number S[1][i]
@end format
NOTE: if a second argument 1 is given,
no test for a degenerate principal part will be done
SEE_ALSO: gmssing_lib
KEYWORDS: singularities; Gauss-Manin connection; spectrum
EXAMPLE: example spectrumnd; shows an example
"
{
if(charstr(basering)!="0")
{
ERROR("characteristic 0 expected");
}
if(size(#)==0)
{
list S=system("spectrum",f);
}
else
{
list S=system("spectrum",f,#[1]);
}
ideal a=number(S[4][1])/S[5][1]-1;
int i;
for(i=S[3];i>1;i--)
{
a[i]=number(S[4][i])/S[5][i]-1;
}
return(list(a,S[6]));
}
example
{ "EXAMPLE:"; echo = 2;
ring R=0,(x,y),ds;
poly f=x^31+x^6*y^7+x^2*y^12+x^13*y^2+y^29;
list s=spectrumnd(f);
size(s[1]);
s[1][22];
s[2][22];
}
///////////////////////////////////////////////////////////////////////////////
|