My Project
|
#include "misc/mylimits.h"
#include "misc/intvec.h"
#include "coeffs/coeffs.h"
#include "polys/monomials/monomials.h"
#include "polys/monomials/ring.h"
#include "polys/templates/p_MemAdd.h"
#include "polys/templates/p_MemCmp.h"
#include "polys/templates/p_Procs.h"
#include "polys/sbuckets.h"
#include "polys/nc/nc.h"
Go to the source code of this file.
Macros | |
#define | pIfThen(cond, check) do {if (cond) {check;}} while (0) |
#define | p_Test(p, r) _p_Test(p, r, PDEBUG) |
#define | p_LmTest(p, r) _p_LmTest(p, r, PDEBUG) |
#define | pp_Test(p, lmRing, tailRing) _pp_Test(p, lmRing, tailRing, PDEBUG) |
#define | p_SetmComp p_Setm |
#define | __p_Mult_nn(p, n, r) r->p_Procs->p_Mult_nn(p, n, r) |
#define | __pp_Mult_nn(p, n, r) r->p_Procs->pp_Mult_nn(p, n, r) |
#define | _p_LmCmpAction(p, q, r, actionE, actionG, actionS) |
#define | pDivAssume(x) do {} while (0) |
#define | p_LmCmpAction(p, q, r, actionE, actionG, actionS) _p_LmCmpAction(p, q, r, actionE, actionG, actionS) |
#define | p_LmEqual(p1, p2, r) p_ExpVectorEqual(p1, p2, r) |
Functions | |
poly | p_Farey (poly p, number N, const ring r) |
poly | p_ChineseRemainder (poly *xx, number *x, number *q, int rl, CFArray &inv_cache, const ring R) |
unsigned long | p_GetShortExpVector (const poly a, const ring r) |
BOOLEAN | p_DivisibleByRingCase (poly f, poly g, const ring r) |
divisibility check over ground ring (which may contain zero divisors); TRUE iff LT(f) divides LT(g), i.e., LT(f)*c*m = LT(g), for some coefficient c and some monomial m; does not take components into account More... | |
poly | p_One (const ring r) |
int | p_MinDeg (poly p, intvec *w, const ring R) |
long | p_DegW (poly p, const int *w, const ring R) |
BOOLEAN | p_OneComp (poly p, const ring r) |
return TRUE if all monoms have the same component More... | |
int | p_IsPurePower (const poly p, const ring r) |
return i, if head depends only on var(i) More... | |
int | p_IsUnivariate (poly p, const ring r) |
return i, if poly depends only on var(i) More... | |
int | p_GetVariables (poly p, int *e, const ring r) |
set entry e[i] to 1 if var(i) occurs in p, ignore var(j) if e[j]>0 return #(e[i]>0) More... | |
poly | p_ISet (long i, const ring r) |
returns the poly representing the integer i More... | |
poly | p_NSet (number n, const ring r) |
returns the poly representing the number n, destroys n More... | |
void | p_Vec2Polys (poly v, poly **p, int *len, const ring r) |
poly | p_Vec2Poly (poly v, int k, const ring r) |
void | p_Vec2Array (poly v, poly *p, int len, const ring r) |
julia: vector to already allocated array (len=p_MaxComp(v,r)) More... | |
void | p_ShallowDelete (poly *p, const ring r) |
poly | p_Sub (poly a, poly b, const ring r) |
poly | p_Power (poly p, int i, const ring r) |
BOOLEAN | pIsMonomOf (poly p, poly m) |
BOOLEAN | pHaveCommonMonoms (poly p, poly q) |
BOOLEAN | p_LmCheckIsFromRing (poly p, ring r) |
BOOLEAN | p_LmCheckPolyRing (poly p, ring r) |
BOOLEAN | p_CheckIsFromRing (poly p, ring r) |
BOOLEAN | p_CheckPolyRing (poly p, ring r) |
BOOLEAN | p_CheckRing (ring r) |
BOOLEAN | _p_Test (poly p, ring r, int level) |
BOOLEAN | _p_LmTest (poly p, ring r, int level) |
BOOLEAN | _pp_Test (poly p, ring lmRing, ring tailRing, int level) |
static int | pLength (poly a) |
poly | p_Last (const poly a, int &l, const ring r) |
void | p_Norm (poly p1, const ring r) |
void | p_Normalize (poly p, const ring r) |
void | p_ProjectiveUnique (poly p, const ring r) |
void | p_ContentForGB (poly p, const ring r) |
void | p_Content (poly p, const ring r) |
void | p_SimpleContent (poly p, int s, const ring r) |
number | p_InitContent (poly ph, const ring r) |
poly | p_Cleardenom (poly p, const ring r) |
void | p_Cleardenom_n (poly p, const ring r, number &c) |
int | p_Size (poly p, const ring r) |
poly | p_Homogen (poly p, int varnum, const ring r) |
BOOLEAN | p_IsHomogeneous (poly p, const ring r) |
BOOLEAN | p_IsHomogeneousW (poly p, const intvec *w, const ring r) |
BOOLEAN | p_IsHomogeneousW (poly p, const intvec *w, const intvec *module_w, const ring r) |
static void | p_Setm (poly p, const ring r) |
p_SetmProc | p_GetSetmProc (const ring r) |
poly | p_Subst (poly p, int n, poly e, const ring r) |
static unsigned long | p_SetComp (poly p, unsigned long c, ring r) |
static void | p_SetCompP (poly p, int i, ring r) |
static void | p_SetCompP (poly p, int i, ring lmRing, ring tailRing) |
static long | p_MaxComp (poly p, ring lmRing, ring tailRing) |
static long | p_MaxComp (poly p, ring lmRing) |
static long | p_MinComp (poly p, ring lmRing, ring tailRing) |
static long | p_MinComp (poly p, ring lmRing) |
static poly | pReverse (poly p) |
void | pEnlargeSet (poly **p, int length, int increment) |
void | p_String0 (poly p, ring lmRing, ring tailRing) |
print p according to ShortOut in lmRing & tailRing More... | |
char * | p_String (poly p, ring lmRing, ring tailRing) |
void | p_Write (poly p, ring lmRing, ring tailRing) |
void | p_Write0 (poly p, ring lmRing, ring tailRing) |
void | p_wrp (poly p, ring lmRing, ring tailRing) |
void | p_String0Short (const poly p, ring lmRing, ring tailRing) |
print p in a short way, if possible More... | |
void | p_String0Long (const poly p, ring lmRing, ring tailRing) |
print p in a long way More... | |
static long | p_FDeg (const poly p, const ring r) |
static long | p_LDeg (const poly p, int *l, const ring r) |
long | p_WFirstTotalDegree (poly p, ring r) |
long | p_WTotaldegree (poly p, const ring r) |
long | p_WDegree (poly p, const ring r) |
long | pLDeg0 (poly p, int *l, ring r) |
long | pLDeg0c (poly p, int *l, ring r) |
long | pLDegb (poly p, int *l, ring r) |
long | pLDeg1 (poly p, int *l, ring r) |
long | pLDeg1c (poly p, int *l, ring r) |
long | pLDeg1_Deg (poly p, int *l, ring r) |
long | pLDeg1c_Deg (poly p, int *l, ring r) |
long | pLDeg1_Totaldegree (poly p, int *l, ring r) |
long | pLDeg1c_Totaldegree (poly p, int *l, ring r) |
long | pLDeg1_WFirstTotalDegree (poly p, int *l, ring r) |
long | pLDeg1c_WFirstTotalDegree (poly p, int *l, ring r) |
BOOLEAN | p_EqualPolys (poly p1, poly p2, const ring r) |
BOOLEAN | p_EqualPolys (poly p1, poly p2, const ring r1, const ring r2) |
same as the usual p_EqualPolys for polys belonging to equal rings More... | |
long | p_Deg (poly a, const ring r) |
static number | p_SetCoeff (poly p, number n, ring r) |
static long | p_GetOrder (poly p, ring r) |
static unsigned long | p_AddComp (poly p, unsigned long v, ring r) |
static unsigned long | p_SubComp (poly p, unsigned long v, ring r) |
static long | p_GetExp (const poly p, const unsigned long iBitmask, const int VarOffset) |
get a single variable exponent @Note: the integer VarOffset encodes: More... | |
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 More... | |
static long | p_GetExp (const poly p, const ring r, const int VarOffset) |
static long | p_SetExp (poly p, const long e, const ring r, const int VarOffset) |
static long | p_GetExp (const poly p, const int v, const ring r) |
get v^th exponent for a monomial More... | |
static long | p_SetExp (poly p, const int v, const long e, const ring r) |
set v^th exponent for a monomial More... | |
static long | p_IncrExp (poly p, int v, ring r) |
static long | p_DecrExp (poly p, int v, ring r) |
static long | p_AddExp (poly p, int v, long ee, ring r) |
static long | p_SubExp (poly p, int v, long ee, ring r) |
static long | p_MultExp (poly p, int v, long ee, ring r) |
static long | p_GetExpSum (poly p1, poly p2, int i, ring r) |
static long | p_GetExpDiff (poly p1, poly p2, int i, ring r) |
static int | p_Comp_k_n (poly a, poly b, int k, ring r) |
static poly | p_New (const ring, omBin bin) |
static poly | p_New (ring r) |
static void | p_LmFree (poly p, ring) |
static void | p_LmFree (poly *p, ring) |
static poly | p_LmFreeAndNext (poly p, ring) |
static void | p_LmDelete (poly p, const ring r) |
static void | p_LmDelete0 (poly p, const ring r) |
static void | p_LmDelete (poly *p, const ring r) |
static poly | p_LmDeleteAndNext (poly p, const ring r) |
unsigned long | p_GetMaxExpL (poly p, const ring r, unsigned long l_max=0) |
return the maximal exponent of p in form of the maximal long var More... | |
poly | p_GetMaxExpP (poly p, ring r) |
return monomial r such that GetExp(r,i) is maximum of all monomials in p; coeff == 0, next == NULL, ord is not set More... | |
static unsigned long | p_GetMaxExp (const unsigned long l, const ring r) |
static unsigned long | p_GetMaxExp (const poly p, const ring r) |
static unsigned long | p_GetTotalDegree (const unsigned long l, const ring r, const int number_of_exps) |
static poly | p_Copy_noCheck (poly p, const ring r) |
returns a copy of p (without any additional testing) More... | |
static poly | p_Copy (poly p, const ring r) |
returns a copy of p More... | |
static poly | p_Head (const poly p, const ring r) |
copy the (leading) term of p More... | |
poly | p_Head0 (const poly p, const ring r) |
like p_Head, but allow NULL coeff More... | |
poly | p_CopyPowerProduct (const poly p, const ring r) |
like p_Head, but with coefficient 1 More... | |
poly | p_CopyPowerProduct0 (const poly p, const number n, const ring r) |
like p_Head, but with coefficient n More... | |
static poly | p_Copy (poly p, const ring lmRing, const ring tailRing) |
returns a copy of p with Lm(p) from lmRing and Tail(p) from tailRing More... | |
static void | p_Delete (poly *p, const ring r) |
static void | p_Delete (poly *p, const ring lmRing, const ring tailRing) |
static poly | p_ShallowCopyDelete (poly p, const ring r, omBin bin) |
static poly | p_Add_q (poly p, poly q, const ring r) |
static poly | p_Add_q (poly p, poly q, int &lp, int lq, const ring r) |
like p_Add_q, except that if lp == pLength(lp) lq == pLength(lq) then lp == pLength(p+q) More... | |
static poly | p_Mult_nn (poly p, number n, const ring r) |
static poly | p_Mult_nn (poly p, number n, const ring lmRing, const ring tailRing) |
static poly | pp_Mult_nn (poly p, number n, const ring r) |
static BOOLEAN | p_LmIsConstantComp (const poly p, const ring r) |
static BOOLEAN | p_LmIsConstant (const poly p, const ring r) |
static poly | pp_Mult_mm (poly p, poly m, const ring r) |
static poly | pp_mm_Mult (poly p, poly m, const ring r) |
static poly | p_Mult_mm (poly p, poly m, const ring r) |
static poly | p_mm_Mult (poly p, poly m, const ring r) |
static poly | p_Minus_mm_Mult_qq (poly p, const poly m, const poly q, int &lp, int lq, const poly spNoether, const ring r) |
static poly | p_Minus_mm_Mult_qq (poly p, const poly m, const poly q, const ring r) |
static poly | pp_Mult_Coeff_mm_DivSelect (poly p, const poly m, const ring r) |
static poly | pp_Mult_Coeff_mm_DivSelect (poly p, int &lp, const poly m, const ring r) |
static poly | p_Neg (poly p, const ring r) |
poly | _p_Mult_q (poly p, poly q, const int copy, const ring r) |
Returns: p * q, Destroys: if !copy then p, q Assumes: pLength(p) >= 2 pLength(q) >=2, !rIsPluralRing(r) More... | |
static poly | p_Mult_q (poly p, poly q, const ring r) |
static poly | pp_Mult_qq (poly p, poly q, const ring r) |
static poly | p_Plus_mm_Mult_qq (poly p, poly m, poly q, int &lp, int lq, const ring r) |
static poly | p_Plus_mm_Mult_qq (poly p, poly m, poly q, const ring r) |
static poly | p_Merge_q (poly p, poly q, const ring r) |
static poly | p_SortAdd (poly p, const ring r, BOOLEAN revert=FALSE) |
static poly | p_SortMerge (poly p, const ring r, BOOLEAN revert=FALSE) |
static char * | p_String (poly p, ring p_ring) |
static void | p_String0 (poly p, ring p_ring) |
static void | p_Write (poly p, ring p_ring) |
static void | p_Write0 (poly p, ring p_ring) |
static void | p_wrp (poly p, ring p_ring) |
static void | p_MemAdd_NegWeightAdjust (poly p, const ring r) |
static void | p_MemSub_NegWeightAdjust (poly p, const ring r) |
static void | p_ExpVectorCopy (poly d_p, poly s_p, const ring r) |
static poly | p_Init (const ring r, omBin bin) |
static poly | p_Init (const ring r) |
static poly | p_LmInit (poly p, const ring r) |
static poly | p_LmInit (poly s_p, const ring s_r, const ring d_r, omBin d_bin) |
static poly | p_LmInit (poly s_p, const ring s_r, const ring d_r) |
static poly | p_GetExp_k_n (poly p, int l, int k, const ring r) |
static poly | p_LmShallowCopyDelete (poly p, const ring r) |
static void | p_ExpVectorAdd (poly p1, poly p2, const ring r) |
static void | p_ExpVectorSum (poly pr, poly p1, poly p2, const ring r) |
static void | p_ExpVectorSub (poly p1, poly p2, const ring r) |
static void | p_ExpVectorAddSub (poly p1, poly p2, poly p3, const ring r) |
static void | p_ExpVectorDiff (poly pr, poly p1, poly p2, const ring r) |
static BOOLEAN | p_ExpVectorEqual (poly p1, poly p2, const ring r) |
static long | p_Totaldegree (poly p, const ring r) |
static void | p_GetExpV (poly p, int *ev, const ring r) |
static void | p_GetExpVL (poly p, int64 *ev, const ring r) |
static int64 | p_GetExpVLV (poly p, int64 *ev, const ring r) |
static void | p_SetExpV (poly p, int *ev, const ring r) |
static void | p_SetExpVL (poly p, int64 *ev, const ring r) |
static void | p_SetExpVLV (poly p, int64 *ev, int64 comp, const ring r) |
static int | p_LmCmp (poly p, poly q, const ring r) |
static int | p_LtCmp (poly p, poly q, const ring r) |
static int | p_LtCmpNoAbs (poly p, poly q, const ring r) |
static int | p_LtCmpOrdSgnDiffM (poly p, poly q, const ring r) |
static int | p_LtCmpOrdSgnDiffP (poly p, poly q, const ring r) |
static int | p_LtCmpOrdSgnEqM (poly p, poly q, const ring r) |
static int | p_LtCmpOrdSgnEqP (poly p, poly q, const ring r) |
BOOLEAN | p_ComparePolys (poly p1, poly p2, const ring r) |
returns TRUE if p1 is a skalar multiple of p2 assume p1 != NULL and p2 != NULL More... | |
static int | p_Cmp (poly p1, poly p2, ring r) |
static int | p_CmpPolys (poly p1, poly p2, ring r) |
static BOOLEAN | _p_LmDivisibleByNoComp (poly a, poly b, const ring r) |
return: FALSE, if there exists i, such that a->exp[i] > b->exp[i] TRUE, otherwise (1) Consider long vars, instead of single exponents (2) Clearly, if la > lb, then FALSE (3) Suppose la <= lb, and consider first bits of single exponents in l: if TRUE, then value of these bits is la ^ lb if FALSE, then la-lb causes an "overflow" into one of those bits, i.e., la ^ lb != la - lb More... | |
static BOOLEAN | _p_LmDivisibleByNoComp (poly a, const ring r_a, poly b, const ring r_b) |
static BOOLEAN | _p_LmDivisibleByNoCompPart (poly a, const ring r_a, poly b, const ring r_b, const int start, const int end) |
static BOOLEAN | _p_LmDivisibleByPart (poly a, const ring r_a, poly b, const ring r_b, const int start, const int end) |
static BOOLEAN | p_LmDivisibleByPart (poly a, poly b, const ring r, const int start, const int end) |
static BOOLEAN | _p_LmDivisibleBy (poly a, poly b, const ring r) |
static BOOLEAN | p_LmDivisibleByNoComp (poly a, poly b, const ring r) |
static BOOLEAN | p_LmDivisibleByNoComp (poly a, const ring ra, poly b, const ring rb) |
static BOOLEAN | p_LmDivisibleBy (poly a, poly b, const ring r) |
static BOOLEAN | p_DivisibleBy (poly a, poly b, const ring r) |
static BOOLEAN | p_LmShortDivisibleBy (poly a, unsigned long sev_a, poly b, unsigned long not_sev_b, const ring r) |
static BOOLEAN | p_LmShortDivisibleByNoComp (poly a, unsigned long sev_a, poly b, unsigned long not_sev_b, const ring r) |
static BOOLEAN | p_IsConstantComp (const poly p, const ring r) |
like the respective p_LmIs* routines, except that p might be empty More... | |
static BOOLEAN | p_IsConstant (const poly p, const ring r) |
static BOOLEAN | p_IsOne (const poly p, const ring R) |
either poly(1) or gen(k)?! More... | |
static BOOLEAN | p_IsConstantPoly (const poly p, const ring r) |
static BOOLEAN | p_IsUnit (const poly p, const ring r) |
static BOOLEAN | p_LmExpVectorAddIsOk (const poly p1, const poly p2, const ring r) |
void | p_Split (poly p, poly *r) |
BOOLEAN | p_HasNotCF (poly p1, poly p2, const ring r) |
BOOLEAN | p_HasNotCFRing (poly p1, poly p2, const ring r) |
poly | p_mInit (const char *s, BOOLEAN &ok, const ring r) |
const char * | p_Read (const char *s, poly &p, const ring r) |
poly | p_MDivide (poly a, poly b, const ring r) |
poly | p_DivideM (poly a, poly b, const ring r) |
poly | pp_DivideM (poly a, poly b, const ring r) |
poly | p_Div_nn (poly p, const number n, const ring r) |
void | p_Lcm (const poly a, const poly b, poly m, const ring r) |
poly | p_Lcm (const poly a, const poly b, const ring r) |
poly | p_LcmRat (const poly a, const poly b, const long lCompM, const ring r) |
poly | p_GetCoeffRat (poly p, int ishift, ring r) |
void | p_LmDeleteAndNextRat (poly *p, int ishift, ring r) |
void | p_ContentRat (poly &ph, const ring r) |
poly | p_Diff (poly a, int k, const ring r) |
poly | p_DiffOp (poly a, poly b, BOOLEAN multiply, const ring r) |
int | p_Weight (int c, const ring r) |
poly | p_PolyDiv (poly &p, const poly divisor, const BOOLEAN needResult, const ring r) |
assumes that p and divisor are univariate polynomials in r, mentioning the same variable; assumes divisor != NULL; p may be NULL; assumes a global monomial ordering in r; performs polynomial division of p by divisor: More... | |
BOOLEAN | p_VectorHasUnitB (poly p, int *k, const ring r) |
void | p_VectorHasUnit (poly p, int *k, int *len, const ring r) |
void | p_TakeOutComp (poly *p, long comp, poly *q, int *lq, const ring r) |
Splits *p into two polys: *q which consists of all monoms with component == comp and *p of all other monoms *lq == pLength(*q) On return all components pf *q == 0. More... | |
poly | p_TakeOutComp (poly *p, int k, const ring r) |
void | p_DeleteComp (poly *p, int k, const ring r) |
void | pSetDegProcs (ring r, pFDegProc new_FDeg, pLDegProc new_lDeg=NULL) |
void | pRestoreDegProcs (ring r, pFDegProc old_FDeg, pLDegProc old_lDeg) |
void | p_SetModDeg (intvec *w, ring r) |
poly | pp_Jet (poly p, int m, const ring R) |
poly | p_Jet (poly p, int m, const ring R) |
poly | pp_JetW (poly p, int m, int *w, const ring R) |
poly | p_JetW (poly p, int m, int *w, const ring R) |
poly | n_PermNumber (const number z, const int *par_perm, const int OldPar, const ring src, const ring dst) |
poly | p_PermPoly (poly p, const int *perm, const ring OldRing, const ring dst, nMapFunc nMap, const int *par_perm=NULL, int OldPar=0, BOOLEAN use_mult=FALSE) |
poly | p_Series (int n, poly p, poly u, intvec *w, const ring R) |
int | p_Var (poly mi, const ring r) |
int | p_LowVar (poly p, const ring r) |
the minimal index of used variables - 1 More... | |
void | p_Shift (poly *p, int i, const ring r) |
shifts components of the vector p by i More... | |
int | p_Compare (const poly a, const poly b, const ring R) |
poly | p_GcdMon (poly f, poly g, const ring r) |
polynomial gcd for f=mon More... | |
poly | p_Div_mm (poly p, const poly m, const ring r) |
divide polynomial by monomial More... | |
int | p_MaxExpPerVar (poly p, int i, const ring r) |
max exponent of variable x_i in p More... | |
#define __pp_Mult_nn | ( | p, | |
n, | |||
r | |||
) | r->p_Procs->pp_Mult_nn(p, n, r) |
#define _p_LmCmpAction | ( | p, | |
q, | |||
r, | |||
actionE, | |||
actionG, | |||
actionS | |||
) |
#define p_LmCmpAction | ( | p, | |
q, | |||
r, | |||
actionE, | |||
actionG, | |||
actionS | |||
) | _p_LmCmpAction(p, q, r, actionE, actionG, actionS) |
#define p_LmEqual | ( | p1, | |
p2, | |||
r | |||
) | p_ExpVectorEqual(p1, p2, r) |
Definition at line 1869 of file p_polys.h.
|
inlinestatic |
Definition at line 1812 of file p_polys.h.
return: FALSE, if there exists i, such that a->exp[i] > b->exp[i] TRUE, otherwise (1) Consider long vars, instead of single exponents (2) Clearly, if la > lb, then FALSE (3) Suppose la <= lb, and consider first bits of single exponents in l: if TRUE, then value of these bits is la ^ lb if FALSE, then la-lb causes an "overflow" into one of those bits, i.e., la ^ lb != la - lb
Definition at line 1763 of file p_polys.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 1854 of file p_polys.h.
BOOLEAN _p_LmTest | ( | poly | p, |
ring | r, | ||
int | level | ||
) |
Returns: p * q, Destroys: if !copy then p, q Assumes: pLength(p) >= 2 pLength(q) >=2, !rIsPluralRing(r)
Definition at line 313 of file p_Mult_q.cc.
BOOLEAN _p_Test | ( | poly | p, |
ring | r, | ||
int | level | ||
) |
Definition at line 215 of file pDebug.cc.
BOOLEAN _pp_Test | ( | poly | p, |
ring | lmRing, | ||
ring | tailRing, | ||
int | level | ||
) |
poly n_PermNumber | ( | const number | z, |
const int * | par_perm, | ||
const int | OldPar, | ||
const ring | src, | ||
const ring | dst | ||
) |
Definition at line 4027 of file p_polys.cc.
|
inlinestatic |
|
inlinestatic |
like p_Add_q, except that if lp == pLength(lp) lq == pLength(lq) then lp == pLength(p+q)
|
inlinestatic |
|
inlinestatic |
Definition at line 604 of file p_polys.h.
BOOLEAN p_CheckIsFromRing | ( | poly | p, |
ring | r | ||
) |
BOOLEAN p_CheckPolyRing | ( | poly | p, |
ring | r | ||
) |
BOOLEAN p_CheckRing | ( | ring | r | ) |
poly p_ChineseRemainder | ( | poly * | xx, |
number * | x, | ||
number * | q, | ||
int | rl, | ||
CFArray & | inv_cache, | ||
const ring | R | ||
) |
Definition at line 88 of file p_polys.cc.
poly p_Cleardenom | ( | poly | p, |
const ring | r | ||
) |
Definition at line 2845 of file p_polys.cc.
void p_Cleardenom_n | ( | poly | p, |
const ring | r, | ||
number & | c | ||
) |
Definition at line 2954 of file p_polys.cc.
|
inlinestatic |
|
inlinestatic |
Definition at line 1737 of file p_polys.h.
|
inlinestatic |
Definition at line 638 of file p_polys.h.
Definition at line 4849 of file p_polys.cc.
returns TRUE if p1 is a skalar multiple of p2 assume p1 != NULL and p2 != NULL
Definition at line 4576 of file p_polys.cc.
void p_Content | ( | poly | p, |
const ring | r | ||
) |
Definition at line 2295 of file p_polys.cc.
void p_ContentForGB | ( | poly | p, |
const ring | r | ||
) |
Definition at line 2355 of file p_polys.cc.
void p_ContentRat | ( | poly & | ph, |
const ring | r | ||
) |
Definition at line 1744 of file p_polys.cc.
returns a copy of p with Lm(p) from lmRing and Tail(p) from tailRing
Definition at line 881 of file p_polys.h.
|
inlinestatic |
returns a copy of p
|
inlinestatic |
like p_Head, but with coefficient 1
Definition at line 4933 of file p_polys.cc.
like p_Head, but with coefficient n
Definition at line 4921 of file p_polys.cc.
|
inlinestatic |
long p_Deg | ( | poly | a, |
const ring | r | ||
) |
Definition at line 587 of file p_polys.cc.
Definition at line 690 of file p_polys.cc.
|
inlinestatic |
void p_DeleteComp | ( | poly * | p, |
int | k, | ||
const ring | r | ||
) |
Definition at line 3544 of file p_polys.cc.
poly p_Diff | ( | poly | a, |
int | k, | ||
const ring | r | ||
) |
Definition at line 1898 of file p_polys.cc.
Definition at line 1973 of file p_polys.cc.
divide polynomial by monomial
Definition at line 1538 of file p_polys.cc.
Definition at line 1505 of file p_polys.cc.
poly p_DivideM | ( | poly | a, |
poly | b, | ||
const ring | r | ||
) |
Definition at line 1578 of file p_polys.cc.
divisibility check over ground ring (which may contain zero divisors); TRUE iff LT(f) divides LT(g), i.e., LT(f)*c*m = LT(g), for some coefficient c and some monomial m; does not take components into account
Definition at line 1642 of file p_polys.cc.
Definition at line 4512 of file p_polys.cc.
same as the usual p_EqualPolys for polys belonging to equal rings
Definition at line 4550 of file p_polys.cc.
|
inlinestatic |
Definition at line 1409 of file p_polys.h.
|
inlinestatic |
Definition at line 1454 of file p_polys.h.
|
inlinestatic |
Definition at line 1311 of file p_polys.h.
|
inlinestatic |
Definition at line 1472 of file p_polys.h.
Definition at line 1487 of file p_polys.h.
|
inlinestatic |
Definition at line 1438 of file p_polys.h.
|
inlinestatic |
Definition at line 1423 of file p_polys.h.
poly p_Farey | ( | poly | p, |
number | N, | ||
const ring | r | ||
) |
Definition at line 54 of file p_polys.cc.
poly p_GcdMon | ( | poly | f, |
poly | g, | ||
const ring | r | ||
) |
poly p_GetCoeffRat | ( | poly | p, |
int | ishift, | ||
ring | r | ||
) |
Definition at line 1722 of file p_polys.cc.
|
inlinestatic |
get a single variable exponent @Note: the integer VarOffset encodes:
|
inlinestatic |
Definition at line 1370 of file p_polys.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 802 of file p_polys.h.
unsigned long p_GetMaxExpL | ( | poly | p, |
const ring | r, | ||
unsigned long | l_max = 0 |
||
) |
return the maximal exponent of p in form of the maximal long var
Definition at line 1175 of file p_polys.cc.
poly p_GetMaxExpP | ( | poly | p, |
ring | r | ||
) |
return monomial r such that GetExp(r,i) is maximum of all monomials in p; coeff == 0, next == NULL, ord is not set
Definition at line 1138 of file p_polys.cc.
|
inlinestatic |
p_SetmProc p_GetSetmProc | ( | const ring | r | ) |
Definition at line 560 of file p_polys.cc.
Definition at line 4780 of file p_polys.cc.
|
inlinestatic |
int p_GetVariables | ( | poly | p, |
int * | e, | ||
const ring | r | ||
) |
set entry e[i] to 1 if var(i) occurs in p, ignore var(j) if e[j]>0 return #(e[i]>0)
Definition at line 1267 of file p_polys.cc.
Definition at line 1329 of file p_polys.cc.
Definition at line 1345 of file p_polys.cc.
copy the (leading) term of p
Definition at line 858 of file p_polys.h.
poly p_Homogen | ( | poly | p, |
int | varnum, | ||
const ring | r | ||
) |
Definition at line 3270 of file p_polys.cc.
|
inlinestatic |
|
inlinestatic |
number p_InitContent | ( | poly | ph, |
const ring | r | ||
) |
Definition at line 2635 of file p_polys.cc.
like the respective p_LmIs* routines, except that p might be empty
poly p_ISet | ( | long | i, |
const ring | r | ||
) |
returns the poly representing the integer i
Definition at line 1297 of file p_polys.cc.
Definition at line 3319 of file p_polys.cc.
Definition at line 3360 of file p_polys.cc.
Definition at line 3343 of file p_polys.cc.
Definition at line 1989 of file p_polys.h.
int p_IsUnivariate | ( | poly | p, |
const ring | r | ||
) |
return i, if poly depends only on var(i)
Definition at line 1247 of file p_polys.cc.
poly p_Jet | ( | poly | p, |
int | m, | ||
const ring | R | ||
) |
Definition at line 4386 of file p_polys.cc.
poly p_JetW | ( | poly | p, |
int | m, | ||
int * | w, | ||
const ring | R | ||
) |
Definition at line 4430 of file p_polys.cc.
Definition at line 1655 of file p_polys.cc.
Definition at line 1677 of file p_polys.cc.
BOOLEAN p_LmCheckIsFromRing | ( | poly | p, |
ring | r | ||
) |
Definition at line 74 of file pDebug.cc.
BOOLEAN p_LmCheckPolyRing | ( | poly | p, |
ring | r | ||
) |
|
inlinestatic |
Definition at line 1578 of file p_polys.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void p_LmDeleteAndNextRat | ( | poly * | p, |
int | ishift, | ||
ring | r | ||
) |
Definition at line 1700 of file p_polys.cc.
|
inlinestatic |
Definition at line 1997 of file p_polys.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 1333 of file p_polys.h.
Definition at line 1344 of file p_polys.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 1908 of file p_polys.h.
|
inlinestatic |
Definition at line 1928 of file p_polys.h.
int p_LowVar | ( | poly | p, |
const ring | r | ||
) |
the minimal index of used variables - 1
Definition at line 4680 of file p_polys.cc.
|
inlinestatic |
Definition at line 1619 of file p_polys.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
int p_MaxExpPerVar | ( | poly | p, |
int | i, | ||
const ring | r | ||
) |
poly p_MDivide | ( | poly | a, |
poly | b, | ||
const ring | r | ||
) |
Definition at line 1492 of file p_polys.cc.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 4448 of file p_polys.cc.
Definition at line 1442 of file p_polys.cc.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 1112 of file p_polys.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void p_Norm | ( | poly | p1, |
const ring | r | ||
) |
Definition at line 3719 of file p_polys.cc.
void p_Normalize | ( | poly | p, |
const ring | r | ||
) |
Definition at line 3813 of file p_polys.cc.
poly p_NSet | ( | number | n, |
const ring | r | ||
) |
returns the poly representing the number n, destroys n
Definition at line 1473 of file p_polys.cc.
poly p_One | ( | const ring | r | ) |
Definition at line 1313 of file p_polys.cc.
poly p_PermPoly | ( | poly | p, |
const int * | perm, | ||
const ring | OldRing, | ||
const ring | dst, | ||
nMapFunc | nMap, | ||
const int * | par_perm = NULL , |
||
int | OldPar = 0 , |
||
BOOLEAN | use_mult = FALSE |
||
) |
Definition at line 4130 of file p_polys.cc.
|
inlinestatic |
Definition at line 1203 of file p_polys.h.
|
inlinestatic |
Definition at line 1181 of file p_polys.h.
assumes that p and divisor are univariate polynomials in r, mentioning the same variable; assumes divisor != NULL; p may be NULL; assumes a global monomial ordering in r; performs polynomial division of p by divisor:
Definition at line 1870 of file p_polys.cc.
poly p_Power | ( | poly | p, |
int | i, | ||
const ring | r | ||
) |
Definition at line 2197 of file p_polys.cc.
void p_ProjectiveUnique | ( | poly | p, |
const ring | r | ||
) |
Definition at line 3143 of file p_polys.cc.
Definition at line 1370 of file p_polys.cc.
Definition at line 4498 of file p_polys.cc.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 252 of file p_polys.h.
|
inlinestatic |
set a single variable exponent @Note: VarOffset encodes the position in p->exp
Definition at line 486 of file p_polys.h.
|
inlinestatic |
|
inlinestatic |
void p_SetModDeg | ( | intvec * | w, |
ring | r | ||
) |
Definition at line 3673 of file p_polys.cc.
void p_ShallowDelete | ( | poly * | p, |
const ring | r | ||
) |
void p_Shift | ( | poly * | p, |
int | i, | ||
const ring | r | ||
) |
shifts components of the vector p by i
Definition at line 4706 of file p_polys.cc.
void p_SimpleContent | ( | poly | p, |
int | s, | ||
const ring | r | ||
) |
Definition at line 2564 of file p_polys.cc.
int p_Size | ( | poly | p, |
const ring | r | ||
) |
Definition at line 3253 of file p_polys.cc.
Definition at line 1217 of file p_polys.h.
Definition at line 1227 of file p_polys.h.
void p_Split | ( | poly | p, |
poly * | r | ||
) |
char * p_String | ( | poly | p, |
ring | lmRing, | ||
ring | tailRing | ||
) |
Definition at line 322 of file polys0.cc.
|
inlinestatic |
void p_String0 | ( | poly | p, |
ring | lmRing, | ||
ring | tailRing | ||
) |
print p according to ShortOut in lmRing & tailRing
Definition at line 223 of file polys0.cc.
|
inlinestatic |
void p_String0Long | ( | const poly | p, |
ring | lmRing, | ||
ring | tailRing | ||
) |
print p in a long way
print p in a long way
Definition at line 203 of file polys0.cc.
void p_String0Short | ( | const poly | p, |
ring | lmRing, | ||
ring | tailRing | ||
) |
print p in a short way, if possible
print p in a short way, if possible
Definition at line 184 of file polys0.cc.
poly p_Sub | ( | poly | a, |
poly | b, | ||
const ring | r | ||
) |
Definition at line 1990 of file p_polys.cc.
|
inlinestatic |
|
inlinestatic |
poly p_Subst | ( | poly | p, |
int | n, | ||
poly | e, | ||
const ring | r | ||
) |
Definition at line 3958 of file p_polys.cc.
poly p_TakeOutComp | ( | poly * | p, |
int | k, | ||
const ring | r | ||
) |
Definition at line 3435 of file p_polys.cc.
void p_TakeOutComp | ( | poly * | p, |
long | comp, | ||
poly * | q, | ||
int * | lq, | ||
const ring | r | ||
) |
Splits *p into two polys: *q which consists of all monoms with component == comp and *p of all other monoms *lq == pLength(*q) On return all components pf *q == 0.
Definition at line 3496 of file p_polys.cc.
|
inlinestatic |
Definition at line 1505 of file p_polys.h.
int p_Var | ( | poly | mi, |
const ring | r | ||
) |
Definition at line 4656 of file p_polys.cc.
void p_Vec2Array | ( | poly | v, |
poly * | p, | ||
int | len, | ||
const ring | r | ||
) |
julia: vector to already allocated array (len=p_MaxComp(v,r))
julia: vector to already allocated array (len=p_MaxComp(v,r))
Definition at line 3595 of file p_polys.cc.
poly p_Vec2Poly | ( | poly | v, |
int | k, | ||
const ring | r | ||
) |
Definition at line 3573 of file p_polys.cc.
void p_Vec2Polys | ( | poly | v, |
poly ** | p, | ||
int * | len, | ||
const ring | r | ||
) |
Definition at line 3625 of file p_polys.cc.
void p_VectorHasUnit | ( | poly | p, |
int * | k, | ||
int * | len, | ||
const ring | r | ||
) |
Definition at line 3379 of file p_polys.cc.
long p_WDegree | ( | poly | p, |
const ring | r | ||
) |
Definition at line 714 of file p_polys.cc.
int p_Weight | ( | int | c, |
const ring | r | ||
) |
Definition at line 705 of file p_polys.cc.
long p_WFirstTotalDegree | ( | poly | p, |
ring | r | ||
) |
void p_Write | ( | poly | p, |
ring | lmRing, | ||
ring | tailRing | ||
) |
|
inlinestatic |
void p_Write0 | ( | poly | p, |
ring | lmRing, | ||
ring | tailRing | ||
) |
|
inlinestatic |
void p_wrp | ( | poly | p, |
ring | lmRing, | ||
ring | tailRing | ||
) |
|
inlinestatic |
long p_WTotaldegree | ( | poly | p, |
const ring | r | ||
) |
Definition at line 613 of file p_polys.cc.
void pEnlargeSet | ( | poly ** | p, |
int | length, | ||
int | increment | ||
) |
Definition at line 3696 of file p_polys.cc.
BOOLEAN pHaveCommonMonoms | ( | poly | p, |
poly | q | ||
) |
BOOLEAN pIsMonomOf | ( | poly | p, |
poly | m | ||
) |
long pLDeg0 | ( | poly | p, |
int * | l, | ||
ring | r | ||
) |
Definition at line 739 of file p_polys.cc.
long pLDeg0c | ( | poly | p, |
int * | l, | ||
ring | r | ||
) |
Definition at line 770 of file p_polys.cc.
long pLDeg1 | ( | poly | p, |
int * | l, | ||
ring | r | ||
) |
Definition at line 841 of file p_polys.cc.
long pLDeg1_Deg | ( | poly | p, |
int * | l, | ||
ring | r | ||
) |
Definition at line 910 of file p_polys.cc.
long pLDeg1_Totaldegree | ( | poly | p, |
int * | l, | ||
ring | r | ||
) |
Definition at line 975 of file p_polys.cc.
long pLDeg1_WFirstTotalDegree | ( | poly | p, |
int * | l, | ||
ring | r | ||
) |
Definition at line 1038 of file p_polys.cc.
long pLDeg1c | ( | poly | p, |
int * | l, | ||
ring | r | ||
) |
Definition at line 877 of file p_polys.cc.
long pLDeg1c_Deg | ( | poly | p, |
int * | l, | ||
ring | r | ||
) |
Definition at line 941 of file p_polys.cc.
long pLDeg1c_Totaldegree | ( | poly | p, |
int * | l, | ||
ring | r | ||
) |
Definition at line 1005 of file p_polys.cc.
long pLDeg1c_WFirstTotalDegree | ( | poly | p, |
int * | l, | ||
ring | r | ||
) |
Definition at line 1068 of file p_polys.cc.
long pLDegb | ( | poly | p, |
int * | l, | ||
ring | r | ||
) |
Definition at line 811 of file p_polys.cc.
|
inlinestatic |
poly pp_DivideM | ( | poly | a, |
poly | b, | ||
const ring | r | ||
) |
Definition at line 1633 of file p_polys.cc.
poly pp_Jet | ( | poly | p, |
int | m, | ||
const ring | R | ||
) |
poly pp_JetW | ( | poly | p, |
int | m, | ||
int * | w, | ||
const ring | R | ||
) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 1149 of file p_polys.h.
Definition at line 3649 of file p_polys.cc.
|
inlinestatic |