1 | #ifndef SHIFTOP_H |
---|
2 | #define SHIFTOP_H |
---|
3 | |
---|
4 | #include "misc/auxiliary.h" |
---|
5 | #ifdef HAVE_SHIFTBBA |
---|
6 | #include "monomials/ring.h" |
---|
7 | |
---|
8 | poly shift_pp_Mult_mm(poly p, const poly m, const ring r); |
---|
9 | poly shift_p_Mult_mm(poly p, const poly m, const ring r); |
---|
10 | poly shift_pp_mm_Mult(poly p, const poly m, const ring r); |
---|
11 | poly shift_p_mm_Mult(poly p, const poly m, const ring r); |
---|
12 | poly shift_p_Minus_mm_Mult_qq(poly p, poly m, poly q, int& Shorter, const poly spNoether, const ring r); |
---|
13 | poly shift_pp_Mult_mm_Noether_STUB(poly p, const poly m, const poly spNoether, int &ll, const ring ri); |
---|
14 | poly shift_pp_Mult_Coeff_mm_DivSelectMult_STUB(poly p,const poly m, const poly a, const poly b, int &shorter,const ring r); |
---|
15 | poly shift_pp_Mult_Coeff_mm_DivSelect_STUB(poly p, const poly m, int &shorter, const ring r); |
---|
16 | |
---|
17 | void p_mLPunshift(poly m, const ring ri); |
---|
18 | void p_LPunshift(poly p, const ring ri); |
---|
19 | void p_mLPshift(poly p, int sh, const ring r); |
---|
20 | void p_LPshift(poly p, int sh, const ring r); |
---|
21 | #define pLPunshift(p, sh) p_LPunshift(p, currRing) |
---|
22 | #define pmLPunshift(p, sh) p_mLPunshift(p, currRing) |
---|
23 | #define pLPshift(p, sh) p_LPshift(p, sh, currRing) |
---|
24 | #define pmLPshift(p, sh) p_mLPshift(p, sh, currRing) |
---|
25 | |
---|
26 | int p_LastVblock(poly p, const ring r); |
---|
27 | int p_mLastVblock(poly p, const ring r); |
---|
28 | int p_mLastVblock(poly p, int *expV, const ring r); |
---|
29 | int p_FirstVblock(poly p, const ring r); |
---|
30 | int p_mFirstVblock(poly p, const ring r); |
---|
31 | int p_mFirstVblock(poly p, int *expV, const ring r); |
---|
32 | #define pLastVblock(p) p_LastVblock(p,currRing) |
---|
33 | #define pmLastVblock(p) p_mLastVblock(p,currRing) |
---|
34 | #define pFirstVblock(p) p_FirstVblock(p,currRing) |
---|
35 | #define pmFirstVblock(p) p_mFirstVblock(p,currRing) |
---|
36 | |
---|
37 | void p_LPExpVappend(int *m1ExpV, int *m2ExpV, int m1Length, int m2Length, const ring ri); |
---|
38 | void p_LPExpVprepend(int *m1ExpV, int *m2ExpV, int m1Length, int m2Length, const ring ri); |
---|
39 | |
---|
40 | void WriteLPExpV(int *expV, ring ri); |
---|
41 | char* LPExpVString(int *expV, ring ri); |
---|
42 | |
---|
43 | void k_SplitFrame(poly &m1, poly &m2, int at, const ring r); |
---|
44 | #define kSplitFrame(m1, m2, at) k_SplitFrame(m1, m2, at, currRing); |
---|
45 | |
---|
46 | int id_IsInV(ideal I, const ring r); |
---|
47 | int p_IsInV(poly p, const ring r); |
---|
48 | int p_mIsInV(poly p, const ring r); |
---|
49 | #define idIsInV(I) id_IsInV(I, currRing) |
---|
50 | #define pIsInV(p) p_IsInV(p, currRing) |
---|
51 | #define pmIsInV(p) p_mIsInV(p, currRing) |
---|
52 | |
---|
53 | BOOLEAN p_LPDivisibleBy(poly a, poly b, const ring r); |
---|
54 | BOOLEAN p_LPLmDivisibleBy(poly a, poly b, const ring r); |
---|
55 | BOOLEAN _p_LPLmDivisibleByNoComp(poly a, poly b, const ring r); |
---|
56 | |
---|
57 | BOOLEAN _p_mLPNCGenValid(int *mExpV, const ring r); |
---|
58 | |
---|
59 | poly p_LPVarAt(poly p, int pos, const ring r); |
---|
60 | |
---|
61 | /// create the letterplace ring corresponding to r up to degree d |
---|
62 | ring freeAlgebra(ring r, int d, int LPncGenCount = 0); |
---|
63 | #endif |
---|
64 | #endif |
---|