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 2641 of file hilb.cc.
2642{
2645 for(
int d=0;d<
b->rows()-1;d++)
2646 {
2651 }
2653}
#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 2150 of file hilb.cc.
2151{
2153 #if 0
2154
2159 while(
prod<(1<<15) && (a>1))
2160 {
2164 }
2165 if (a==1)
b=(1<<15);
2166
2170 {
2172 {
2175 {
2178 {
2180 break;
2181 }
2182 }
2183 }
2184 }
2186 {
2192 {
2194 }
2196 }
2197 #endif
2198
2205 {
2208 }
2209 for(
int c=1;c<=
A->rank;c++)
2210 {
2221 {
2224 }
2225 }
2228}
const CanonicalForm int s
static int max(int a, int b)
VAR void(* WerrorS_callback)(const char *s)
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
BOOLEAN id_IsModule(ideal A, const ring src)
◆ hFirstSeries0()
Definition at line 2114 of file hilb.cc.
2115{
2120 else
2121 {
2124 {
2129 {
2131 }
2134 }
2135 }
2137}
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 2655 of file hilb.cc.
2656{
2661 {
2664 }
2665 else
2669 {
2672 }
2675}
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 2063 of file hilb.cc.
2064{
2067 for(
int i=1;
i<=
rk;
i++)
2068 {
2072 {
2074 {
2077 else
2078 {
2082 }
2083 }
2084 }
2086
2088 {
2091 }
2092 else
2093 {
2095 }
2099 {
2101 int sh=(*shifts)[
i-1]-
m;
2103 {
2106 }
2107 }
2110 }
2112}
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 2020 of file hilb.cc.
2021{
2026 {
2033 if (c!=0)
2034 {
2037 }
2038 }
2042
2044 #ifdef HAVE_QSORT_R
2045 #if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__CYGWIN__)
2047 #else
2049 #endif
2050 #else
2051 {
2056 }
2057 #endif
2061}
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 2610 of file hilb.cc.
2611{
2614
2618}
static intvec * hSeries(ideal S, intvec *modulweight, intvec *wdegree, ideal Q)
◆ hLookSeries()
Definition at line 856 of file hilb.cc.
857{
859
861 {
864
867 }
868 else
869 {
873 {
875 Print(
"module weights:%s\n",
s);
877 }
880 }
881}
static void hPrintHilb(poly hseries, const ring Qt, intvec *modul_weight)
◆ hPoly2BIV()
Definition at line 2620 of file hilb.cc.
2621{
2625 {
2629 }
2632 {
2637 }
2639}
static poly p_Copy(poly p, const ring r)
returns a copy of p
◆ hSecondSeries()
Definition at line 707 of file hilb.cc.
708{
717 for (
i =
k-1;
i >= 0;
i--)
720 {
721 if ((
s != 0) || (
k == 1))
722 break;
726 for (
i =
k-1;
i >= 0;
i--)
727 {
732 }
733 }
735 for (
i =
k-1;
i >= 0;
i--)
737 (*hseries2)[
k] = (*work)[
l];
740}
◆ hSecondSeries0b()
Definition at line 2677 of file hilb.cc.
2678{
2683 else
2691}
poly hFirst2Second(poly h, const ring Qt, int &co)