# Changeset eb836c in git

Ignore:
Timestamp:
Jul 21, 2014, 11:41:11 AM (9 years ago)
Branches:
Children:
d4049cf8c7b6c2765919c8fcc08a3b038d0e1c29
Parents:
e744d9067cafc8137765bab643ab9ebf8120f339
git-author:
Yue Ren <ren@mathematik.uni-kl.de>2014-07-21 11:41:11+02:00
git-committer:
Yue Ren <ren@mathematik.uni-kl.de>2015-02-06 13:47:03+01:00
Message:
`chg: first working version`
Files:
7 edited

### Legend:

Unmodified
Removed

 re744d9 /* find k such that e+k*w is strictly positive, * i.e. k such that e[i]+k*w[i] is strictly positive * for all i=0,...,n */ * for all i=0,...,n * note that the division is rounded towards zero, * hence we increment the value by 1 */ gfan::Integer k((long)0); if (e[0].sign()<=0) k = gfan::Integer((long)1)-(gfan::Integer((long)e[0].sign())*e[0])/w[0]; k = gfan::Integer((long)1)-(e[0]/w[0]); for (unsigned i=1; i
• ## Singular/dyn_modules/gfanlib/groebnerCone.cc

 re744d9 << "weight: " << std::endl << v << std::endl; } return zc.contains(v); return false; } return true; } return (zc.dimension()==0); } /*** * Computes the groebner cone of I around u+e*w for e>0 sufficiently small. * Assumes that this cone is a face of the maximal Groenbner cone given by the ordering of r. **/ groebnerCone::groebnerCone(const ideal I, const ring r, const gfan::ZVector& u, const gfan::ZVector& w, const tropicalStrategy& currentCase): polynomialIdeal(NULL), polynomialRing(NULL), currentStrategy(¤tCase) { assume(checkPolynomialInput(I,r)); if (I) polynomialIdeal = id_Copy(I,r); if (r) polynomialRing = rCopy(r); int n = rVar(r); gfan::ZMatrix inequalities = gfan::ZMatrix(0,n); gfan::ZMatrix equations = gfan::ZMatrix(0,n); int* expv = (int*) omAlloc((n+1)*sizeof(int)); for (int i=0; im[i]; p_GetExpV(g,expv,polynomialRing); gfan::ZVector leadexpv = intStar2ZVector(n,expv); long d1 = wDeg(g,polynomialRing,u); long d2 = wDeg(g,polynomialRing,w); for (pIter(g); g; pIter(g)) { p_GetExpV(g,expv,polynomialRing); gfan::ZVector tailexpv = intStar2ZVector(n,expv); if (wDeg(g,polynomialRing,u)==d1 && wDeg(g,polynomialRing,w)==d2) equations.appendRow(leadexpv-tailexpv); else { assume(wDeg(g,polynomialRing,u) flipped = flip(polynomialIdeal,polynomialRing,interiorPoint,facetNormal,*currentStrategy); assume(checkPolynomialInput(flipped.first,flipped.second)); groebnerCone flippedCone(flipped.first, flipped.second, facetNormal, *currentStrategy); groebnerCone flippedCone(flipped.first, flipped.second, interiorPoint, facetNormal, *currentStrategy); return flippedCone; } { ideal initialIdeal = initial(polynomialIdeal,polynomialRing,interiorPoints[i]); std::set rays = raysOfTropicalCurve(initialIdeal,polynomialRing,*currentStrategy); groebnerCones neighbours; std::set rays = raysOfTropicalStar(initialIdeal,polynomialRing,interiorPoints[i],*currentStrategy); for (std::set::iterator ray = rays.begin(); ray!=rays.end(); ray++) neighbours.insert(this->flipCone(interiorPoints[i],*ray));
• ## Singular/dyn_modules/gfanlib/groebnerCone.h

 re744d9 groebnerCone(const ideal I, const ring r, const tropicalStrategy& currentCase); groebnerCone(const ideal I, const ring r, const gfan::ZVector& w, const tropicalStrategy& currentCase); groebnerCone(const ideal I, const ring r, const gfan::ZVector& u, const gfan::ZVector& w, const tropicalStrategy& currentCase); groebnerCone(const ideal I, const ideal inI, const ring r, const tropicalStrategy& currentCase); groebnerCone(const groebnerCone& sigma);