source: git/kernel/combinatorics/hutil.h @ a4771e1

fieker-DuValspielwiese
Last change on this file since a4771e1 was a4771e1, checked in by Oleksandr Motsak <motsak@…>, 10 years ago
Separation of hilbert function into kernel/combinatorics/hilb.h + include cleanup
  • Property mode set to 100644
File size: 2.7 KB
Line 
1#ifndef HUTIL_H
2#define HUTIL_H
3/****************************************
4*  Computer Algebra System SINGULAR     *
5****************************************/
6/*
7* ABSTRACT
8*/
9
10class intvec; 
11
12struct omBin_s   ; typedef struct omBin_s omBin_t ; typedef omBin_t * omBin;
13
14struct ip_sring  ; typedef struct ip_sring                          * ring;
15struct sip_sideal; typedef struct sip_sideal                        * ideal;
16struct spolyrec  ; typedef struct spolyrec polyrec; typedef polyrec * poly;
17typedef                                                     poly    * polyset;
18
19extern ring currRing;
20
21typedef int * scmon;
22typedef scmon * scfmon;
23typedef int * varset;
24struct monrec;
25typedef struct monrec monh;
26typedef monh * monp;
27typedef monp * monf;
28struct monrec
29{
30  scfmon mo;
31  int a;
32};
33
34typedef struct sindlist indlist;
35typedef indlist * indset;
36struct sindlist
37{
38  indset nx;
39  intvec * set;
40};
41
42#define LEN_MON (sizeof(scfmon) + sizeof(int))
43
44extern omBin indlist_bin;
45
46extern scfmon hexist, hstc, hrad, hwork;
47extern scmon hpure, hpur0;
48extern varset hvar, hsel;
49extern int hNexist, hNstc, hNrad, hNvar, hNpure;
50extern monf stcmem, radmem;
51extern int hisModule;
52extern monf stcmem, radmem;
53extern indset ISet, JSet;
54extern int  hCo, hMu, hMu2;
55
56
57void hDelete(scfmon ev, int ev_length);
58void hComp(scfmon exist, int Nexist, int ak, scfmon stc, int * Nstc);
59void hSupp(scfmon stc, int Nstc, varset var, int * Nvar);
60void hOrdSupp(scfmon stc, int Nstc, varset var, int Nvar);
61void hStaircase(scfmon stc, int * Nstc, varset var, int Nvar);
62void hRadical(scfmon rad, int * Nrad, int Nvar);
63void hLexS(scfmon stc, int Nstc, varset var, int Nvar);
64void hLexR(scfmon rad, int Nrad, varset var, int Nvar);
65void hPure(scfmon stc, int a, int *Nstc, varset var, int Nvar,
66 scmon pure, int *Npure);
67void hElimS(scfmon stc, int * e1, int a2, int e2,varset var, int Nvar);
68void hElimR(scfmon rad, int * e1, int a2, int e2,varset var, int Nvar);
69void hLex2S(scfmon stc, int e1, int a2, int e2,varset var,
70 int Nvar, scfmon w);
71void hLex2R(scfmon rad, int e1, int a2, int e2,varset var,
72 int Nvar, scfmon w);
73void hStepS(scfmon stc, int Nstc, varset var, int Nvar,int *a, int *x);
74void hStepR(scfmon rad, int Nrad, varset var, int Nvar,int *a);
75monf hCreate(int Nvar);
76void hKill(monf xmem, int Nvar);
77scfmon hGetmem(int lm, scfmon old, monp monmem);
78scmon hGetpure(scmon p);
79void hDimSolve(scmon pure, int Npure, scfmon rad, int Nrad,
80 varset var, int Nvar);
81void hIndMult(scmon pure, int Npure, scfmon rad, int Nrad,
82 varset var, int Nvar);
83void hIndAllMult(scmon pure, int Npure, scfmon rad, int Nrad,
84 varset var, int Nvar);
85void hDegreeSeries(intvec *s1, intvec *s2, int *co, int *mu);
86
87
88scfmon hInit(ideal S, ideal Q, int * Nexist, ring tailRing);
89void slicehilb(ideal I);
90#endif
Note: See TracBrowser for help on using the repository browser.