 |
My Project
debian-1:4.1.1-p2+ds-4build2
|
Go to the source code of this file.
◆ groebnerStartingCone()
◆ negativeTropicalStartingPoint()
Definition at line 191 of file startingCone.cc.
196 ideal I = (ideal) u->
Data();
202 for (std::set<gfan::ZCone>::iterator zc=Tg.begin(); zc!=Tg.end(); zc++)
204 gfan::ZMatrix ray = zc->extremeRays();
205 for (
int i=0;
i<ray.getHeight();
i++)
207 gfan::ZVector negatedRay = gfan::Integer(-1)*ray[
i].toVector();
208 if (negatedRay.isPositive())
220 WerrorS(
"negativeTropicalStartingPoint: ideal not principal");
223 WerrorS(
"negativeTropicalStartingPoint: unexpected parameters");
◆ nonNegativeTropicalStartingPoint()
Definition at line 156 of file startingCone.cc.
161 ideal I = (ideal) u->
Data();
167 for (std::set<gfan::ZCone>::iterator zc=Tg.begin(); zc!=Tg.end(); zc++)
169 gfan::ZMatrix ray = zc->extremeRays();
170 for (
int i=0;
i<ray.getHeight();
i++)
172 if (ray[
i].toVector().isNonNegative())
184 WerrorS(
"nonNegativeTropicalStartingPoint: ideal not principal");
187 WerrorS(
"nonNegativeTropicalStartingPoint: unexpected parameters");
◆ nonPositiveTropicalStartingPoint()
Definition at line 227 of file startingCone.cc.
232 ideal I = (ideal) u->
Data();
238 for (std::set<gfan::ZCone>::iterator zc=Tg.begin(); zc!=Tg.end(); zc++)
240 gfan::ZMatrix ray = zc->extremeRays();
241 for (
int i=0;
i<ray.getHeight();
i++)
243 gfan::ZVector negatedRay = gfan::Integer(-1)*ray[
i].toVector();
244 if (negatedRay.isNonNegative())
256 WerrorS(
"nonPositiveTropicalStartingPoint: ideal not principal");
259 WerrorS(
"nonPositiveTropicalStartingPoint: unexpected parameters");
◆ positiveTropicalStartingPoint()
Definition at line 121 of file startingCone.cc.
126 ideal I = (ideal) u->
Data();
132 for (std::set<gfan::ZCone>::iterator zc=Tg.begin(); zc!=Tg.end(); zc++)
134 gfan::ZMatrix ray = zc->extremeRays();
135 for (
int i=0;
i<ray.getHeight();
i++)
137 if (ray[
i].toVector().isPositive())
149 WerrorS(
"positiveTropicalStartingPoint: ideal not principal");
152 WerrorS(
"positiveTropicalStartingPoint: unexpected parameters");
◆ tropicalStartingCone() [1/2]
Definition at line 374 of file startingCone.cc.
376 ring r = currentStrategy.getStartingRing();
377 ideal I = currentStrategy.getStartingIdeal();
378 currentStrategy.reduce(I,r);
379 if (currentStrategy.isValuationTrivial())
387 for (
int i=0;
i<
k;
i++)
401 if (zc.dimension()>=currentStrategy.getExpectedDimension())
417 while (zc.dimension()<currentStrategy.getExpectedDimension())
421 gfan::ZVector startingPoint = startingData.first;
443 for (
int i=0;
i<
k;
i++)
449 for (
int i=0;
i<
k;
i++)
475 for (
int i=0;
i<
k;
i++)
486 if (zc.dimension()>=currentStrategy.getExpectedDimension())
505 gfan::ZVector startingPoint = startingData.first;
512 ideal inI =
initial(I,r,startingPoint);
517 if (zc.dimension()==currentStrategy.getExpectedDimension())
520 ideal J =
lift(I,r,inJ,
s);
530 ring rShortcut =
rCopy0(r);
532 rShortcut->cf =
nCopyCoeff((currentStrategy.getShortcutRing())->cf);
538 for (
int i=0;
i<
k;
i++)
563 inJShortcut =
initial(inJShortcut,sShortcut,interiorPoint);
564 inI =
initial(inI,r,interiorPoint);
576 p_SetCoeff(inJ->m[0],identityMap(currentStrategy.getUniformizingParameter(),r->cf,
s->cf),
s);
578 for (
int i=0;
i<
k;
i++)
580 if(inJShortcut->m[
i]!=
NULL)
590 for (
int i=0;
i<
k;
i++)
596 for (
int i=0;
i<
k;
i++)
◆ tropicalStartingCone() [2/2]
Definition at line 614 of file startingCone.cc.
619 ideal I = (ideal) u->
CopyD();
623 number
p = (number)
v->Data();
631 res->data = (
char*) startingCone;
647 WerrorS(
"tropicalStartingCone: unexpected parameters");
◆ tropicalStartingPoint()
Definition at line 263 of file startingCone.cc.
268 ideal I = (ideal) u->
Data();
280 gfan::ZCone C = *(Tg.begin());
281 gfan::ZMatrix
rays = C.extremeRays();
282 if (
rays.getHeight()==0)
284 gfan::ZMatrix lin = C.generatorsOfLinealitySpace();
293 gfan::ZCone C0 = currentStrategy.getHomogeneitySpace();
294 if (C0.dimension()==currentStrategy.getExpectedDimension())
296 gfan::ZMatrix lin = C0.generatorsOfLinealitySpace();
302 gfan::ZVector startingPoint = startingData.first;
307 WerrorS(
"tropicalStartingPoint: unexpected parameters");
◆ tropicalStartingPoints
gfan::ZMatrix tropicalStartingPoints |
int idElem(const ideal F)
count non-zero elements
ideal lift(const ideal J, const ring r, const ideal inI, const ring s)
groebnerCone tropicalStartingCone(const tropicalStrategy ¤tStrategy)
bigintmat * zVectorToBigintmat(const gfan::ZVector &zv)
poly initial(const poly p, const ring r, const gfan::ZVector &w)
Returns the initial form of p with respect to w.
Class used for (list of) interpreter objects.
ring rCopy0(const ring r, BOOLEAN copy_qideal, BOOLEAN copy_ordering)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
poly p_PermPoly(poly p, const int *perm, const ring oldRing, const ring dst, nMapFunc nMap, const int *par_perm, int OldPar, BOOLEAN use_mult)
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
gfan::ZMatrix tropicalStartingPoints
static gfan::ZCone linealitySpaceOfGroebnerFan(const ideal I, const ring r)
ideal getPolynomialIdeal() const
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size
ring getPolynomialRing() const
ring createTraversalStartingRing(const ring s, const gfan::ZMatrix &startingPoints, const tropicalStrategy ¤tStrategy)
BOOLEAN rays(leftv res, leftv args)
ideal gfanlib_kStd_wrapper(ideal I, ring r, tHomog h=testHomog)
gfan::ZCone groebnerCone(const ideal I, const ring r, const gfan::ZVector &w)
void rDelete(ring r)
unconditionally deletes fields in r
ring getStartingRing() const
returns the polynomial ring over the valuation ring
static void p_Delete(poly *p, const ring r)
static FORCE_INLINE coeffs nCopyCoeff(const coeffs r)
"copy" coeffs, i.e. increment ref
ideal idInit(int idsize, int rank)
initialise an ideal / module
static number p_SetCoeff(poly p, number n, ring r)
std::pair< gfan::ZVector, groebnerCone > tropicalStartingDataViaGroebnerFan(const ideal I, const ring r, const tropicalStrategy ¤tStrategy)
Computes a starting point outside the lineatliy space by traversing the Groebner fan,...
void WerrorS(const char *s)
bool areIdealsEqual(ideal I, ring r, ideal J, ring s)
const Variable & v
< [in] a sqrfree bivariate poly
gfan::ZVector getInteriorPoint() const
const CanonicalForm int s
BOOLEAN tropicalVariety(leftv res, leftv args)
poly checkForMonomialViaSuddenSaturation(const ideal I, const ring r)
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
gfan::ZCone getPolyhedralCone() const
ideal getStartingIdeal() const
returns the input ideal
void nKillChar(coeffs r)
undo all initialisations
BOOLEAN rComplete(ring r, int force)
this needs to be called whenever a new ring is created: new fields in ring are created (like VarOffse...