Functions | Variables
tropical.h File Reference
#include "Singular/ipid.h"

Go to the source code of this file.

Functions

gfan::ZCone homogeneitySpace (ideal I, ring r)
 
void tropical_setup (SModulFunctions *p)
 

Variables

int tropicalVerboseLevel
 

Function Documentation

gfan::ZCone homogeneitySpace ( ideal  I,
ring  r 
)

Definition at line 19 of file tropical.cc.

20 {
21  int n = rVar(r);
22  poly g;
23  int* leadexpv = (int*) omAlloc((n+1)*sizeof(int));
24  int* tailexpv = (int*) omAlloc((n+1)*sizeof(int));
25  gfan::ZVector leadexpw = gfan::ZVector(n);
26  gfan::ZVector tailexpw = gfan::ZVector(n);
27  gfan::ZMatrix equations = gfan::ZMatrix(0,n);
28  for (int i=0; i<IDELEMS(I); i++)
29  {
30  g = (poly) I->m[i];
31  if (g)
32  {
33  p_GetExpV(g,leadexpv,r);
34  leadexpw = intStar2ZVector(n,leadexpv);
35  pIter(g);
36  while (g)
37  {
38  p_GetExpV(g,tailexpv,r);
39  tailexpw = intStar2ZVector(n,tailexpv);
40  equations.appendRow(leadexpw-tailexpw);
41  pIter(g);
42  }
43  }
44  }
45  omFreeSize(leadexpv,(n+1)*sizeof(int));
46  omFreeSize(tailexpv,(n+1)*sizeof(int));
47  return gfan::ZCone(gfan::ZMatrix(0, equations.getWidth()),equations);
48 }
static void p_GetExpV(poly p, int *ev, const ring r)
Definition: p_polys.h:1448
#define omFreeSize(addr, size)
Definition: omAllocDecl.h:260
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
static short rVar(const ring r)
#define rVar(r) (r->N)
Definition: ring.h:540
g
Definition: cfModGcd.cc:4031
#define omAlloc(size)
Definition: omAllocDecl.h:210
int int kStrategy strat if(h==NULL) return NULL
#define pIter(p)
Definition: monomials.h:44
const ring r
Definition: syzextra.cc:208
gfan::ZVector intStar2ZVector(const int d, const int *i)
int i
Definition: cfEzgcd.cc:123
#define IDELEMS(i)
Definition: simpleideals.h:24
BOOLEAN equations(leftv res, leftv args)
Definition: bbcone.cc:543
polyrec * poly
Definition: hilb.h:10
void tropical_setup ( SModulFunctions p)

Definition at line 437 of file tropical.cc.

