![]() |
#include <ctype.h>
#include <omalloc/omalloc.h>
#include <misc/auxiliary.h>
#include <misc/options.h>
#include <misc/intvec.h>
#include <coeffs/longrat.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 "coeffrings.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_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_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_Series (int n, poly p, poly u, intvec *w, const ring R) |
poly | p_Invers (int n, 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... | |
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 2205 of file p_polys.cc.
#define LINKAGE |
Definition at line 4699 of file p_polys.cc.
#define MYTEST 0 |
Definition at line 160 of file p_polys.cc.
Definition at line 4703 of file p_polys.cc.
#define p_Delete__T p_ShallowDelete |
Definition at line 4701 of file p_polys.cc.
#define Sy_bit_L | ( | x | ) | (((unsigned long)1L)<<(x)) |
#define TRANSEXT_PRIVATES |
Definition at line 25 of file p_polys.cc.
|
inlinestatic |
Definition at line 4553 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 3833 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 2707 of file p_polys.cc.
Definition at line 2837 of file p_polys.cc.
returns TRUE if p1 is a skalar multiple of p2 assume p1 != NULL and p2 != NULL
Definition at line 4382 of file p_polys.cc.
Definition at line 2207 of file p_polys.cc.
Definition at line 1655 of file p_polys.cc.
Definition at line 586 of file p_polys.cc.
Definition at line 689 of file p_polys.cc.
Definition at line 3437 of file p_polys.cc.
Definition at line 1809 of file p_polys.cc.
Definition at line 1884 of file p_polys.cc.
Definition at line 1845 of file p_polys.cc.
Definition at line 1480 of file p_polys.cc.
Definition at line 1467 of file p_polys.cc.
Definition at line 1501 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 1559 of file p_polys.cc.
Definition at line 4318 of file p_polys.cc.
same as the usual p_EqualPolys for polys belonging to equal rings
Definition at line 4356 of file p_polys.cc.
Definition at line 4332 of file p_polys.cc.
Definition at line 61 of file p_polys.cc.
Definition at line 1633 of file p_polys.cc.
return the maximal exponent of p in form of the maximal long var
Definition at line 1174 of file p_polys.cc.
|
inlinestatic |
Definition at line 1106 of file p_polys.cc.
|
inlinestatic |
Definition at line 1132 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 1137 of file p_polys.cc.
p_SetmProc p_GetSetmProc | ( | const ring | r | ) |
Definition at line 559 of file p_polys.cc.
Definition at line 4586 of file p_polys.cc.
p_GetShortExpVector of p * pp
Definition at line 4638 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 1272 of file p_polys.cc.
Definition at line 1334 of file p_polys.cc.
Definition at line 3149 of file p_polys.cc.
Definition at line 2474 of file p_polys.cc.
Definition at line 4290 of file p_polys.cc.
returns the poly representing the integer i
Definition at line 1302 of file p_polys.cc.
Definition at line 3198 of file p_polys.cc.
return i, if head depends only on var(i)
Definition at line 1224 of file p_polys.cc.
return i, if poly depends only on var(i)
Definition at line 1252 of file p_polys.cc.
Definition at line 4192 of file p_polys.cc.
Definition at line 4236 of file p_polys.cc.
Definition at line 4427 of file p_polys.cc.
Definition at line 1572 of file p_polys.cc.
Definition at line 1588 of file p_polys.cc.
void p_LmDeleteAndNextRat | ( | poly * | p, |
int | ishift, | ||
ring | r | ||
) |
Definition at line 1611 of file p_polys.cc.
the minimal index of used variables - 1
Definition at line 4486 of file p_polys.cc.
Definition at line 4254 of file p_polys.cc.
Definition at line 1425 of file p_polys.cc.
Definition at line 1935 of file p_polys.cc.
Definition at line 1955 of file p_polys.cc.
Definition at line 1911 of file p_polys.cc.
Definition at line 3576 of file p_polys.cc.
Definition at line 3632 of file p_polys.cc.
returns the poly representing the number n, destroys n
Definition at line 1448 of file p_polys.cc.
Definition at line 1318 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 3937 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 1781 of file p_polys.cc.
Definition at line 2082 of file p_polys.cc.
Definition at line 2096 of file p_polys.cc.
Definition at line 2108 of file p_polys.cc.
Definition at line 3019 of file p_polys.cc.
Definition at line 1353 of file p_polys.cc.
Definition at line 4276 of file p_polys.cc.
Definition at line 540 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 530 of file p_polys.cc.
Definition at line 546 of file p_polys.cc.
Definition at line 553 of file p_polys.cc.
void p_SetModDeg | ( | intvec * | w, |
ring | r | ||
) |
Definition at line 3528 of file p_polys.cc.
Definition at line 2416 of file p_polys.cc.
Definition at line 3132 of file p_polys.cc.
Definition at line 1325 of file p_polys.cc.
|
static |
Definition at line 3645 of file p_polys.cc.
Definition at line 1901 of file p_polys.cc.
Definition at line 3774 of file p_polys.cc.
Definition at line 3749 of file p_polys.cc.
Definition at line 3681 of file p_polys.cc.
Definition at line 3708 of file p_polys.cc.
Definition at line 3328 of file p_polys.cc.
Definition at line 3389 of file p_polys.cc.
Definition at line 3277 of file p_polys.cc.
Definition at line 2017 of file p_polys.cc.
Definition at line 4462 of file p_polys.cc.
Definition at line 3470 of file p_polys.cc.
Definition at line 3245 of file p_polys.cc.
Definition at line 3220 of file p_polys.cc.
Definition at line 713 of file p_polys.cc.
int p_Weight | ( | int | i, |
const ring | r | ||
) |
Definition at line 704 of file p_polys.cc.
Definition at line 595 of file p_polys.cc.
Definition at line 612 of file p_polys.cc.
void pEnlargeSet | ( | poly ** | p, |
int | l, | ||
int | increment | ||
) |
Definition at line 3551 of file p_polys.cc.
Definition at line 738 of file p_polys.cc.
Definition at line 769 of file p_polys.cc.
Definition at line 840 of file p_polys.cc.
Definition at line 909 of file p_polys.cc.
Definition at line 974 of file p_polys.cc.
Definition at line 1037 of file p_polys.cc.
Definition at line 876 of file p_polys.cc.
Definition at line 940 of file p_polys.cc.
Definition at line 1004 of file p_polys.cc.
Definition at line 1067 of file p_polys.cc.
Definition at line 810 of file p_polys.cc.
|
static |
Definition at line 3519 of file p_polys.cc.
|
static |
Definition at line 1969 of file p_polys.cc.
Definition at line 2000 of file p_polys.cc.
Definition at line 4164 of file p_polys.cc.
Definition at line 4209 of file p_polys.cc.
Definition at line 3504 of file p_polys.cc.
Definition at line 3492 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 3515 of file p_polys.cc.
|
static |
Definition at line 3516 of file p_polys.cc.
|
static |
Definition at line 3517 of file p_polys.cc.
BOOLEAN pSetm_error =0 |
Definition at line 155 of file p_polys.cc.