21{
23 std::set<gfan::ZCone> tropVar;
25 {
26 int* expv = (
int*)
omAlloc((n+1)*
sizeof(int));
27 gfan::ZMatrix exponents = gfan::ZMatrix(0,n);
29 {
33 }
35
36 int l = exponents.getHeight();
37 gfan::ZVector lowerHalfSpaceCondition = gfan::ZVector(n);
38 lowerHalfSpaceCondition[0] = -1;
39 for (
int i=0;
i<
l;
i++)
40 {
41 for (
int j=
i+1;
j<
l;
j++)
42 {
43 gfan::ZMatrix equation = gfan::ZMatrix(0,n);
44 equation.appendRow(exponents[
i].toVector()-exponents[
j].toVector());
48 for (
int k=0;
k<
l;
k++)
51 if (zc.dimension()>=n-1)
52 {
53 zc.canonicalize();
54 tropVar.insert(zc);
55 }
56 }
57 }
58 }
59 return tropVar;
60}
BOOLEAN inequalities(leftv res, leftv args)
gfan::ZVector intStar2ZVector(const int d, const int *i)
bool restrictToLowerHalfSpace() const
returns true, if valuation non-trivial, false otherwise
const CanonicalForm int s
#define omFreeSize(addr, size)
static void p_GetExpV(poly p, int *ev, const ring r)
static short rVar(const ring r)
#define rVar(r) (r->N)