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

typedef struct spolyrec * poly

Definition at line 10 of file hilb.h.

Function Documentation

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

Definition at line 1299 of file hilb.cc.

1300 {
1302  if (Q!= NULL) id_TestTail(Q, currRing, tailRing);
1303 
1304  return hSeries(S, modulweight, 1, wdegree, Q, tailRing);
1305 }
#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:12
static intvec * hSeries(ideal S, intvec *modulweight, int, intvec *wdegree, ideal Q, ring tailRing)
Definition: hilb.cc:1136
#define NULL
Definition: omList.c:10
intvec* hHstdSeries ( ideal  S,
intvec modulweight,
intvec wdegree,
ideal  Q = NULL,
ring  tailRing = currRing 
)

Definition at line 1292 of file hilb.cc.

1293 {
1295  if (Q!=NULL) id_TestTail(Q, currRing, tailRing);
1296  return hSeries(S, modulweight, 0, wdegree, Q, tailRing);
1297 }
#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:12
static intvec * hSeries(ideal S, intvec *modulweight, int, intvec *wdegree, ideal Q, ring tailRing)
Definition: hilb.cc:1136
#define NULL
Definition: omList.c:10
void hLookSeries ( ideal  S,
intvec modulweight,
ideal  Q = NULL,
intvec wdegree = NULL,
ring  tailRing = currRing 
)

Definition at line 1378 of file hilb.cc.

1379 {
1381 
1382  intvec *hseries1 = hFirstSeries(S, modulweight, Q, wdegree, tailRing);
1383 
1384  hPrintHilb(hseries1);
1385 
1386  const int l = hseries1->length()-1;
1387 
1388  intvec *hseries2 = (l > 1) ? hSecondSeries(hseries1) : hseries1;
1389 
1390  int co, mu;
1391  hDegreeSeries(hseries1, hseries2, &co, &mu);
1392 
1393  PrintLn();
1394  hPrintHilb(hseries2);
1395  if ((l == 1) &&(mu == 0))
1396  scPrintDegree(rVar(currRing)+1, 0);
1397  else
1398  scPrintDegree(co, mu);
1399  if (l>1)
1400  delete hseries1;
1401  delete hseries2;
1402 }
#define id_TestTail(A, lR, tR)
Definition: simpleideals.h:79
void PrintLn()
Definition: reporter.cc:322
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:540
int length() const
Definition: intvec.h:86
void hDegreeSeries(intvec *s1, intvec *s2, int *co, int *mu)
Definition: hilb.cc:1341
#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:12
Definition: intvec.h:16
intvec * hSecondSeries(intvec *hseries1)
Definition: hilb.cc:1307
intvec * hFirstSeries(ideal S, intvec *modulweight, ideal Q, intvec *wdegree, ring tailRing)
Definition: hilb.cc:1299
int l
Definition: cfEzgcd.cc:94
static void hPrintHilb(intvec *hseries)
Definition: hilb.cc:1358
intvec* hSecondSeries ( intvec hseries1)

Definition at line 1307 of file hilb.cc.

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

Variable Documentation

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 12 of file polys.cc.