109{
112
113
114
116 int PayneOsserman =
rVar(r)-1;
117 for (
int i=0;
i<
k;
i++)
118 {
120 {
121 PayneOsserman--;
123 }
124 }
125
126
127
128
129
130
131
132
133
134
135
136 for (std::set<gfan::ZCone>::iterator zc=C.begin(); zc!=C.end();)
137 {
138 gfan::ZVector
w = zc->getRelativeInteriorPoint();
139 gfan::ZMatrix W = zc->generatorsOfSpan();
140
141
145 for (
int j=0;
j<
k;
j++)
147
151
153
154 if (mons.first!=
NULL)
155 {
156 poly gs;
157 if (mons.second>=0)
158
159 gs = inIsSTD->m[mons.second];
160 else
161
162 gs =
witness(mons.first,inIsSTD,ininIs,
s);
163
169
170 if (mons.second<0)
171 {
172
175 }
176
180 zc = C.begin();
181 }
182 else
183 {
184
188
190 if (zc->contains(wNeg))
191 {
195 for (
int j=0;
j<
k;
j++)
197
201
203 if (mons.first!=
NULL)
204 {
205 poly gs;
206 if (mons.second>=0)
207
208 gs = inIsSTD->m[mons.second];
209 else
210
211 gs =
witness(mons.first,inIsSTD,ininIs,
s);
212
218
219 if (mons.second<0)
220 {
221
224 }
225
226 zc = C.begin();
227 }
228 else
229 zc++;
230
234 }
235 else
236 zc++;
237 }
238 }
239 return C;
240}
static int si_max(const int a, const int b)
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...
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
const CanonicalForm int s
BOOLEAN idInsertPoly(ideal h1, poly h2)
insert h2 into h1 (if h2 is not the zero polynomial) return TRUE iff h2 was indeed inserted
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)
static void p_Delete(poly *p, const ring r)
void rDelete(ring r)
unconditionally deletes fields in r
static short rVar(const ring r)
#define rVar(r) (r->N)
ideal idInit(int idsize, int rank)
initialise an ideal / module
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
ideal gfanlib_kStd_wrapper(ideal I, ring r, tHomog h=testHomog)
static ZConesSortedByDimension intersect(const ZConesSortedByDimension &setA, const ZConesSortedByDimension &setB, int d=0)
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)
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.