source: git/libpolys/polys/shiftop.h @ f006a1

spielwiese
Last change on this file since f006a1 was f006a1, checked in by Karim Abou Zeid <karim23697@…>, 5 years ago
Syzygies via LPncGenCount ring variable
  • Property mode set to 100644
File size: 2.6 KB
Line 
1#ifndef SHIFTOP_H
2#define SHIFTOP_H
3
4#include "misc/auxiliary.h"
5#ifdef HAVE_SHIFTBBA
6#include "monomials/ring.h"
7
8poly shift_pp_Mult_mm(poly p, const poly m, const ring r);
9poly shift_p_Mult_mm(poly p, const poly m, const ring r);
10poly shift_pp_mm_Mult(poly p, const poly m, const ring r);
11poly shift_p_mm_Mult(poly p, const poly m, const ring r);
12poly shift_p_Minus_mm_Mult_qq(poly p, poly m, poly q, int& Shorter, const poly spNoether, const ring r);
13poly shift_pp_Mult_mm_Noether_STUB(poly p, const poly m, const poly spNoether, int &ll, const ring ri);
14poly shift_pp_Mult_Coeff_mm_DivSelectMult_STUB(poly p,const poly m, const poly a, const poly b, int &shorter,const ring r);
15poly shift_pp_Mult_Coeff_mm_DivSelect_STUB(poly p, const poly m, int &shorter, const ring r);
16
17void p_mLPunshift(poly m, const ring ri);
18void p_LPunshift(poly p, const ring ri);
19void p_mLPshift(poly p, int sh, const ring r);
20void 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
26int p_LastVblock(poly p, const ring r);
27int p_mLastVblock(poly p, const ring r);
28int p_mLastVblock(poly p, int *expV, const ring r);
29int p_FirstVblock(poly p, const ring r);
30int p_mFirstVblock(poly p, const ring r);
31int 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
37void p_LPExpVappend(int *m1ExpV, int *m2ExpV, int m1Length, int m2Length, const ring ri);
38void p_LPExpVprepend(int *m1ExpV, int *m2ExpV, int m1Length, int m2Length, const ring ri);
39
40void WriteLPExpV(int *expV, ring ri);
41char* LPExpVString(int *expV, ring ri);
42
43void k_SplitFrame(poly &m1, poly &m2, int at, const ring r);
44#define kSplitFrame(m1, m2, at) k_SplitFrame(m1, m2, at, currRing);
45
46int id_IsInV(ideal I, const ring r);
47int p_IsInV(poly p, const ring r);
48int 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
53BOOLEAN p_LPDivisibleBy(poly a, poly b, const ring r);
54BOOLEAN p_LPLmDivisibleBy(poly a, poly b, const ring r);
55BOOLEAN _p_LPLmDivisibleByNoComp(poly a, poly b, const ring r);
56
57BOOLEAN _p_mLPNCGenValid(int *mExpV, const ring r);
58
59poly p_LPVarAt(poly p, int pos, const ring r);
60
61/// create the letterplace ring corresponding to r up to degree d
62ring freeAlgebra(ring r, int d, int LPncGenCount = 0);
63#endif
64#endif
Note: See TracBrowser for help on using the repository browser.