 |
My Project
UNKNOWN_GIT_VERSION
|
#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 | checkFlipConeInput (const gfan::ZVector interiorPoint, const gfan::ZVector facetNormal) const |
| Debug tools. More...
|
|
bool | pointsOutwards (const gfan::ZVector) const |
|
Definition at line 27 of file groebnerCone.h.
◆ groebnerCone() [1/6]
groebnerCone::groebnerCone |
( |
| ) |
|
◆ 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);
◆ groebnerCone() [3/6]
◆ groebnerCone() [4/6]
◆ groebnerCone() [5/6]
Definition at line 245 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;
◆ groebnerCone() [6/6]
◆ ~groebnerCone()
groebnerCone::~groebnerCone |
( |
| ) |
|
◆ 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;
◆ contains()
bool groebnerCone::contains |
( |
const gfan::ZVector & |
w | ) |
const |
Returns true if Groebner cone contains w, false otherwise.
Definition at line 343 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 381 of file groebnerCone.cc.
395 id_Delete(&flipped.first,flipped.second);
◆ 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 401 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];
◆ isTrivial()
bool groebnerCone::isTrivial |
( |
| ) |
const |
|
inline |
◆ operator=()
◆ pointsOutwards()
bool groebnerCone::pointsOutwards |
( |
const gfan::ZVector |
w | ) |
const |
◆ tropicalNeighbours()
Returns a complete list of neighboring Groebner cones in the tropical variety.
Definition at line 434 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);
◆ 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 352 of file groebnerCone.cc.
361 gfan::ZMatrix
R = coneToCheck.extremeRays();
362 for (
int i=0;
i<
R.getHeight();
i++)
◆ 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:
void pReduce(ideal I, const ring r) const
std::string toString(const gfan::ZCone *const c)
ring polynomialRing
ring in which the ideal exists
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)
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 ...
gfan::ZVector interiorPoint
bool pointsOutwards(const gfan::ZVector) const
poly initial(const poly p, const ring r, const gfan::ZVector &w)
Returns the initial form of p with respect to w.
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...
bool checkPolyhedralInput(const gfan::ZCone zc, const gfan::ZVector p)
bool checkWeightVector(const ideal I, const ring r, const gfan::ZVector &weightVector, bool checkBorder)
gfan::ZVector intStar2ZVector(const int d, const int *i)
static short rVar(const ring r)
#define rVar(r) (r->N)
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
#define omFreeSize(addr, size)
ideal getPolynomialIdeal() const
gfan::ZVector expvToZVector(const int n, const int *expv)
const tropicalStrategy * currentStrategy
ring getPolynomialRing() const
static void p_GetExpV(poly p, int *ev, const ring r)
gfan::ZCone polyhedralCone
BOOLEAN inequalities(leftv res, leftv args)
long wDeg(const poly p, const ring r, const gfan::ZVector &w)
various functions to compute the initial form of polynomials and ideals
bool checkOrderingAndCone(const ring r, const gfan::ZCone zc)
void rDelete(ring r)
unconditionally deletes fields in r
bool checkFlipConeInput(const gfan::ZVector interiorPoint, const gfan::ZVector facetNormal) const
Debug tools.
static void p_Delete(poly *p, const ring r)
bool checkPolynomialInput(const ideal I, const ring r)
const tropicalStrategy * getTropicalStrategy() const
BOOLEAN equations(leftv res, leftv args)
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
gfan::ZVector getInteriorPoint() const
ideal polynomialIdeal
ideal to which this Groebner cone belongs to
const CanonicalForm int s
ideal id_Copy(ideal h1, const ring r)
copy an ideal
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)
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
gfan::ZCone getPolyhedralCone() const