117 int PayneOsserman =
rVar(
r)-1;
118 for (
int i=0;
i<
k;
i++)
137 for (std::set<gfan::ZCone>::iterator zc=C.begin(); zc!=C.end();)
139 gfan::ZVector
w = zc->getRelativeInteriorPoint();
140 gfan::ZMatrix W = zc->generatorsOfSpan();
146 for (
int j=0;
j<
k;
j++)
151 ideal ininIs =
initial(inIsSTD,s,w,W);
155 if (mons.first!=
NULL)
160 gs = inIsSTD->m[mons.second];
163 gs =
witness(mons.first,inIsSTD,ininIs,s);
191 if (zc->contains(wNeg))
196 for (
int j=0;
j<
k;
j++)
201 ininIs =
initial(inIsSTD,s,wNeg,W);
204 if (mons.first!=
NULL)
209 gs = inIsSTD->m[mons.second];
212 gs =
witness(mons.first,inIsSTD,ininIs,s);
const CanonicalForm int s
static ring genericlyWeightedOrdering(const ring r, const gfan::ZVector &u, const gfan::ZVector &w, const gfan::ZMatrix &W, const tropicalStrategy *currentStrategy)
ZConesSortedByDimension tropicalVarietySortedByDimension(const poly g, const ring r, const tropicalStrategy *currentCase)
static short rVar(const ring r)
#define rVar(r) (r->N)
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
poly initial(const poly p, const ring r, const gfan::ZVector &w)
Returns the initial form of p with respect to w.
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)
std::set< gfan::ZCone, ZConeCompareDimensionFirst > ZConesSortedByDimension
ideal gfanlib_kStd_wrapper(ideal I, ring r, tHomog h=testHomog)
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
BOOLEAN idInsertPoly(ideal h1, poly h2)
insert h2 into h1 (if h2 is not the zero polynomial) return TRUE iff h2 was indeed inserted ...
static ZConesSortedByDimension intersect(const ZConesSortedByDimension &setA, const ZConesSortedByDimension &setB, int d=0)
static int si_max(const int a, const int b)
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
static void p_Delete(poly *p, const ring r)
ideal idInit(int idsize, int rank)
initialise an ideal / module
gfan::ZVector negateWeight(const gfan::ZVector &w) const
poly witness(const poly m, const ideal I, const ideal inI, const ring r)
Let w be the uppermost weight vector in the matrix defining the ordering on r.
void rDelete(ring r)
unconditionally deletes fields in r
int getExpectedDimension() const
returns the expected Dimension of the polyhedral output
std::pair< poly, int > checkInitialIdealForMonomial(const ideal I, const ring r, const gfan::ZVector &w=0) const
If given w, assuming w is in the Groebner cone of the ordering on r and I is a standard basis with re...