![]() |
#include <ctype.h>
#include <omalloc/omalloc.h>
#include <misc/auxiliary.h>
#include <misc/options.h>
#include <misc/intvec.h>
#include <coeffs/longrat.h>
#include <coeffs/numbers.h>
#include <polys/PolyEnumerator.h>
#include <polys/ext_fields/transext.h>
#include <polys/ext_fields/algext.h>
#include <polys/weight.h>
#include <polys/simpleideals.h>
#include "ring.h"
#include "p_polys.h"
#include <polys/templates/p_MemCmp.h>
#include <polys/templates/p_MemAdd.h>
#include <polys/templates/p_MemCopy.h>
#include "nc/nc.h"
#include "nc/sca.h"
#include "clapsing.h"
#include <polys/templates/p_Delete__T.cc>
Go to the source code of this file.
Macros | |
#define | TRANSEXT_PRIVATES |
#define | ADIDEBUG 0 |
#define | MYTEST 0 |
#define | CLEARENUMERATORS 1 |
#define | Sy_bit_L(x) (((unsigned long)1L)<<(x)) |
#define | LINKAGE |
#define | p_Delete__T p_ShallowDelete |
#define | n_Delete__T(n, r) do {} while (0) |
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) |
void | p_Setm_General (poly p, const ring r) |
void | p_Setm_Syz (poly p, ring r, int *Components, long *ShiftedComponents) |
void | p_Setm_Dummy (poly p, const ring r) |
void | p_Setm_TotalDegree (poly p, const ring r) |
void | p_Setm_WFirstTotalDegree (poly p, const ring r) |
p_SetmProc | p_GetSetmProc (const ring r) |
long | p_Deg (poly a, const ring r) |
long | p_WFirstTotalDegree (poly p, const ring r) |
long | p_WTotaldegree (poly p, const ring r) |
long | p_DegW (poly p, const short *w, const ring R) |
int | p_Weight (int i, const ring r) |
long | p_WDegree (poly p, const ring r) |
long | pLDeg0 (poly p, int *l, const ring r) |
long | pLDeg0c (poly p, int *l, const ring r) |
long | pLDegb (poly p, int *l, const ring r) |
long | pLDeg1 (poly p, int *l, const ring r) |
long | pLDeg1c (poly p, int *l, const ring r) |
long | pLDeg1_Deg (poly p, int *l, const ring r) |
long | pLDeg1c_Deg (poly p, int *l, const ring r) |
long | pLDeg1_Totaldegree (poly p, int *l, const ring r) |
long | pLDeg1c_Totaldegree (poly p, int *l, const ring r) |
long | pLDeg1_WFirstTotalDegree (poly p, int *l, const ring r) |
long | pLDeg1c_WFirstTotalDegree (poly p, int *l, const ring r) |
static unsigned long | p_GetMaxExpL2 (unsigned long l1, unsigned long l2, const ring r, unsigned long number_of_exp) |
static unsigned long | p_GetMaxExpL2 (unsigned long l1, unsigned long l2, const ring r) |
poly | p_GetMaxExpP (poly p, const 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... | |
unsigned long | p_GetMaxExpL (poly p, const ring r, unsigned long l_max) |
return the maximal exponent of p in form of the maximal long var More... | |
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_One (const ring r) |
void | p_Split (poly p, poly *h) |
BOOLEAN | p_HasNotCF (poly p1, poly p2, const ring r) |
const char * | p_Read (const char *st, poly &rc, const ring r) |
poly | p_mInit (const char *st, BOOLEAN &ok, const ring r) |
poly | p_NSet (number n, const ring r) |
returns the poly representing the number n, destroys n More... | |
poly | p_Divide (poly a, poly b, const ring r) |
poly | p_Div_nn (poly p, const number n, const ring r) |
poly | p_Div_mm (poly p, const poly m, const ring r) |
divide polynomial by monomial More... | |
poly | p_DivideM (poly a, poly b, 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... | |
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) |
void | p_LmDeleteAndNextRat (poly *p, int ishift, ring r) |
poly | p_GetCoeffRat (poly p, int ishift, ring r) |
void | p_ContentRat (poly &ph, 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... | |
poly | p_Diff (poly a, int k, const ring r) |
static poly | p_DiffOpM (poly a, poly b, BOOLEAN multiply, const ring r) |
poly | p_DiffOp (poly a, poly b, BOOLEAN multiply, const ring r) |
poly | p_Sub (poly p1, poly p2, const ring r) |
static poly | p_MonPower (poly p, int exp, const ring r) |
static void | p_MonMult (poly p, poly q, const ring r) |
static poly | p_MonMultC (poly p, poly q, const ring rr) |
static number * | pnBin (int exp, const ring r) |
static void | pnFreeBin (number *bin, int exp, const coeffs r) |
static poly | p_TwoMonPower (poly p, int exp, const ring r) |
static poly | p_Pow (poly p, int i, const ring r) |
static poly | p_Pow_charp (poly p, int i, const ring r) |
poly | p_Power (poly p, int i, const ring r) |
static number | p_InitContent (poly ph, const ring r) |
void | p_Content (poly ph, const ring r) |
void | p_SimpleContent (poly ph, int smax, const ring r) |
poly | p_Cleardenom (poly p, const ring r) |
void | p_Cleardenom_n (poly ph, const ring r, number &c) |
void | p_ProjectiveUnique (poly ph, const ring r) |
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_VectorHasUnitB (poly p, int *k, const ring r) |
void | p_VectorHasUnit (poly p, int *k, int *len, const ring r) |
poly | p_TakeOutComp1 (poly *p, int k, const ring r) |
poly | p_TakeOutComp (poly *p, int k, const ring r) |
void | p_TakeOutComp (poly *r_p, long comp, poly *r_q, int *lq, const ring r) |
void | p_DeleteComp (poly *p, int k, const ring r) |
void | p_Vec2Polys (poly v, poly **p, int *len, const ring r) |
void | pSetDegProcs (ring r, pFDegProc new_FDeg, pLDegProc new_lDeg) |
void | pRestoreDegProcs (ring r, pFDegProc old_FDeg, pLDegProc old_lDeg) |
static long | pModDeg (poly p, ring r) |
void | p_SetModDeg (intvec *w, ring r) |
void | pEnlargeSet (poly **p, int l, int increment) |
void | p_Norm (poly p1, const ring r) |
void | p_Normalize (poly p, const ring r) |
static void | p_SplitAndReversePoly (poly p, int n, poly *non_zero, poly *zero, const ring r) |
static poly | p_Subst1 (poly p, int n, const ring r) |
static poly | p_Subst2 (poly p, int n, number e, const ring r) |
static poly | p_Subst0 (poly p, int n, const ring r) |
poly | p_Subst (poly p, int n, poly e, const ring r) |
poly | n_PermNumber (const number z, const int *par_perm, const int, 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, int OldPar, BOOLEAN use_mult) |
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, short *w, const ring R) |
poly | p_JetW (poly p, int m, short *w, const ring R) |
int | p_MinDeg (poly p, intvec *w, const ring R) |
poly | p_Invers (int n, poly u, intvec *w, const ring R) |
poly | p_Series (int n, poly p, poly u, intvec *w, const ring R) |
BOOLEAN | p_EqualPolys (poly p1, poly p2, const ring r) |
static BOOLEAN | p_ExpVectorEqual (poly p1, poly p2, const ring r1, const ring r2) |
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... | |
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... | |
poly | p_Last (const poly p, int &l, const ring r) |
int | p_Var (poly m, 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... | |
static unsigned long | GetBitFields (const long e, const unsigned int s, const unsigned int n) |
unsigned long | p_GetShortExpVector (const poly p, const ring r) |
unsigned long | p_GetShortExpVector (const poly p, const poly pp, const ring r) |
p_GetShortExpVector of p * pp 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... | |
Variables | |
static int * | _components = NULL |
static long * | _componentsShifted = NULL |
static int | _componentsExternal = 0 |
BOOLEAN | pSetm_error =0 |
static pFDegProc | pOldFDeg |
static pLDegProc | pOldLDeg |
static BOOLEAN | pOldLexOrder |
#define ADIDEBUG 0 |
Definition at line 56 of file p_polys.cc.
#define CLEARENUMERATORS 1 |
Definition at line 2253 of file p_polys.cc.
#define LINKAGE |
Definition at line 4748 of file p_polys.cc.
#define MYTEST 0 |
Definition at line 160 of file p_polys.cc.
Definition at line 4752 of file p_polys.cc.
#define p_Delete__T p_ShallowDelete |
Definition at line 4750 of file p_polys.cc.
#define Sy_bit_L | ( | x | ) | (((unsigned long)1L)<<(x)) |
#define TRANSEXT_PRIVATES |
Definition at line 26 of file p_polys.cc.
|
inlinestatic |
Definition at line 4602 of file p_polys.cc.
poly n_PermNumber | ( | const number | z, |
const int * | par_perm, | ||
const int | , | ||
const ring | src, | ||
const ring | dst | ||
) |
Definition at line 3881 of file p_polys.cc.
poly p_ChineseRemainder | ( | poly * | xx, |
number * | x, | ||
number * | q, | ||
int | rl, | ||
CFArray & | inv_cache, | ||
const ring | R | ||
) |
Definition at line 94 of file p_polys.cc.
Definition at line 2755 of file p_polys.cc.
Definition at line 2883 of file p_polys.cc.
Definition at line 4760 of file p_polys.cc.
returns TRUE if p1 is a skalar multiple of p2 assume p1 != NULL and p2 != NULL
Definition at line 4431 of file p_polys.cc.
Definition at line 2255 of file p_polys.cc.
Definition at line 1705 of file p_polys.cc.
Definition at line 588 of file p_polys.cc.
Definition at line 691 of file p_polys.cc.
Definition at line 3488 of file p_polys.cc.
Definition at line 1859 of file p_polys.cc.
Definition at line 1934 of file p_polys.cc.
Definition at line 1895 of file p_polys.cc.
divide polynomial by monomial
Definition at line 1509 of file p_polys.cc.
Definition at line 1476 of file p_polys.cc.
Definition at line 1463 of file p_polys.cc.
Definition at line 1549 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 1603 of file p_polys.cc.
Definition at line 4367 of file p_polys.cc.
same as the usual p_EqualPolys for polys belonging to equal rings
Definition at line 4405 of file p_polys.cc.
Definition at line 4381 of file p_polys.cc.
Definition at line 61 of file p_polys.cc.
polynomial gcd for f=mon
Definition at line 4794 of file p_polys.cc.
Definition at line 1683 of file p_polys.cc.
return the maximal exponent of p in form of the maximal long var
Definition at line 1176 of file p_polys.cc.
|
inlinestatic |
Definition at line 1108 of file p_polys.cc.
|
inlinestatic |
Definition at line 1134 of file p_polys.cc.
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.
p_SetmProc p_GetSetmProc | ( | const ring | r | ) |
Definition at line 561 of file p_polys.cc.
Definition at line 4635 of file p_polys.cc.
p_GetShortExpVector of p * pp
Definition at line 4687 of file p_polys.cc.
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 3200 of file p_polys.cc.
Definition at line 2522 of file p_polys.cc.
Definition at line 4324 of file p_polys.cc.
returns the poly representing the integer i
Definition at line 1298 of file p_polys.cc.
Definition at line 3249 of file p_polys.cc.
return i, if head depends only on var(i)
Definition at line 1227 of file p_polys.cc.
return i, if poly depends only on var(i)
Definition at line 1248 of file p_polys.cc.
Definition at line 4241 of file p_polys.cc.
Definition at line 4285 of file p_polys.cc.
Definition at line 4476 of file p_polys.cc.
Definition at line 1616 of file p_polys.cc.
Definition at line 1625 of file p_polys.cc.
Definition at line 1638 of file p_polys.cc.
void p_LmDeleteAndNextRat | ( | poly * | p, |
int | ishift, | ||
ring | r | ||
) |
Definition at line 1661 of file p_polys.cc.
the minimal index of used variables - 1
Definition at line 4535 of file p_polys.cc.
Definition at line 4303 of file p_polys.cc.
Definition at line 1421 of file p_polys.cc.
Definition at line 1985 of file p_polys.cc.
Definition at line 2005 of file p_polys.cc.
Definition at line 1961 of file p_polys.cc.
Definition at line 3627 of file p_polys.cc.
Definition at line 3680 of file p_polys.cc.
returns the poly representing the number n, destroys n
Definition at line 1444 of file p_polys.cc.
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, | ||
int | OldPar, | ||
BOOLEAN | use_mult | ||
) |
Definition at line 3985 of file p_polys.cc.
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 1831 of file p_polys.cc.
Definition at line 2132 of file p_polys.cc.
Definition at line 2146 of file p_polys.cc.
Definition at line 2158 of file p_polys.cc.
Definition at line 3072 of file p_polys.cc.
Definition at line 1349 of file p_polys.cc.
Definition at line 4353 of file p_polys.cc.
Definition at line 542 of file p_polys.cc.
!!!????? where?????
Definition at line 163 of file p_polys.cc.
void p_Setm_Syz | ( | poly | p, |
ring | r, | ||
int * | Components, | ||
long * | ShiftedComponents | ||
) |
Definition at line 532 of file p_polys.cc.
Definition at line 548 of file p_polys.cc.
Definition at line 555 of file p_polys.cc.
void p_SetModDeg | ( | intvec * | w, |
ring | r | ||
) |
Definition at line 3579 of file p_polys.cc.
Definition at line 2464 of file p_polys.cc.
Definition at line 3183 of file p_polys.cc.
Definition at line 1321 of file p_polys.cc.
|
static |
Definition at line 3693 of file p_polys.cc.
Definition at line 1951 of file p_polys.cc.
Definition at line 3822 of file p_polys.cc.
Definition at line 3797 of file p_polys.cc.
Definition at line 3729 of file p_polys.cc.
Definition at line 3756 of file p_polys.cc.
Definition at line 3379 of file p_polys.cc.
Definition at line 3440 of file p_polys.cc.
Definition at line 3328 of file p_polys.cc.
Definition at line 2067 of file p_polys.cc.
Definition at line 4511 of file p_polys.cc.
Definition at line 3521 of file p_polys.cc.
Definition at line 3296 of file p_polys.cc.
Definition at line 3271 of file p_polys.cc.
Definition at line 715 of file p_polys.cc.
int p_Weight | ( | int | i, |
const ring | r | ||
) |
Definition at line 706 of file p_polys.cc.
Definition at line 597 of file p_polys.cc.
Definition at line 614 of file p_polys.cc.
void pEnlargeSet | ( | poly ** | p, |
int | l, | ||
int | increment | ||
) |
Definition at line 3602 of file p_polys.cc.
Definition at line 740 of file p_polys.cc.
Definition at line 771 of file p_polys.cc.
Definition at line 842 of file p_polys.cc.
Definition at line 911 of file p_polys.cc.
Definition at line 976 of file p_polys.cc.
Definition at line 1039 of file p_polys.cc.
Definition at line 878 of file p_polys.cc.
Definition at line 942 of file p_polys.cc.
Definition at line 1006 of file p_polys.cc.
Definition at line 1069 of file p_polys.cc.
Definition at line 812 of file p_polys.cc.
|
static |
Definition at line 3570 of file p_polys.cc.
|
static |
Definition at line 2019 of file p_polys.cc.
Definition at line 2050 of file p_polys.cc.
Definition at line 4213 of file p_polys.cc.
Definition at line 4258 of file p_polys.cc.
Definition at line 3555 of file p_polys.cc.
Definition at line 3543 of file p_polys.cc.
|
static |
Definition at line 151 of file p_polys.cc.
|
static |
Definition at line 153 of file p_polys.cc.
|
static |
Definition at line 152 of file p_polys.cc.
|
static |
Definition at line 3566 of file p_polys.cc.
|
static |
Definition at line 3567 of file p_polys.cc.
|
static |
Definition at line 3568 of file p_polys.cc.
BOOLEAN pSetm_error =0 |
Definition at line 155 of file p_polys.cc.