#include <groebnerCone.h>
|
| groebnerCone () |
|
| groebnerCone (const ideal I, const ring r, const tropicalStrategy ¤tCase) |
|
| groebnerCone (const ideal I, const ring r, const gfan::ZVector &w, const tropicalStrategy ¤tCase) |
|
| groebnerCone (const ideal I, const ring r, const gfan::ZVector &u, const gfan::ZVector &w, const tropicalStrategy ¤tCase) |
|
| groebnerCone (const ideal I, const ideal inI, const ring r, const tropicalStrategy ¤tCase) |
|
| groebnerCone (const groebnerCone &sigma) |
|
| ~groebnerCone () |
|
groebnerCone & | operator= (const groebnerCone &sigma) |
|
void | deletePolynomialData () |
|
ideal | getPolynomialIdeal () const |
|
ring | getPolynomialRing () const |
|
gfan::ZCone | getPolyhedralCone () const |
|
gfan::ZVector | getInteriorPoint () const |
|
const tropicalStrategy * | getTropicalStrategy () const |
|
bool | isTrivial () const |
|
bool | contains (const gfan::ZVector &w) const |
| Returns true if Groebner cone contains w, false otherwise. More...
|
|
gfan::ZVector | tropicalPoint () const |
| Returns a point in the tropical variety, if the groebnerCone contains one. More...
|
|
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 groebnerCone sharing that facet. More...
|
|
groebnerCones | groebnerNeighbours () const |
| Returns a complete list of neighboring Groebner cones. More...
|
|
groebnerCones | tropicalNeighbours () const |
| Returns a complete list of neighboring Groebner cones in the tropical variety. More...
|
|
bool | pointsOutwards (const gfan::ZVector w) const |
| Return 1 if w points is in the dual of the polyhedral cone, 0 otherwise. More...
|
|
bool | checkFlipConeInput (const gfan::ZVector interiorPoint, const gfan::ZVector facetNormal) const |
| Debug tools. More...
|
|
Definition at line 27 of file groebnerCone.h.
◆ groebnerCone() [1/6]
groebnerCone::groebnerCone |
( |
| ) |
|
Definition at line 69 of file groebnerCone.cc.
const tropicalStrategy * currentStrategy
gfan::ZVector interiorPoint
ideal polynomialIdeal
ideal to which this Groebner cone belongs to
gfan::ZCone polyhedralCone
ring polynomialRing
ring in which the ideal exists
◆ groebnerCone() [2/6]
Definition at line 78 of file groebnerCone.cc.
94 int* leadexpv = (
int*)
omAlloc((n+1)*
sizeof(int));
95 int* tailexpv = (
int*)
omAlloc((n+1)*
sizeof(int));
96 gfan::ZVector leadexpw = gfan::ZVector(n);
97 gfan::ZVector tailexpw = gfan::ZVector(n);
BOOLEAN inequalities(leftv res, leftv args)
gfan::ZVector expvToZVector(const int n, const int *expv)
bool reduce(ideal I, const ring r) const
reduces the generators of an ideal I so that the inequalities and equations of the Groebner cone can ...
void pReduce(ideal I, const ring r) const
ideal id_Copy(ideal h1, const ring r)
copy an ideal
#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)
bool checkOrderingAndCone(const ring r, const gfan::ZCone zc)
bool checkPolynomialInput(const ideal I, const ring r)
◆ groebnerCone() [3/6]
Definition at line 131 of file groebnerCone.cc.
147 gfan::ZMatrix
equations = gfan::ZMatrix(0,n);
148 int* expv = (
int*)
omAlloc((n+1)*
sizeof(int));
BOOLEAN equations(leftv res, leftv args)
gfan::ZVector intStar2ZVector(const int d, const int *i)
long wDeg(const poly p, const ring r, const gfan::ZVector &w)
various functions to compute the initial form of polynomials and ideals
◆ groebnerCone() [4/6]
Definition at line 189 of file groebnerCone.cc.
206 gfan::ZMatrix
equations = gfan::ZMatrix(0,n);
207 int* expv = (
int*)
omAlloc((n+1)*
sizeof(int));
bool checkWeightVector(const ideal I, const ring r, const gfan::ZVector &weightVector, bool checkBorder)
◆ groebnerCone() [5/6]
Definition at line 246 of file groebnerCone.cc.
258 gfan::ZMatrix
equations = gfan::ZMatrix(0,n);
259 int* expv = (
int*)
omAlloc((n+1)*
sizeof(int));
294 gfan::ZVector lowerHalfSpaceCondition = gfan::ZVector(n);
295 lowerHalfSpaceCondition[0] = -1;
bool restrictToLowerHalfSpace() const
returns true, if valuation non-trivial, false otherwise
◆ groebnerCone() [6/6]
Definition at line 305 of file groebnerCone.cc.
const tropicalStrategy * getTropicalStrategy() const
gfan::ZCone getPolyhedralCone() const
ideal getPolynomialIdeal() const
ring getPolynomialRing() const
gfan::ZVector getInteriorPoint() const
bool checkPolyhedralInput(const gfan::ZCone zc, const gfan::ZVector p)
◆ ~groebnerCone()
groebnerCone::~groebnerCone |
( |
| ) |
|
Definition at line 319 of file groebnerCone.cc.
void rDelete(ring r)
unconditionally deletes fields in r
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
◆ checkFlipConeInput()
bool groebnerCone::checkFlipConeInput |
( |
const gfan::ZVector |
interiorPoint, |
|
|
const gfan::ZVector |
facetNormal |
|
) |
| const |
Debug tools.
Definition at line 23 of file groebnerCone.cc.
28 std::cout <<
"ERROR: interiorPoint is not contained in the Groebner cone!" << std::endl
29 <<
"cone: " << std::endl
31 <<
"interiorPoint:" << std::endl
37 std::cout <<
"ERROR: interiorPoint is contained in the interior of the maximal Groebner cone!" << std::endl
38 <<
"cone: " << std::endl
40 <<
"interiorPoint:" << std::endl
47 std::cout <<
"ERROR: interiorPoint is not contained in the interior of a facet!" << std::endl
48 <<
"cone: " << std::endl
50 <<
"interiorPoint:" << std::endl
56 if(dual.containsRelatively(facetNormal))
58 std::cout <<
"ERROR: facetNormal is not pointing outwards!" << std::endl
59 <<
"cone: " << std::endl
61 <<
"facetNormal:" << std::endl
62 << facetNormal << std::endl;
std::string toString(const gfan::ZCone *const c)
◆ contains()
bool groebnerCone::contains |
( |
const gfan::ZVector & |
w | ) |
const |
Returns true if Groebner cone contains w, false otherwise.
Definition at line 344 of file groebnerCone.cc.
◆ deletePolynomialData()
void groebnerCone::deletePolynomialData |
( |
| ) |
|
|
inline |
◆ flipCone()
groebnerCone 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 groebnerCone sharing that facet.
Definition at line 383 of file groebnerCone.cc.
395 id_Delete(&flipped.first,flipped.second);
bool checkFlipConeInput(const gfan::ZVector interiorPoint, const gfan::ZVector facetNormal) const
Debug tools.
std::pair< ideal, ring > computeFlip(const ideal Ir, const ring r, const gfan::ZVector &interiorPoint, const gfan::ZVector &facetNormal) const
given an interior point of a groebner cone computes the groebner cone adjacent to it
◆ getInteriorPoint()
gfan::ZVector groebnerCone::getInteriorPoint |
( |
| ) |
const |
|
inline |
◆ getPolyhedralCone()
gfan::ZCone groebnerCone::getPolyhedralCone |
( |
| ) |
const |
|
inline |
◆ getPolynomialIdeal()
ideal groebnerCone::getPolynomialIdeal |
( |
| ) |
const |
|
inline |
◆ getPolynomialRing()
ring groebnerCone::getPolynomialRing |
( |
| ) |
const |
|
inline |
◆ getTropicalStrategy()
◆ groebnerNeighbours()
Returns a complete list of neighboring Groebner cones.
Definition at line 404 of file groebnerCone.cc.
408 gfan::ZMatrix interiorPoints = facetsData.first;
409 gfan::ZMatrix facetNormals = facetsData.second;
412 for (
int i=0;
i<interiorPoints.getHeight();
i++)
414 gfan::ZVector
w = interiorPoints[
i];
415 gfan::ZVector
v = facetNormals[
i];
std::pair< gfan::ZMatrix, gfan::ZMatrix > interiorPointsAndNormalsOfFacets(const gfan::ZCone zc, const std::set< gfan::ZVector > &exceptThesePoints, const bool onlyLowerHalfSpace)
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...
const Variable & v
< [in] a sqrfree bivariate poly
std::set< groebnerCone, groebnerCone_compare > groebnerCones
◆ isTrivial()
bool groebnerCone::isTrivial |
( |
| ) |
const |
|
inline |
◆ operator=()
◆ pointsOutwards()
bool groebnerCone::pointsOutwards |
( |
const gfan::ZVector |
w | ) |
const |
Return 1 if w points is in the dual of the polyhedral cone, 0 otherwise.
Definition at line 428 of file groebnerCone.cc.
431 return (!dual.contains(
w));
◆ tropicalNeighbours()
Returns a complete list of neighboring Groebner cones in the tropical variety.
Definition at line 438 of file groebnerCone.cc.
442 for (
int i=0;
i<interiorPoints.getHeight();
i++)
448 for (
int j=0;
j<ray.getHeight();
j++)
452 neighbours.insert(neighbour);
gfan::ZMatrix interiorPointsOfFacets(const gfan::ZCone &zc, const std::set< gfan::ZVector > &exceptThese)
bool pointsOutwards(const gfan::ZVector w) const
Return 1 if w points is in the dual of the polyhedral cone, 0 otherwise.
poly initial(const poly p, const ring r, const gfan::ZVector &w)
Returns the initial form of p with respect to w.
gfan::ZMatrix raysOfTropicalStar(ideal I, const ring r, const gfan::ZVector &u, const tropicalStrategy *currentStrategy)
◆ tropicalPoint()
gfan::ZVector groebnerCone::tropicalPoint |
( |
| ) |
const |
Returns a point in the tropical variety, if the groebnerCone contains one.
Returns an empty vector otherwise.
Definition at line 354 of file groebnerCone.cc.
361 gfan::ZMatrix
R = coneToCheck.extremeRays();
362 for (
int i=0;
i<
R.getHeight();
i++)
376 return gfan::ZVector();
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...
const CanonicalForm int s
static void p_Delete(poly *p, const ring r)
◆ groebnerCone_compare
◆ currentStrategy
◆ interiorPoint
gfan::ZVector groebnerCone::interiorPoint |
|
private |
◆ polyhedralCone
gfan::ZCone groebnerCone::polyhedralCone |
|
private |
◆ polynomialIdeal
ideal groebnerCone::polynomialIdeal |
|
private |
ideal to which this Groebner cone belongs to
Definition at line 34 of file groebnerCone.h.
◆ polynomialRing
ring groebnerCone::polynomialRing |
|
private |
The documentation for this class was generated from the following files: