#include "gfanlib/gfanlib_zfan.h"
Go to the source code of this file.
◆ groebnerFan()
Definition at line 85 of file groebnerFan.cc.
90 ideal I = (ideal) u->
CopyD();
102 res->
data = (
char*) zf;
105 catch (
const std::exception& ex)
120 res->
data = (
char*) zf;
123 catch (
const std::exception& ex)
133 poly
g = (poly) u->
Data();
141 res->
data = (
char*) zf;
144 catch (
const std::exception& ex)
151 WerrorS(
"groebnerFan: unexpected parameters");
Class used for (list of) interpreter objects.
gfan::ZFan * groebnerFan(const tropicalStrategy currentStrategy)
void WerrorS(const char *s)
const Variable & v
< [in] a sqrfree bivariate poly
static void setOptionRedSB()
static void undoSetOptionRedSB()
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
int idElem(const ideal F)
count non-zero elements
gfan::ZFan * groebnerFanOfPolynomial(poly g, ring r, bool onlyLowerHalfSpace=false)
◆ groebnerFanOfPolynomial()
gfan::ZFan* groebnerFanOfPolynomial |
( |
poly |
g, |
|
|
ring |
r, |
|
|
bool |
onlyLowerHalfSpace = false |
|
) |
| |
Definition at line 36 of file groebnerFan.cc.
48 gfan::ZVector lowerHalfSpaceCondition = gfan::ZVector(n);
49 lowerHalfSpaceCondition[0] = -1;
52 int* expv = (
int*)
omAlloc((n+1)*
sizeof(int));
53 gfan::ZMatrix exponents = gfan::ZMatrix(0,n);
63 gfan::ZFan* zf =
new gfan::ZFan(n);
64 int l = exponents.getHeight();
65 for (
int i=0;
i<
l;
i++)
69 if (onlyLowerHalfSpace)
70 inequalities.appendRow(lowerHalfSpaceCondition);
71 for (
int j=0;
j<
l;
j++)
74 inequalities.appendRow(exponents[
i].toVector()-exponents[
j].toVector());
76 gfan::ZCone zc = gfan::ZCone(inequalities,gfan::ZMatrix(0,inequalities.getWidth()));
const CanonicalForm int s
BOOLEAN fullFan(leftv res, leftv args)
static void p_GetExpV(poly p, int *ev, const ring r)
#define omFreeSize(addr, size)
static short rVar(const ring r)
#define rVar(r) (r->N)
BOOLEAN inequalities(leftv res, leftv args)
gfan::ZVector intStar2ZVector(const int d, const int *i)