Go to the source code of this file.
|
poly | reduce_poly_fct (poly p, ring r) |
|
int | indexOf2 (number n) |
|
BOOLEAN | ring2toM_GetLeadTerms (const poly p1, const poly p2, const ring p_r, poly &m1, poly &m2, const ring m_r) |
|
void | printPolyMsg (const char *start, poly f, const char *end) |
|
poly | spolyRing2toM (poly f, poly g, ring r) |
|
poly | ringRedNF (poly f, ideal G, ring r) |
|
int | findRingSolver (poly rside, ideal G, ring r) |
|
poly | plain_spoly (poly f, poly g) |
|
poly | plain_zero_spoly (poly h) |
|
poly | ringNF (poly f, ideal G, ring r) |
|
int | testGB (ideal I, ideal GI) |
|
◆ NO_BUCKETS
◆ findRingSolver()
int findRingSolver |
( |
poly |
rside, |
|
|
ideal |
G, |
|
|
ring |
r |
|
) |
| |
Definition at line 152 of file ringgb.cc.
154 if (rside ==
NULL)
return -1;
static BOOLEAN p_LmDivisibleBy(poly a, poly b, const ring r)
◆ indexOf2()
◆ plain_spoly()
poly plain_spoly |
( |
poly |
f, |
|
|
poly |
g |
|
) |
| |
Definition at line 168 of file ringgb.cc.
KINLINE BOOLEAN k_GetLeadTerms(const poly p1, const poly p2, const ring p_r, poly &m1, poly &m2, const ring m_r)
int ksCheckCoeff(number *a, number *b, const coeffs r)
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
◆ plain_zero_spoly()
poly plain_zero_spoly |
( |
poly |
h | ) |
|
Definition at line 185 of file ringgb.cc.
static FORCE_INLINE number n_Gcd(number a, number b, const coeffs r)
in Z: return the gcd of 'a' and 'b' in Z/nZ, Z/2^kZ: computed as in the case Z in Z/pZ,...
static FORCE_INLINE number n_Ann(number a, const coeffs r)
if r is a ring with zero divisors, return an annihilator!=0 of b otherwise return NULL
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
static FORCE_INLINE BOOLEAN n_IsOne(number n, const coeffs r)
TRUE iff 'n' represents the one element.
static poly p_Copy(poly p, const ring r)
returns a copy of p
#define __p_Mult_nn(p, n, r)
◆ printPolyMsg()
void printPolyMsg |
( |
const char * |
start, |
|
|
poly |
f, |
|
|
const char * |
end |
|
) |
| |
Definition at line 96 of file ringgb.cc.
void PrintS(const char *s)
◆ reduce_poly_fct()
poly reduce_poly_fct |
( |
poly |
p, |
|
|
ring |
r |
|
) |
| |
Definition at line 29 of file ringgb.cc.
poly kFindZeroPoly(poly input_p, ring leadRing, ring tailRing)
◆ ring2toM_GetLeadTerms()
Definition at line 57 of file ringgb.cc.
65 for (
i = p_r->N;
i;
i--)
83 if (cp1 != 0 && cp2 != 0)
85 while (cp1%2 == 0 && cp2%2 == 0)
static long p_GetExpDiff(poly p1, poly p2, int i, 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 number p_SetCoeff(poly p, number n, ring r)
static poly p_Init(const ring r, omBin bin)
◆ ringNF()
poly ringNF |
( |
poly |
f, |
|
|
ideal |
G, |
|
|
ring |
r |
|
) |
| |
Definition at line 201 of file ringgb.cc.
209 while (
h !=
NULL &&
i >= 0) {
#define pCopy(p)
return a copy of the poly
int findRingSolver(poly rside, ideal G, ring r)
poly plain_spoly(poly f, poly g)
◆ ringRedNF()
poly ringRedNF |
( |
poly |
f, |
|
|
ideal |
G, |
|
|
ring |
r |
|
) |
| |
Definition at line 117 of file ringgb.cc.
126 Print(
"%d-step RedNF - g=", c);
#define pHead(p)
returns newly allocated copy of Lm(p), coef is copied, next=NULL, p might be NULL
#define pLmDelete(p)
assume p != NULL, deletes Lm(p)->coef and Lm(p)
poly ringNF(poly f, ideal G, ring r)
◆ spolyRing2toM()
poly spolyRing2toM |
( |
poly |
f, |
|
|
poly |
g, |
|
|
ring |
r |
|
) |
| |
Definition at line 103 of file ringgb.cc.
static poly pp_Mult_mm(poly p, poly m, const ring r)
static poly p_Mult_mm(poly p, poly m, const ring r)
BOOLEAN ring2toM_GetLeadTerms(const poly p1, const poly p2, const ring p_r, poly &m1, poly &m2, const ring m_r)
◆ testGB()
int testGB |
( |
ideal |
I, |
|
|
ideal |
GI |
|
) |
| |
Definition at line 228 of file ringgb.cc.
235 PrintS(
"Not reduced to zero from I: ");
244 PrintS(
" Yes!\nspoly --> 0?");
275 PrintS(
" Yes!\nzero-spoly --> 0?");
static BOOLEAN rField_is_Domain(const ring r)
poly plain_zero_spoly(poly h)