Go to the source code of this file.
|
intvec * | hFirstSeries (ideal S, intvec *modulweight, ideal Q=NULL, intvec *wdegree=NULL) |
|
intvec * | hFirstSeries1 (ideal S, intvec *modulweight, ideal Q=NULL, intvec *wdegree=NULL) |
|
intvec * | hFirstSeries0 (ideal S, ideal Q, intvec *wdegree, const ring src, const ring Qt) |
|
poly | hFirstSeries0p (ideal A, ideal Q, intvec *wdegree, const ring src, const ring Qt) |
|
bigintmat * | hPoly2BIV (poly h, const ring Qt, const coeffs biv_cf) |
|
poly | hBIV2Poly (bigintmat *b, const ring Qt, const coeffs biv_cf) |
|
bigintmat * | hFirstSeries0b (ideal I, ideal Q, intvec *wdegree, intvec *shifts, const ring src, const coeffs biv_cf) |
|
bigintmat * | hSecondSeries0b (ideal I, ideal Q, intvec *wdegree, intvec *shifts, const ring src, const coeffs biv_cf) |
|
poly | hFirstSeries0m (ideal A, ideal Q, intvec *wdegree, intvec *shifts, const ring src, const ring Qt) |
|
intvec * | hSecondSeries (intvec *hseries1) |
|
void | hLookSeries (ideal S, intvec *modulweight, ideal Q=NULL, intvec *wdegree=NULL) |
|
◆ hBIV2Poly()
Definition at line 2658 of file hilb.cc.
2659{
2662 for(
int d=0;d<
b->rows()-1;d++)
2663 {
2668 }
2670}
#define BIMATELEM(M, I, J)
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
static poly p_Add_q(poly p, poly q, const ring r)
static unsigned long p_SetExp(poly p, const unsigned long e, const unsigned long iBitmask, const int VarOffset)
set a single variable exponent @Note: VarOffset encodes the position in p->exp
static void p_Setm(poly p, const ring r)
static poly p_New(const ring, omBin bin)
◆ hFirstSeries()
Definition at line 2167 of file hilb.cc.
2168{
2170 #if 0
2171
2176 while(
prod<(1<<15) && (a>1))
2177 {
2181 }
2182 if (a==1)
b=(1<<15);
2183
2187 {
2189 {
2192 {
2195 {
2197 break;
2198 }
2199 }
2200 }
2201 }
2203 {
2209 {
2211 }
2213 }
2214 #endif
2215
2222 {
2225 }
2226 for(
int c=1;c<=
A->rank;c++)
2227 {
2238 {
2241 }
2242 }
2245}
const CanonicalForm int s
static int max(int a, int b)
VAR void(* WerrorS_callback)(const char *s)
static BOOLEAN isModule(ideal A, const ring src)
static ideal getModuleComp(ideal A, int c, const ring src)
intvec * hFirstSeries0(ideal A, ideal Q, intvec *wdegree, const ring src, const ring Qt)
intvec * hFirstSeries1(ideal S, intvec *modulweight, ideal Q, intvec *wdegree)
intvec * ivAddShift(intvec *a, intvec *b, int s)
intvec * ivAdd(intvec *a, intvec *b)
static void WerrorS_dummy(const char *)
static long p_Totaldegree(poly p, const ring r)
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
static short rVar(const ring r)
#define rVar(r) (r->N)
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
◆ hFirstSeries0()
Definition at line 2131 of file hilb.cc.
2132{
2137 else
2138 {
2141 {
2146 {
2148 }
2151 }
2152 }
2154}
static FORCE_INLINE long n_Int(number &n, const coeffs r)
conversion of n to an int; 0 if not possible in Z/pZ: the representing int lying in (-p/2 ....
poly hFirstSeries0p(ideal A, ideal Q, intvec *wdegree, const ring src, const ring Qt)
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
static void p_LmDelete(poly p, const ring r)
void Werror(const char *fmt,...)
◆ hFirstSeries0b()
Definition at line 2672 of file hilb.cc.
2673{
2678 {
2681 }
2682 else
2686 {
2689 }
2692}
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
poly hFirstSeries0m(ideal A, ideal Q, intvec *wdegree, intvec *shifts, const ring src, const ring Qt)
bigintmat * hPoly2BIV(poly h, const ring Qt, const coeffs biv_cf)
static void p_Delete(poly *p, const ring r)
◆ hFirstSeries0m()
Definition at line 2080 of file hilb.cc.
2081{
2084 for(
int i=1;
i<=
rk;
i++)
2085 {
2089 {
2091 {
2094 else
2095 {
2099 }
2100 }
2101 }
2103
2105 {
2108 }
2109 else
2110 {
2112 }
2116 {
2118 int sh=(*shifts)[
i-1]-
m;
2120 {
2123 }
2124 }
2127 }
2129}
static poly p_Mult_q(poly p, poly q, const ring r)
static unsigned long p_SetComp(poly p, unsigned long c, ring r)
ideal id_Head(ideal h, const ring r)
returns the ideals of initial terms
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size
◆ hFirstSeries0p()
Definition at line 2037 of file hilb.cc.
2038{
2043 {
2050 if (c!=0)
2051 {
2054 }
2055 }
2059
2061 #ifdef HAVE_QSORT_R
2062 #if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__CYGWIN__)
2064 #else
2066 #endif
2067 #else
2068 {
2073 }
2074 #endif
2078}
static poly hilbert_series(ideal A, const ring src, const intvec *wdegree, const ring Qt)
static int compare_rp_currRing(const void *pp1, const void *pp2)
int idSkipZeroes0(ideal ide)
void id_Delete0(ideal *h, ring r)
void id_DelDiv(ideal id, const ring r)
delete id[j], if LT(j) == coeff*mon*LT(i) and vice versa, i.e., delete id[i], if LT(i) == coeff*mon*L...
ideal id_SimpleAdd(ideal h1, ideal h2, const ring R)
concat the lists h1 and h2 without zeros
◆ hFirstSeries1()
Definition at line 2627 of file hilb.cc.
2628{
2631
2635}
static intvec * hSeries(ideal S, intvec *modulweight, intvec *wdegree, ideal Q)
◆ hLookSeries()
Definition at line 873 of file hilb.cc.
874{
876
878 {
881
884 }
885 else
886 {
890 {
892 Print(
"module weights:%s\n",
s);
894 }
897 }
898}
static void hPrintHilb(poly hseries, const ring Qt, intvec *modul_weight)
◆ hPoly2BIV()
Definition at line 2637 of file hilb.cc.
2638{
2642 {
2646 }
2649 {
2654 }
2656}
static poly p_Copy(poly p, const ring r)
returns a copy of p
◆ hSecondSeries()
Definition at line 706 of file hilb.cc.
707{
716 for (
i =
k-1;
i >= 0;
i--)
719 {
720 if ((
s != 0) || (
k == 1))
721 break;
725 for (
i =
k-1;
i >= 0;
i--)
726 {
731 }
732 }
734 for (
i =
k-1;
i >= 0;
i--)
736 (*hseries2)[
k] = (*work)[
l];
739}
◆ hSecondSeries0b()
Definition at line 2694 of file hilb.cc.
2695{
2700 else
2708}
poly hFirst2Second(poly h, const ring Qt, int &co)