438 {
439  p->iiAddCproc("","groebnerCone",FALSE,groebnerCone);
440  p->iiAddCproc("","maximalGroebnerCone",FALSE,maximalGroebnerCone);
441  p->iiAddCproc("","homogeneitySpace",FALSE,homogeneitySpace);
442  p->iiAddCproc("","lowerHomogeneitySpace",FALSE,lowerHomogeneitySpace);
443  p->iiAddCproc("","initial",FALSE,initial);
444  p->iiAddCproc("","tropicalVariety",FALSE,tropicalVariety);
445  p->iiAddCproc("","groebnerFan",FALSE,groebnerFan);
446  p->iiAddCproc("","groebnerComplex",FALSE,groebnerComplex);
447 #ifndef NDEBUG
448  // p->iiAddCproc("","tropicalNeighbours",FALSE,tropicalNeighbours);
449  // p->iiAddCproc("","initial0",FALSE,initial0);
450  p->iiAddCproc("","pReduceDebug",FALSE,pReduceDebug);
451  // p->iiAddCproc("","ppreduceInitially0",FALSE,ppreduceInitially0);
452  // p->iiAddCproc("","ppreduceInitially1",FALSE,ppreduceInitially1);
453  // p->iiAddCproc("","ppreduceInitially2",FALSE,ppreduceInitially2);
454  p->iiAddCproc("","ptNormalize",FALSE,ptNormalize);
455  p->iiAddCproc("","ppreduceInitially3",FALSE,ppreduceInitially3);
456  // p->iiAddCproc("","ppreduceInitially4",FALSE,ppreduceInitially4);
457  // p->iiAddCproc("","ttpReduce",FALSE,ttpReduce);
458  // p->iiAddCproc("","ttreduceInitially0",FALSE,ttreduceInitially0);
459  // p->iiAddCproc("","ttreduceInitially1",FALSE,ttreduceInitially1);
460  // p->iiAddCproc("","ttreduceInitially2",FALSE,ttreduceInitially2);
461  // p->iiAddCproc("","ttreduceInitially3",FALSE,ttreduceInitially3);
462  // p->iiAddCproc("","ttreduceInitially4",FALSE,ttreduceInitially4);
463  // p->iiAddCproc("","checkForMonomial",FALSE,checkForMonomial);
464  // p->iiAddCproc("","dwr0",FALSE,dwr0);
465  // p->iiAddCproc("","witness0",FALSE,witness0);
466  // p->iiAddCproc("","tropicalVariety00",FALSE,tropicalVariety00);
467  // p->iiAddCproc("","tropicalVariety01",FALSE,tropicalVariety01);
468  // p->iiAddCproc("","tropicalCurve0",FALSE,tropicalCurve0);
469  // p->iiAddCproc("","tropicalCurve1",FALSE,tropicalCurve1);
470  p->iiAddCproc("","reduceInitiallyDebug",FALSE,reduceInitiallyDebug);
471  p->iiAddCproc("","computeWitnessDebug",FALSE,computeWitnessDebug);
472  p->iiAddCproc("","computeFlipDebug",FALSE,computeFlipDebug);
473  p->iiAddCproc("","flipConeDebug",FALSE,flipConeDebug);
474  // p->iiAddCproc("","groebnerNeighboursDebug",FALSE,groebnerNeighboursDebug);
475  // p->iiAddCproc("","tropicalNeighboursDebug",FALSE,tropicalNeighboursDebug);
476  p->iiAddCproc("","tropicalStarDebug",FALSE,tropicalStarDebug);
477  p->iiAddCproc("","tropicalStartingPoint",FALSE,tropicalStartingPoint);
478  p->iiAddCproc("","positiveTropicalStartingPoint",FALSE,positiveTropicalStartingPoint);
479  p->iiAddCproc("","nonNegativeTropicalStartingPoint",FALSE,nonNegativeTropicalStartingPoint);
480  p->iiAddCproc("","negativeTropicalStartingPoint",FALSE,negativeTropicalStartingPoint);
481  p->iiAddCproc("","nonPositiveTropicalStartingPoint",FALSE,nonPositiveTropicalStartingPoint);
482  p->iiAddCproc("","tropicalStartingCone",FALSE,tropicalStartingCone);
483 #endif //NDEBUG
484  // p->iiAddCproc("","ppreduceInitially",FALSE,ppreduceInitially);
485  // p->iiAddCproc("","ttreduceInitially",FALSE,ttreduceInitially);
486 }
BOOLEAN negativeTropicalStartingPoint(leftv res, leftv args)
BOOLEAN flipConeDebug(leftv res, leftv args)
gfan::ZCone homogeneitySpace(ideal I, ring r)
Definition: tropical.cc:19
BOOLEAN reduceInitiallyDebug(leftv res, leftv args)
gfan::ZFan * groebnerFan(const tropicalStrategy currentStrategy)
Definition: groebnerFan.cc:28
BOOLEAN positiveTropicalStartingPoint(leftv res, leftv args)
BOOLEAN nonPositiveTropicalStartingPoint(leftv res, leftv args)
#define FALSE
Definition: auxiliary.h:140
gfan::ZFan * groebnerComplex(const tropicalStrategy currentStrategy)
BOOLEAN computeFlipDebug(leftv res, leftv args)
groebnerCone tropicalStartingCone(const tropicalStrategy &currentStrategy)
BOOLEAN computeWitnessDebug(leftv res, leftv args)
gfan::ZCone lowerHomogeneitySpace(ideal I, ring r)
Definition: tropical.cc:85
gfan::ZCone maximalGroebnerCone(const ideal &I, const ring &r)
Definition: tropical.cc:291
BOOLEAN pReduceDebug(leftv res, leftv args)
BOOLEAN ppreduceInitially3(leftv res, leftv args)
BOOLEAN tropicalVariety(leftv res, leftv args)
std::pair< gfan::ZVector, groebnerCone > tropicalStartingPoint(const ideal I, const ring r, const tropicalStrategy &currentStrategy)
Computes a starting point outside the lineatliy space by traversing the Groebner fan, checking each cone whether it contains a ray in the tropical variety.
Definition: startingCone.cc:27
void ptNormalize(poly *gStar, const number p, const ring r)
BOOLEAN initial(leftv res, leftv args)
Definition: tropical.cc:369
BOOLEAN tropicalStarDebug(leftv res, leftv args)
int(* iiAddCproc)(const char *libname, const char *procname, BOOLEAN pstatic, BOOLEAN(*func)(leftv res, leftv v))
Definition: ipid.h:73
BOOLEAN nonNegativeTropicalStartingPoint(leftv res, leftv args)

Variable Documentation

int tropicalVerboseLevel

Definition at line 17 of file tropical.cc.