![]() |
My Project
|
#include <ctype.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 "polys/shiftop.h"
#include "clapsing.h"
#include "polys/templates/p_Delete__T.cc"
Go to the source code of this file.
Macros | |
#define | TRANSEXT_PRIVATES |
#define | MYTEST 0 |
#define | CLEARENUMERATORS 1 |
#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 int *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 | |
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 | |
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_One (const ring r) |
void | p_Split (poly p, poly *h) |
BOOLEAN | p_HasNotCF (poly p1, poly p2, const ring r) |
BOOLEAN | p_HasNotCFRing (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 | |
poly | p_MDivide (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 | |
poly | p_DivideM (poly a, poly b, const ring r) |
poly | pp_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 | |
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: | |
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) |
void | p_Content (poly ph, const ring r) |
void | p_ContentForGB (poly ph, const ring r) |
void | p_SimpleContent (poly ph, int smax, const ring r) |
number | p_InitContent (poly ph, 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_IsHomogeneousW (poly p, const intvec *w, const ring r) |
BOOLEAN | p_IsHomogeneousW (poly p, const intvec *w, const intvec *module_w, 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_TakeOutComp (poly *p, int k, const ring r) |
void | p_TakeOutComp (poly *r_p, long comp, poly *r_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. | |
void | p_DeleteComp (poly *p, int k, 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) |
vector to already allocated array (len>=p_MaxComp(v,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, int *w, const ring R) |
poly | p_JetW (poly p, int m, int *w, const ring R) |
int | p_MinDeg (poly p, intvec *w, const ring R) |
static 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 | |
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 | |
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 | |
void | p_Shift (poly *p, int i, const ring r) |
shifts components of the vector p by i | |
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_GetShortExpVector0 (const poly p, const ring r) |
unsigned long | p_GetShortExpVector1 (const poly p, const ring r) |
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_CopyPowerProduct0 (const poly p, number n, const ring r) |
like p_Head, but with coefficient n | |
poly | p_CopyPowerProduct (const poly p, const ring r) |
like p_Head, but with coefficient 1 | |
poly | p_Head0 (const poly p, const ring r) |
like p_Head, but allow NULL coeff | |
int | p_MaxExpPerVar (poly p, int i, const ring r) |
max exponent of variable x_i in p | |
#define CLEARENUMERATORS 1 |
Definition at line 2353 of file p_polys.cc.
#define LINKAGE |
Definition at line 4884 of file p_polys.cc.
#define MYTEST 0 |
Definition at line 155 of file p_polys.cc.
Definition at line 4888 of file p_polys.cc.
#define p_Delete__T p_ShallowDelete |
Definition at line 4886 of file p_polys.cc.
#define TRANSEXT_PRIVATES |
Definition at line 24 of file p_polys.cc.
|
inlinestatic |
Definition at line 4748 of file p_polys.cc.
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.
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.
Definition at line 2845 of file p_polys.cc.
Definition at line 2954 of file p_polys.cc.
Definition at line 4896 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.
Definition at line 2295 of file p_polys.cc.
Definition at line 2355 of file p_polys.cc.
Definition at line 1744 of file p_polys.cc.
like p_Head, but with coefficient 1
Definition at line 4980 of file p_polys.cc.
like p_Head, but with coefficient n
Definition at line 4968 of file p_polys.cc.
Definition at line 587 of file p_polys.cc.
Definition at line 690 of file p_polys.cc.
Definition at line 3544 of file p_polys.cc.
Definition at line 1898 of file p_polys.cc.
Definition at line 1973 of file p_polys.cc.
Definition at line 1934 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.
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.
Definition at line 4526 of file p_polys.cc.
Definition at line 54 of file p_polys.cc.
polynomial gcd for f=mon
Definition at line 4930 of file p_polys.cc.
Definition at line 1722 of file p_polys.cc.
return the maximal exponent of p in form of the maximal long var
Definition at line 1175 of file p_polys.cc.
|
inlinestatic |
Definition at line 1133 of file p_polys.cc.
|
inlinestatic |
Definition at line 1107 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 1138 of file p_polys.cc.
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.
Definition at line 4831 of file p_polys.cc.
Definition at line 4846 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 1267 of file p_polys.cc.
Definition at line 1329 of file p_polys.cc.
Definition at line 1345 of file p_polys.cc.
Definition at line 3270 of file p_polys.cc.
Definition at line 2635 of file p_polys.cc.
Definition at line 4469 of file p_polys.cc.
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.
return i, if poly depends only on var(i)
Definition at line 1247 of file p_polys.cc.
Definition at line 4386 of file p_polys.cc.
Definition at line 4430 of file p_polys.cc.
Definition at line 4621 of file p_polys.cc.
Definition at line 1655 of file p_polys.cc.
Definition at line 1677 of file p_polys.cc.
Definition at line 1700 of file p_polys.cc.
the minimal index of used variables - 1
Definition at line 4680 of file p_polys.cc.
Definition at line 1492 of file p_polys.cc.
Definition at line 4448 of file p_polys.cc.
Definition at line 1442 of file p_polys.cc.
Definition at line 2024 of file p_polys.cc.
Definition at line 2044 of file p_polys.cc.
Definition at line 2000 of file p_polys.cc.
Definition at line 3719 of file p_polys.cc.
Definition at line 3813 of file p_polys.cc.
returns the poly representing the number n, destroys n
Definition at line 1473 of file p_polys.cc.
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, | ||
int | OldPar, | ||
BOOLEAN | use_mult ) |
Definition at line 4130 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 1870 of file p_polys.cc.
Definition at line 2185 of file p_polys.cc.
Definition at line 2197 of file p_polys.cc.
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.
Definition at line 541 of file p_polys.cc.
!!!????? where?????
Definition at line 158 of file p_polys.cc.
Definition at line 531 of file p_polys.cc.
Definition at line 547 of file p_polys.cc.
Definition at line 554 of file p_polys.cc.
Definition at line 3673 of file p_polys.cc.
shifts components of the vector p by i
Definition at line 4706 of file p_polys.cc.
Definition at line 2564 of file p_polys.cc.
Definition at line 3253 of file p_polys.cc.
void p_Split | ( | poly | p, |
poly * | h ) |
|
static |
Definition at line 3829 of file p_polys.cc.
Definition at line 1990 of file p_polys.cc.
Definition at line 3958 of file p_polys.cc.
Definition at line 3933 of file p_polys.cc.
Definition at line 3865 of file p_polys.cc.
Definition at line 3892 of file p_polys.cc.
Definition at line 3435 of file p_polys.cc.
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.
Definition at line 2106 of file p_polys.cc.
Definition at line 4656 of file p_polys.cc.
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.
Definition at line 3573 of file p_polys.cc.
Definition at line 3625 of file p_polys.cc.
Definition at line 3402 of file p_polys.cc.
Definition at line 3379 of file p_polys.cc.
Definition at line 714 of file p_polys.cc.
Definition at line 705 of file p_polys.cc.
Definition at line 613 of file p_polys.cc.
Definition at line 3696 of file p_polys.cc.
Definition at line 739 of file p_polys.cc.
Definition at line 910 of file p_polys.cc.
Definition at line 975 of file p_polys.cc.
Definition at line 1038 of file p_polys.cc.
Definition at line 877 of file p_polys.cc.
Definition at line 941 of file p_polys.cc.
Definition at line 1005 of file p_polys.cc.
Definition at line 1068 of file p_polys.cc.
Definition at line 811 of file p_polys.cc.
Definition at line 3664 of file p_polys.cc.
Definition at line 2058 of file p_polys.cc.
Definition at line 1633 of file p_polys.cc.
STATIC_VAR int* _components = NULL |
Definition at line 146 of file p_polys.cc.
STATIC_VAR int _componentsExternal = 0 |
Definition at line 148 of file p_polys.cc.
STATIC_VAR long* _componentsShifted = NULL |
Definition at line 147 of file p_polys.cc.
STATIC_VAR pFDegProc pOldFDeg |
Definition at line 3660 of file p_polys.cc.
STATIC_VAR pLDegProc pOldLDeg |
Definition at line 3661 of file p_polys.cc.
STATIC_VAR BOOLEAN pOldLexOrder |
Definition at line 3662 of file p_polys.cc.
Definition at line 150 of file p_polys.cc.