Typedefs | Functions | Variables
hilb.h File Reference

Go to the source code of this file.

Typedefs

typedef polyrec * poly
 

Functions

intvechHstdSeries (ideal S, intvec *modulweight, intvec *wdegree, ideal Q=NULL, ring tailRing=currRing)
 
intvechFirstSeries (ideal S, intvec *modulweight, ideal Q=NULL, intvec *wdegree=NULL, ring tailRing=currRing)
 
intvechSecondSeries (intvec *hseries1)
 
void hLookSeries (ideal S, intvec *modulweight, ideal Q=NULL, intvec *wdegree=NULL, ring tailRing=currRing)
 

Variables

ring currRing
 Widely used global variable which specifies the current polynomial ring for Singular interpreter and legacy implementatins. : one should avoid using it in newer designs, for example due to possible problems in parallelization with threads. More...
 

Typedef Documentation

§ poly

typedef struct spolyrec * poly

Definition at line 10 of file hilb.h.

Function Documentation

§ hFirstSeries()

intvec* hFirstSeries ( ideal  S,
intvec modulweight,
ideal  Q = NULL,
intvec wdegree = NULL,
ring  tailRing = currRing 
)

Definition at line 1298 of file hilb.cc.

1299 {
1301  if (Q!= NULL) id_TestTail(Q, currRing, tailRing);
1302 
1303  return hSeries(S, modulweight, 1, wdegree, Q, tailRing);
1304 }
#define id_TestTail(A, lR, tR)
Definition: simpleideals.h:79
BEGIN_NAMESPACE_SINGULARXX const ring const ring tailRing
Definition: DebugPrint.h:30
#define Q
Definition: sirandom.c:25
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:10
static intvec * hSeries(ideal S, intvec *modulweight, int, intvec *wdegree, ideal Q, ring tailRing)
Definition: hilb.cc:1135
#define NULL
Definition: omList.c:10

§ hHstdSeries()

intvec* hHstdSeries ( ideal  S,
intvec modulweight,
intvec wdegree,
ideal  Q = NULL,
ring  tailRing = currRing 
)

Definition at line 1291 of file hilb.cc.

1292 {
1294  if (Q!=NULL) id_TestTail(Q, currRing, tailRing);
1295  return hSeries(S, modulweight, 0, wdegree, Q, tailRing);
1296 }
#define id_TestTail(A, lR, tR)
Definition: simpleideals.h:79
BEGIN_NAMESPACE_SINGULARXX const ring const ring tailRing
Definition: DebugPrint.h:30
#define Q
Definition: sirandom.c:25
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:10
static intvec * hSeries(ideal S, intvec *modulweight, int, intvec *wdegree, ideal Q, ring tailRing)
Definition: hilb.cc:1135
#define NULL
Definition: omList.c:10

§ hLookSeries()

void hLookSeries ( ideal  S,
intvec modulweight,
ideal  Q = NULL,
intvec wdegree = NULL,
ring  tailRing = currRing 
)

Definition at line 1377 of file hilb.cc.

1378 {
1380 
1381  intvec *hseries1 = hFirstSeries(S, modulweight, Q, wdegree, tailRing);
1382 
1383  hPrintHilb(hseries1);
1384 
1385  const int l = hseries1->length()-1;
1386 
1387  intvec *hseries2 = (l > 1) ? hSecondSeries(hseries1) : hseries1;
1388 
1389  int co, mu;
1390  hDegreeSeries(hseries1, hseries2, &co, &mu);
1391 
1392  PrintLn();
1393  hPrintHilb(hseries2);
1394  if ((l == 1) &&(mu == 0))
1395  scPrintDegree(rVar(currRing)+1, 0);
1396  else
1397  scPrintDegree(co, mu);
1398  if (l>1)
1399  delete hseries1;
1400  delete hseries2;
1401 }
#define id_TestTail(A, lR, tR)
Definition: simpleideals.h:79
void PrintLn()
Definition: reporter.cc:310
void mu(int **points, int sizePoints)
void scPrintDegree(int co, int mu)
Definition: hdegree.cc:808
BEGIN_NAMESPACE_SINGULARXX const ring const ring tailRing
Definition: DebugPrint.h:30
static short rVar(const ring r)
#define rVar(r) (r->N)
Definition: ring.h:580
void hDegreeSeries(intvec *s1, intvec *s2, int *co, int *mu)
Definition: hilb.cc:1340
#define Q
Definition: sirandom.c:25
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:10
Definition: intvec.h:14
int length() const
Definition: intvec.h:86
intvec * hSecondSeries(intvec *hseries1)
Definition: hilb.cc:1306
intvec * hFirstSeries(ideal S, intvec *modulweight, ideal Q, intvec *wdegree, ring tailRing)
Definition: hilb.cc:1298
int l
Definition: cfEzgcd.cc:94
static void hPrintHilb(intvec *hseries)
Definition: hilb.cc:1357

§ hSecondSeries()

intvec* hSecondSeries ( intvec hseries1)

Definition at line 1306 of file hilb.cc.

1307 {
1308  intvec *work, *hseries2;
1309  int i, j, k, s, t, l;
1310  if (hseries1 == NULL)
1311  return NULL;
1312  work = new intvec(hseries1);
1313  k = l = work->length()-1;
1314  s = 0;
1315  for (i = k-1; i >= 0; i--)
1316  s += (*work)[i];
1317  loop
1318  {
1319  if ((s != 0) || (k == 1))
1320  break;
1321  s = 0;
1322  t = (*work)[k-1];
1323  k--;
1324  for (i = k-1; i >= 0; i--)
1325  {
1326  j = (*work)[i];
1327  (*work)[i] = -t;
1328  s += t;
1329  t += j;
1330  }
1331  }
1332  hseries2 = new intvec(k+1);
1333  for (i = k-1; i >= 0; i--)
1334  (*hseries2)[i] = (*work)[i];
1335  (*hseries2)[k] = (*work)[l];
1336  delete work;
1337  return hseries2;
1338 }
const CanonicalForm int s
Definition: facAbsFact.cc:55
loop
Definition: myNF.cc:98
int k
Definition: cfEzgcd.cc:93
Definition: intvec.h:14
int j
Definition: myNF.cc:70
int i
Definition: cfEzgcd.cc:123
#define NULL
Definition: omList.c:10
int length() const
Definition: intvec.h:86
int l
Definition: cfEzgcd.cc:94

Variable Documentation

§ currRing

ring currRing

Widely used global variable which specifies the current polynomial ring for Singular interpreter and legacy implementatins. : one should avoid using it in newer designs, for example due to possible problems in parallelization with threads.

Definition at line 10 of file polys.cc.