44{
47 {
48 poly
g = (poly) u->
Data();
51 {
52 try
53 {
59 res->data = (
char*)
toZFan(maxCones,currentStrategy.getExpectedAmbientDimension());
63 }
64 catch (const std::exception& ex)
65 {
66 Werror(
"ERROR: %s",ex.what());
68 }
69 }
71 {
72 try
73 {
76 number
p = (number)
v->Data();
78 ideal startingIdeal = currentStrategy.getStartingIdeal();
79 ring startingRing = currentStrategy.getStartingRing();
80 poly gStart = startingIdeal->m[0];
81 std::set<gfan::ZCone> maxCones =
tropicalVariety(gStart,startingRing,¤tStrategy);
83 res->data = (
char*)
toZFan(maxCones,currentStrategy.getExpectedAmbientDimension());
87 }
88 catch (const std::exception& ex)
89 {
90 Werror(
"ERROR: %s",ex.what());
92 }
93
94 }
95 }
97 {
98 ideal I = (ideal) u->
Data();
100
102 {
105 {
106 try
107 {
111 res->data = (
char*)
toZFan(maxCones,currentStrategy.getExpectedAmbientDimension());
113 }
114 catch (const std::exception& ex)
115 {
116 Werror(
"ERROR: %s",ex.what());
118 }
119 }
121 {
122 try
123 {
124 number
p = (number)
v->Data();
126 ideal startingIdeal = currentStrategy.getStartingIdeal();
127 ring startingRing = currentStrategy.getStartingRing();
128 poly gStart = startingIdeal->m[0];
129 std::set<gfan::ZCone> maxCones =
tropicalVariety(gStart,startingRing,¤tStrategy);
131 res->data = (
char*)
toZFan(maxCones,currentStrategy.getExpectedAmbientDimension());
133 }
134 catch (const std::exception& ex)
135 {
136 Werror(
"ERROR: %s",ex.what());
138 }
139 }
140 }
141
143 {
144 try
145 {
147 ideal stdI;
150 else
155 res->data = (
char*) tropI;
159 }
160 catch (const std::exception& ex)
161 {
162 Werror(
"ERROR: %s",ex.what());
164 }
165 }
167 {
168 try
169 {
170 number
p = (number)
v->Data();
171 ideal stdI;
174 else
179 res->data = (
char*) tropI;
182 }
183 catch (const std::exception& ex)
184 {
185 Werror(
"ERROR: %s",ex.what());
187 }
188 }
190 }
191 WerrorS(
"tropicalVariety: unexpected parameters");
193}
Class used for (list of) interpreter objects.
const Variable & v
< [in] a sqrfree bivariate poly
void WerrorS(const char *s)
ideal id_Copy(ideal h1, const ring r)
copy an ideal
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
void Werror(const char *fmt,...)
ideal idInit(int idsize, int rank)
initialise an ideal / module
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
static int idElem(const ideal F)
number of non-zero polys in F
ideal gfanlib_kStd_wrapper(ideal I, ring r, tHomog h=testHomog)
static void setOptionRedSB()
BOOLEAN tropicalVariety(leftv res, leftv args)
static void undoSetOptionRedSB()
static gfan::ZFan * toZFan(std::set< gfan::ZCone > maxCones, int d)