This file is indexed.

/usr/share/singular/LIB/customstd.lib is in singular-data 1:4.1.0-p3+ds-2build1.

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
///////////////////////////////////////////////////////////////////////////////
version="version polymake.lib 4.0.3.3 Aug_2016 ";
category = "Commutative Algebra";
info="
LIBRARY:  customstd.lib   Load customstd.so

AUTHORS:  Hans Schoenemann, hannes at mathematik.uni-kl.de
          Yue Ren, ren at mathematik.uni-kl.de

OVERVIEW:
This library offers customly modified standard bases algorithms
in order to increase the performance of other algorithms.
If you require a customly modified standard bases algorithm,
please contact the authors.

PROCEDURES:

monomialabortstd(ideal);
satstd(ideal, [...]);
";

///////////////////////////////////////////////////////////////////////////////
proc monomialabortstd()
"USAGE:   monomialabortstd(I); I ideal
PURPOSE: computes a standard basis and aborts if a monomial generator is found.
         Returns all standard basis elements that have been computed.
NOTE:    Due to sequencing of the standard basis computation:
         - If aborted, there is no guarantee that the monomial is the final
           standard bases element
         - If ideal has a monomial generator, there is no guarantee that the
           computation aborts because of it
KEYWORDS: standard bases.
EXAMPLE: example monomialabortstd; shows an example
"
{
}
example
{ "EXAMPLE:"; echo=2;
  LIB "poly.lib";
  ring r = 0,(x,y,z,u,v),dp;
  // yields normal standard basis since no monomial is found
  ideal I = homog(cyclic(4),v);
  monomialabortstd(I);
  // will not start standard basis computation in the first place,
  // as one of the generators is a monomial
  I = v,homog(cyclic(4),v);
  monomialabortstd(I);
  // aborts standard basis computation when it encounters monomial u
  // note that u is not the final element in the standard basis!!!
  I = x+y+z,homog(cyclic(4),v);
  monomialabortstd(I);
  // aborts standard basis computation when it encounters monomial z2
  // note that it is not the monomial generator x which lead to the abortion!!!
  I = x,homog(cyclic(4),v);
  monomialabortstd(I);
}

proc satstd()
"USAGE:   satstd(I[,J]); I ideal, J optional ideal
ASSUME:  J generated by variables
PURPOSE: computes a standard basis of I and, if possible,
         divides each polynomial during the computation by the variables in J.
         By default, J is assumed to be the ideal generated by all variables.
NOTE:    Even if I contains a monomial generated by the variables in J,
         there is no guarantee that it is found during the computation.
         If it is found, however, 1 is immediately returned.
KEYWORDS: standard bases.
EXAMPLE: example satstd; shows an example
"
{
}
example
{ "EXAMPLE:"; echo=2;
  ring r = 0,(x,y,z,u,v),dp;
  ideal I = x2+x,y2+y,z2+z;
  // returns normal standard basis, no changes during (trivial) computation
  satstd(I,ideal(u,v));
  // returns x+1 instead of x2+x
  satstd(I,ideal(x));
  // returns standard basis with elements of degree up to 8 (instead of 16)
  deg(satstd(I^8));
}

static proc mod_init()
{
  intvec save=option(get);
  option(noredefine);
  LIB "customstd.so";
  option(set,save);
}