 |
My Project
debian-1:4.1.1-p2+ds-4build2
|
Go to the source code of this file.
◆ groebnerTraversal()
Pick a maximal Groebner cone from the working list and compute interior points on its facets as well as outer facet normals
Definition at line 141 of file tropicalTraversal.cc.
147 workingList.insert(startingCone);
148 std::set<gfan::ZVector> finishedInteriorPoints;
151 while(!workingList.empty())
158 workingList.erase(workingList.begin());
161 gfan::ZMatrix interiorPoints = interiorPointsAndOuterFacetNormals.first;
162 gfan::ZMatrix outerFacetNormals = interiorPointsAndOuterFacetNormals.second;
165 for (
int i=0;
i<interiorPoints.getHeight();
i++)
167 gfan::ZVector interiorPoint = interiorPoints[
i];
169 if (needToFlip[
i]==
true)
172 workingList.insert(neighbour);
174 finishedInteriorPoints.insert(interiorPoints[
i]);
180 Print(
"cones finished: %lu cones in working list: %lu\n",
181 (
unsigned long)
groebnerFan.size(), (
unsigned long)workingList.size());
◆ tropicalTraversal()
◆ tropicalTraversalMinimizingFlips()
Pick an element the working list and compute interior points on its facets
For each interior point, compute the rays of the tropical star in that point
Definition at line 52 of file tropicalTraversal.cc.
61 workingList.insert(startingCone);
63 std::set<gfan::ZVector> finishedInteriorPoints;
64 while(!workingList.empty())
72 for (
int i=0;
i<interiorPoints.getHeight();
i++)
77 gfan::ZVector interiorPoint = interiorPoints[
i];
90 for (
int j=0;
j<normalVectors.getHeight();
j++)
95 workingList.insert(neighbour);
99 finishedInteriorPoints.insert(interiorPoint);
103 workingList.erase(sigma);
106 Print(
"cones finished: %lu cones in working list: %lu\n",
107 (
unsigned long)
tropicalVariety.size(), (
unsigned long)workingList.size());
bool isValuationTrivial() const
bool restrictToLowerHalfSpace() const
returns true, if valuation non-trivial, false otherwise
std::set< groebnerCone, groebnerCone_compare > groebnerCones
std::pair< gfan::ZMatrix, gfan::ZMatrix > interiorPointsAndNormalsOfFacets(const gfan::ZCone zc, const std::set< gfan::ZVector > &exceptThesePoints, const bool onlyLowerHalfSpace)
poly initial(const poly p, const ring r, const gfan::ZVector &w)
Returns the initial form of p with respect to w.
ideal gfanlib_satStd_wrapper(ideal I, ring r, tHomog h=testHomog)
void deletePolynomialData()
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
ideal getPolynomialIdeal() const
std::vector< bool > checkNecessaryGroebnerFlips(const groebnerCones &groebnerFan, const groebnerCones &workingList, const gfan::ZMatrix &interiorPoints)
ring getPolynomialRing() const
std::vector< bool > checkNecessaryTropicalFlips(const groebnerCones &tropicalVariety, const groebnerCones &workingList, const gfan::ZVector &interiorPoint, const gfan::ZMatrix &normalVectors)
gfan::ZFan * groebnerFan(const tropicalStrategy currentStrategy)
const tropicalStrategy * getTropicalStrategy() const
groebnerCone flipCone(const gfan::ZVector &interiorPoint, const gfan::ZVector &facetNormal) const
Given an interior point on the facet and the outer normal factor on the facet, returns the adjacent g...
BOOLEAN tropicalVariety(leftv res, leftv args)
gfan::ZMatrix interiorPointsOfFacets(const gfan::ZCone &zc, const std::set< gfan::ZVector > &exceptThese)
gfan::ZMatrix raysOfTropicalStar(ideal I, const ring r, const gfan::ZVector &u, const tropicalStrategy *currentStrategy)
gfan::ZCone getPolyhedralCone() const