![]() |
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) |
#define | p_Test(p, r) |
#define | p_LmTest(p, r) |
#define | pp_Test(p, lmRing, tailRing) |
#define | p_SetmComp p_Setm |
#define | __p_Mult_nn(p, n, r) |
#define | __pp_Mult_nn(p, n, r) |
#define | _p_LmCmpAction(p, q, r, actionE, actionG, actionS) |
#define | pDivAssume(x) |
#define | p_LmCmpAction(p, q, r, actionE, actionG, actionS) |
#define | p_LmEqual(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) |
unsigned long | p_GetShortExpVector0 (const poly a, const ring r) |
unsigned long | p_GetShortExpVector1 (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 | |
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 | |
int | p_IsPurePower (const poly p, const ring r) |
return i, if head depends only on var(i) | |
int | p_IsUnivariate (poly p, const ring r) |
return i, if poly depends only on var(i) | |
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) | |
poly | p_ISet (long i, const ring r) |
returns the poly representing the integer i | |
poly | p_NSet (number n, const ring r) |
returns the poly representing the number n, destroys n | |
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)) | |
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) |
poly | p_HomogenDP (poly p, int varnum, const ring r) |
BOOLEAN | p_IsHomogeneous (poly p, const ring r) |
BOOLEAN | p_IsHomogeneousDP (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 | |
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 | |
void | p_String0Long (const poly p, ring lmRing, ring tailRing) |
print p in a long way | |
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 | |
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: | |
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 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 | |
static long | p_SetExp (poly p, const int v, const long e, const ring r) |
set v^th exponent for a monomial | |
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 | |
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 | |
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) | |
static poly | p_Copy (poly p, const ring r) |
returns a copy of p | |
static poly | p_Head (const poly p, const ring r) |
copy the (leading) term of p | |
poly | p_Head0 (const poly p, const ring r) |
like p_Head, but allow NULL coeff | |
poly | p_CopyPowerProduct (const poly p, const ring r) |
like p_Head, but with coefficient 1 | |
poly | p_CopyPowerProduct0 (const poly p, const number n, const ring r) |
like p_Head, but with coefficient n | |
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 | |
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) | |
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), nCoeff_is_Domain. | |
poly | _p_Mult_q_Normal_ZeroDiv (poly p, poly q, const int copy, const ring r) |
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 | |
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 | |
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 | |
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)?! | |
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: | |
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. | |
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 | pp_Jet0 (poly p, 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 | |
void | p_Shift (poly *p, int i, const ring r) |
shifts components of the vector p by i | |
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 | |
poly | p_Div_mm (poly p, const poly m, const ring r) |
divide polynomial by monomial | |
int | p_MaxExpPerVar (poly p, int i, const ring r) |
max exponent of variable x_i in p | |
#define __pp_Mult_nn | ( | p, | |
n, | |||
r ) |
#define _p_LmCmpAction | ( | p, | |
q, | |||
r, | |||
actionE, | |||
actionG, | |||
actionS ) |
Definition at line 1292 of file p_polys.h.
#define p_LmCmpAction | ( | p, | |
q, | |||
r, | |||
actionE, | |||
actionG, | |||
actionS ) |
Definition at line 1735 of file p_polys.h.
#define p_LmEqual | ( | p1, | |
p2, | |||
r ) |
#define p_LmTest | ( | p, | |
r ) |
#define p_Test | ( | p, | |
r ) |
#define pIfThen | ( | cond, | |
check ) |
#define pp_Test | ( | p, | |
lmRing, | |||
tailRing ) |
Definition at line 1887 of file p_polys.h.
|
inlinestatic |
Definition at line 1830 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 1781 of file p_polys.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 1872 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), nCoeff_is_Domain.
Definition at line 309 of file p_Mult_q.cc.
Definition at line 195 of file p_Mult_q.cc.
BOOLEAN _p_Test | ( | poly | p, |
ring | r, | ||
int | level ) |
Definition at line 211 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 4108 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 608 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 2849 of file p_polys.cc.
void p_Cleardenom_n | ( | poly | p, |
const ring | r, | ||
number & | c ) |
Definition at line 2958 of file p_polys.cc.
|
inlinestatic |
|
inlinestatic |
Definition at line 1755 of file p_polys.h.
|
inlinestatic |
Definition at line 642 of file p_polys.h.
Definition at line 5005 of file p_polys.cc.
returns TRUE if p1 is a skalar multiple of p2 assume p1 != NULL and p2 != NULL
Definition at line 4685 of file p_polys.cc.
void p_Content | ( | poly | p, |
const ring | r ) |
Definition at line 2299 of file p_polys.cc.
void p_ContentForGB | ( | poly | p, |
const ring | r ) |
Definition at line 2359 of file p_polys.cc.
void p_ContentRat | ( | poly & | ph, |
const ring | r ) |
Definition at line 1748 of file p_polys.cc.
returns a copy of p with Lm(p) from lmRing and Tail(p) from tailRing
Definition at line 885 of file p_polys.h.
|
inlinestatic |
returns a copy of p
|
inlinestatic |
like p_Head, but with coefficient 1
Definition at line 5089 of file p_polys.cc.
like p_Head, but with coefficient n
Definition at line 5077 of file p_polys.cc.
|
inlinestatic |
long p_Deg | ( | poly | a, |
const ring | r ) |
Definition at line 586 of file p_polys.cc.
Definition at line 691 of file p_polys.cc.
|
inlinestatic |
void p_DeleteComp | ( | poly * | p, |
int | k, | ||
const ring | r ) |
Definition at line 3623 of file p_polys.cc.
poly p_Diff | ( | poly | a, |
int | k, | ||
const ring | r ) |
Definition at line 1902 of file p_polys.cc.
Definition at line 1977 of file p_polys.cc.
divide polynomial by monomial
Definition at line 1542 of file p_polys.cc.
Definition at line 1506 of file p_polys.cc.
poly p_DivideM | ( | poly | a, |
poly | b, | ||
const ring | r ) |
Definition at line 1582 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 1646 of file p_polys.cc.
Definition at line 4621 of file p_polys.cc.
same as the usual p_EqualPolys for polys belonging to equal rings
Definition at line 4659 of file p_polys.cc.
|
inlinestatic |
Definition at line 1427 of file p_polys.h.
|
inlinestatic |
Definition at line 1472 of file p_polys.h.
|
inlinestatic |
Definition at line 1329 of file p_polys.h.
|
inlinestatic |
Definition at line 1490 of file p_polys.h.
Definition at line 1505 of file p_polys.h.
|
inlinestatic |
Definition at line 1456 of file p_polys.h.
|
inlinestatic |
Definition at line 1441 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 1726 of file p_polys.cc.
|
inlinestatic |
get a single variable exponent @Note: the integer VarOffset encodes:
|
inlinestatic |
Definition at line 1388 of file p_polys.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 806 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 1176 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 1139 of file p_polys.cc.
|
inlinestatic |
p_SetmProc p_GetSetmProc | ( | const ring | r | ) |
Definition at line 559 of file p_polys.cc.
Definition at line 4889 of file p_polys.cc.
Definition at line 4940 of file p_polys.cc.
Definition at line 4955 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 1268 of file p_polys.cc.
Definition at line 1330 of file p_polys.cc.
Definition at line 1346 of file p_polys.cc.
copy the (leading) term of p
Definition at line 862 of file p_polys.h.
poly p_Homogen | ( | poly | p, |
int | varnum, | ||
const ring | r ) |
Definition at line 3274 of file p_polys.cc.
poly p_HomogenDP | ( | poly | p, |
int | varnum, | ||
const ring | r ) |
Definition at line 3320 of file p_polys.cc.
|
inlinestatic |
|
inlinestatic |
number p_InitContent | ( | poly | ph, |
const ring | r ) |
Definition at line 2639 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 1298 of file p_polys.cc.
Definition at line 3363 of file p_polys.cc.
Definition at line 3387 of file p_polys.cc.
Definition at line 3423 of file p_polys.cc.
Definition at line 3406 of file p_polys.cc.
Definition at line 2007 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 1248 of file p_polys.cc.
poly p_Jet | ( | poly | p, |
int | m, | ||
const ring | R ) |
Definition at line 4495 of file p_polys.cc.
poly p_JetW | ( | poly | p, |
int | m, | ||
int * | w, | ||
const ring | R ) |
Definition at line 4539 of file p_polys.cc.
Definition at line 1659 of file p_polys.cc.
Definition at line 1681 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 1596 of file p_polys.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void p_LmDeleteAndNextRat | ( | poly * | p, |
int | ishift, | ||
ring | r ) |
Definition at line 1704 of file p_polys.cc.
|
inlinestatic |
Definition at line 2015 of file p_polys.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 1351 of file p_polys.h.
Definition at line 1362 of file p_polys.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 1926 of file p_polys.h.
|
inlinestatic |
Definition at line 1946 of file p_polys.h.
int p_LowVar | ( | poly | p, |
const ring | r ) |
the minimal index of used variables - 1
Definition at line 4789 of file p_polys.cc.
|
inlinestatic |
Definition at line 1637 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 1493 of file p_polys.cc.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 4557 of file p_polys.cc.
Definition at line 1443 of file p_polys.cc.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 1120 of file p_polys.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void p_Norm | ( | poly | p1, |
const ring | r ) |
Definition at line 3799 of file p_polys.cc.
void p_Normalize | ( | poly | p, |
const ring | r ) |
Definition at line 3894 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 1474 of file p_polys.cc.
poly p_One | ( | const ring | r | ) |
Definition at line 1314 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 4211 of file p_polys.cc.
|
inlinestatic |
|
inlinestatic |
Definition at line 1199 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 1874 of file p_polys.cc.
poly p_Power | ( | poly | p, |
int | i, | ||
const ring | r ) |
Definition at line 2201 of file p_polys.cc.
void p_ProjectiveUnique | ( | poly | p, |
const ring | r ) |
Definition at line 3147 of file p_polys.cc.
Definition at line 1371 of file p_polys.cc.
Definition at line 4607 of file p_polys.cc.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 256 of file p_polys.h.
|
inlinestatic |
set a single variable exponent @Note: VarOffset encodes the position in p->exp
Definition at line 490 of file p_polys.h.
|
inlinestatic |
|
inlinestatic |
void p_SetModDeg | ( | intvec * | w, |
ring | r ) |
Definition at line 3753 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 4815 of file p_polys.cc.
void p_SimpleContent | ( | poly | p, |
int | s, | ||
const ring | r ) |
Definition at line 2568 of file p_polys.cc.
int p_Size | ( | poly | p, |
const ring | r ) |
Definition at line 3257 of file p_polys.cc.
Definition at line 1235 of file p_polys.h.
Definition at line 1245 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 1994 of file p_polys.cc.
|
inlinestatic |
|
inlinestatic |
poly p_Subst | ( | poly | p, |
int | n, | ||
poly | e, | ||
const ring | r ) |
Definition at line 4039 of file p_polys.cc.
poly p_TakeOutComp | ( | poly * | p, |
int | k, | ||
const ring | r ) |
Definition at line 3498 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 3575 of file p_polys.cc.
|
inlinestatic |
Definition at line 1523 of file p_polys.h.
int p_Var | ( | poly | mi, |
const ring | r ) |
Definition at line 4765 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 3675 of file p_polys.cc.
poly p_Vec2Poly | ( | poly | v, |
int | k, | ||
const ring | r ) |
Definition at line 3653 of file p_polys.cc.
void p_Vec2Polys | ( | poly | v, |
poly ** | p, | ||
int * | len, | ||
const ring | r ) |
Definition at line 3705 of file p_polys.cc.
void p_VectorHasUnit | ( | poly | p, |
int * | k, | ||
int * | len, | ||
const ring | r ) |
Definition at line 3442 of file p_polys.cc.
long p_WDegree | ( | poly | p, |
const ring | r ) |
Definition at line 715 of file p_polys.cc.
int p_Weight | ( | int | c, |
const ring | r ) |
Definition at line 706 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 612 of file p_polys.cc.
void pEnlargeSet | ( | poly ** | p, |
int | length, | ||
int | increment ) |
Definition at line 3776 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 740 of file p_polys.cc.
long pLDeg0c | ( | poly | p, |
int * | l, | ||
ring | r ) |
Definition at line 771 of file p_polys.cc.
long pLDeg1 | ( | poly | p, |
int * | l, | ||
ring | r ) |
Definition at line 842 of file p_polys.cc.
long pLDeg1_Deg | ( | poly | p, |
int * | l, | ||
ring | r ) |
Definition at line 911 of file p_polys.cc.
long pLDeg1_Totaldegree | ( | poly | p, |
int * | l, | ||
ring | r ) |
Definition at line 976 of file p_polys.cc.
long pLDeg1_WFirstTotalDegree | ( | poly | p, |
int * | l, | ||
ring | r ) |
Definition at line 1039 of file p_polys.cc.
long pLDeg1c | ( | poly | p, |
int * | l, | ||
ring | r ) |
Definition at line 878 of file p_polys.cc.
long pLDeg1c_Deg | ( | poly | p, |
int * | l, | ||
ring | r ) |
Definition at line 942 of file p_polys.cc.
long pLDeg1c_Totaldegree | ( | poly | p, |
int * | l, | ||
ring | r ) |
Definition at line 1006 of file p_polys.cc.
long pLDeg1c_WFirstTotalDegree | ( | poly | p, |
int * | l, | ||
ring | r ) |
Definition at line 1069 of file p_polys.cc.
long pLDegb | ( | poly | p, |
int * | l, | ||
ring | r ) |
Definition at line 812 of file p_polys.cc.
|
inlinestatic |
poly pp_DivideM | ( | poly | a, |
poly | b, | ||
const ring | r ) |
Definition at line 1637 of file p_polys.cc.
poly pp_Jet | ( | poly | p, |
int | m, | ||
const ring | R ) |
poly pp_Jet0 | ( | poly | p, |
const ring | R ) |
poly pp_JetW | ( | poly | p, |
int | m, | ||
int * | w, | ||
const ring | R ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 1162 of file p_polys.h.
Definition at line 3729 of file p_polys.cc.
|
inlinestatic |