233 const char *sys_cmd=(
char *)(args->
Data());
238 if (strcmp(sys_cmd,
"nblocks") == 0)
260 r = (ring)
h->Data();
267 if(strcmp(sys_cmd,
"version")==0)
275 if(strcmp(sys_cmd,
"alarm")==0)
282 struct itimerval t,o;
283 memset(&t,0,
sizeof(t));
284 t.it_value.tv_sec =(unsigned)((
unsigned long)
h->Data());
285 setitimer(ITIMER_VIRTUAL,&t,&o);
293 if(strcmp(sys_cmd,
"content")==0)
298 poly
p=(poly)
h->CopyD();
312 if(strcmp(sys_cmd,
"cpu")==0)
315 #ifdef _SC_NPROCESSORS_ONLN
316 cpu=sysconf(_SC_NPROCESSORS_ONLN);
317 #elif defined(_SC_NPROCESSORS_CONF)
318 cpu=sysconf(_SC_NPROCESSORS_CONF);
320 res->data=(
void *)cpu;
326 if(strcmp(sys_cmd,
"executable")==0)
341 if(strcmp(sys_cmd,
"flatten")==0)
354 if(strcmp(sys_cmd,
"unflatten")==0)
367 if(strcmp(sys_cmd,
"neworder")==0)
381 if(strcmp(sys_cmd,
"nc_hilb") == 0)
389 i = (ideal)
h->Data();
392 WerrorS(
"nc_Hilb:ideal expected");
397 lV = (int)(
long)
h->Data();
400 WerrorS(
"nc_Hilb:int expected");
406 if((
int)(
long)
h->Data() == 1)
408 else if((
int)(
long)
h->Data() == 2)
413 trunDegHs = (int)(
long)
h->Data();
418 WerrorS(
"nc_Hilb:int 1,2, total degree for the truncation, and a string for printing the details are expected");
427 if(strcmp(sys_cmd,
"verifyGB")==0)
431 WerrorS(
"system(\"verifyGB\",<ideal>,..) expects a commutative ring");
436 WerrorS(
"expected system(\"verifyGB\",<ideal>,..)");
439 ideal F=(ideal)
h->Data();
456 if(strcmp(sys_cmd,
"rcolon") == 0)
461 ideal
i = (ideal)
h->Data();
463 poly
w=(poly)
h->Data();
465 int lV = (int)(
long)
h->Data();
476 if(strcmp(sys_cmd,
"sh")==0)
480 WerrorS(
"shell execution is disallowed in restricted mode");
486 res->data = (
void*)(
long)
system((
char*)(
h->Data()));
493 if(strcmp(sys_cmd,
"reduce_bound")==0)
503 p = (poly)
h->CopyD();
507 pid = (ideal)
h->CopyD();
512 ideal q = (ideal)
h->next->CopyD();
513 int bound = (int)(
long)
h->next->next->Data();
522 if(strcmp(sys_cmd,
"uname")==0)
530 if(strcmp(sys_cmd,
"with")==0)
540 #define TEST_FOR(A) if(strcmp(s,A)==0) res->data=(void *)1; else
541 char *
s=(
char *)
h->Data();
554 #ifdef TEST_MAC_ORDER
559 #ifdef HAVE_DYNAMIC_LOADING
582 if (strcmp(sys_cmd,
"browsers")==0)
592 if (strcmp(sys_cmd,
"pid")==0)
595 res->data=(
void *)(
long) getpid();
600 if (strcmp(sys_cmd,
"getenv")==0)
605 const char *r=
getenv((
char *)
h->Data());
618 if (strcmp(sys_cmd,
"setenv")==0)
625 setenv((
char *)
h->Data(), (
char *)
h->next->Data(), 1);
635 WerrorS(
"setenv not supported on this platform");
641 if (strcmp(sys_cmd,
"Singular") == 0)
650 if (strcmp(sys_cmd,
"SingularLib") == 0)
659 if (strcmp(sys_cmd,
"SingularBin") == 0)
663 if (r ==
NULL) r=
"/usr/local";
666 #define SINGULAR_PROCS_DIR "/libexec/singular/MOD"
669 if ((strstr(r,
".libs/..")==
NULL)
670 &&(strstr(r,
"Singular/..")==
NULL))
674 if (access(
s,X_OK)==0)
681 strcpy(
s,LIBEXEC_DIR);
682 if (access(
s,X_OK)==0)
705 res->data = (
void*)
s;
710 if (strstr(sys_cmd,
"--") == sys_cmd)
712 if (strcmp(sys_cmd,
"--") == 0)
720 Werror(
"Unknown option %s", sys_cmd);
721 WerrorS(
"Use 'system(\"--\");' for listing of available options");
736 const char *r=(
const char*)
feOptSpec[opt].value;
750 WerrorS(
"Need string or int argument to set option value");
753 const char* errormsg;
758 Werror(
"Need string argument to set value of option %s", sys_cmd);
762 if (errormsg !=
NULL)
763 Werror(
"Option '--%s=%d' %s", sys_cmd, (
int) ((
long)
h->Data()), errormsg);
768 if (errormsg !=
NULL)
769 Werror(
"Option '--%s=%s' %s", sys_cmd, (
char*)
h->Data(), errormsg);
776 if (strcmp(sys_cmd,
"HC")==0)
784 if(strcmp(sys_cmd,
"random")==0)
807 if (strcmp(sys_cmd,
"denom_list")==0)
816 if(strcmp(sys_cmd,
"complexNearZero")==0)
823 WerrorS(
"unsupported ground field!");
830 (int)((
long)(
h->next->Data())));
841 if(strcmp(sys_cmd,
"getPrecDigits")==0)
846 WerrorS(
"unsupported ground field!");
857 if(strcmp(sys_cmd,
"lduDecomp")==0)
864 poly
l; poly u; poly prodLU;
865 lduDecomp(aMat, pMat, lMat, dMat, uMat,
l, u, prodLU);
876 res->data = (
char *)L;
886 if(strcmp(sys_cmd,
"lduSolve")==0)
920 poly
l = (poly)
h->next->next->next->next->Data();
921 poly u = (poly)
h->next->next->next->next->next->Data();
922 poly lTimesU = (poly)
h->next->next->next->next->next->next->Data();
923 matrix bVec = (
matrix)
h->next->next->next->next->next->next->next->Data();
927 Werror(
"first matrix (%d x %d) is not quadratic",
933 Werror(
"second matrix (%d x %d) is not quadratic",
939 Werror(
"third matrix (%d x %d) is not quadratic",
945 Werror(
"third matrix (%d x %d) and fourth matrix (%d x %d) %s",
952 Werror(
"fourth matrix (%d x %d) and vector (%d x 1) do not fit",
957 bVec, xVec, homogSolSpace);
980 if (strcmp(sys_cmd,
"shared") == 0)
982 #ifndef SI_COUNTEDREF_AUTOLOAD
989 else if (strcmp(sys_cmd,
"reference") == 0)
991 #ifndef SI_COUNTEDREF_AUTOLOAD
1000 #ifdef HAVE_SIMPLEIPC
1001 if (strcmp(sys_cmd,
"semaphore")==0)
1006 if ((
h->next->next!=
NULL)&& (
h->next->next->Typ()==
INT_CMD))
1007 v=(int)(
long)
h->next->next->Data();
1014 WerrorS(
"Usage: system(\"semaphore\",<cmd>,int)");
1021 if (strcmp(sys_cmd,
"reserve")==0)
1029 res->data=(
void*)(
long)
p;
1036 if (strcmp(sys_cmd,
"reservedLink")==0)
1045 if (strcmp(sys_cmd,
"install")==0)
1051 (
int)(
long)
h->next->next->next->Data(),
1058 if (strcmp(sys_cmd,
"newstruct")==0)
1064 char *n=(
char*)
h->Data();
1071 newstruct_desc desc=(newstruct_desc)bb->data;
1075 else Werror(
"'%s' is not a newstruct",n);
1077 else Werror(
"'%s' is not a blackbox object",n);
1083 if (strcmp(sys_cmd,
"blackbox")==0)
1090 #if defined(HAVE_FLINT) || defined(HAVE_NTL)
1091 if (strcmp(sys_cmd,
"absFact") == 0)
1108 l->m[0].data=(
void *)
f;
1110 l->m[1].data=(
void *)
v;
1112 l->m[2].data=(
void*) mipos;
1114 l->m[3].data=(
void*) (
long) n;
1115 res->data=(
void *)
l;
1124 if (strcmp(sys_cmd,
"LLL") == 0)
1147 #if __FLINT_RELEASE >= 20500
1148 if (strcmp(sys_cmd,
"LLL_Flint") == 0)
1169 WerrorS(
"matrix,int or bigint,int expected");
1174 if(((
int)((
long)(
h->next->Data())) != 0) && (
int)((
long)(
h->next->Data()) != 1))
1176 WerrorS(
"int is different from 0, 1");
1180 if((
long)(
h->next->Data()) == 0)
1195 if((
long)(
h->next->Data()) == 1)
1201 for(
int i = 1;
i<=
m->rows();
i++)
1219 for(
int i = 1;
i<=
m->rows();
i++)
1241 #if defined(HAVE_FLINT) || defined(HAVE_NTL)
1242 if(strcmp(sys_cmd,
"rref")==0)
1249 #if defined(HAVE_FLINT)
1251 #elif defined(HAVE_NTL)
1259 ideal
M=(ideal)
h->Data();
1260 #if defined(HAVE_FLINT)
1262 #elif defined(HAVE_NTL)
1270 WerrorS(
"expected system(\"rref\",<matrix>/<smatrix>)");
1278 if(strcmp(sys_cmd,
"pcvLAddL")==0)
1283 if(strcmp(sys_cmd,
"pcvPMulL")==0)
1288 if(strcmp(sys_cmd,
"pcvMinDeg")==0)
1293 if(strcmp(sys_cmd,
"pcvP2CV")==0)
1298 if(strcmp(sys_cmd,
"pcvCV2P")==0)
1303 if(strcmp(sys_cmd,
"pcvDim")==0)
1308 if(strcmp(sys_cmd,
"pcvBasis")==0)
1315 #ifdef HAVE_EIGENVAL
1316 if(strcmp(sys_cmd,
"hessenberg")==0)
1323 #ifdef HAVE_EIGENVAL
1324 if(strcmp(sys_cmd,
"eigenvals")==0)
1331 #ifdef HAVE_EIGENVAL
1332 if(strcmp(sys_cmd,
"rowelim")==0)
1339 #ifdef HAVE_EIGENVAL
1340 if(strcmp(sys_cmd,
"rowcolswap")==0)
1348 if(strcmp(sys_cmd,
"gmsnf")==0)
1355 if(strcmp(sys_cmd,
"contributors") == 0)
1359 "Olaf Bachmann, Michael Brickenstein, Hubert Grassmann, Kai Krueger, Victor Levandovskyy, Wolfgang Neumann, Thomas Nuessler, Wilfred Pohl, Jens Schmidt, Mathias Schulze, Thomas Siebert, Ruediger Stobbe, Moritz Wenk, Tim Wichmann");
1364 #ifdef HAVE_SPECTRUM
1365 if(strcmp(sys_cmd,
"spectrum") == 0)
1379 if(((
long)
h->next->Data())==1L)
1385 if(strcmp(sys_cmd,
"semic") == 0)
1391 if (
h->next->next==
NULL)
1393 else if (
h->next->next->Typ()==
INT_CMD)
1400 if(strcmp(sys_cmd,
"spadd") == 0)
1411 if(strcmp(sys_cmd,
"spmul") == 0)
1423 #define HAVE_SHEAFCOH_TRICKS 1
1425 #ifdef HAVE_SHEAFCOH_TRICKS
1426 if(strcmp(sys_cmd,
"tensorModuleMult")==0)
1432 int m = (int)( (
long)
h->Data() );
1433 ideal
M = (ideal)
h->next->Data();
1444 if (strcmp(sys_cmd,
"twostd") == 0)
1449 I=(ideal)
h->CopyD();
1463 if (strcmp(sys_cmd,
"bracket") == 0)
1468 poly
p=(poly)
h->CopyD();
1470 poly q=(poly)
h->Data();
1481 if (strcmp(sys_cmd,
"env")==0)
1485 ring r = (ring)
h->Data();
1492 WerrorS(
"`system(\"env\",<ring>)` expected");
1500 if (strcmp(sys_cmd,
"opp")==0)
1504 ring r=(ring)
h->Data();
1511 WerrorS(
"`system(\"opp\",<ring>)` expected");
1519 if (strcmp(sys_cmd,
"oppose")==0)
1522 && (
h->next!=
NULL))
1524 ring Rop = (ring)
h->Data();
1537 WerrorS(
"`system(\"oppose\",<ring>,<poly>)` expected");
1547 if (strcmp(sys_cmd,
"walkNextWeight") == 0)
1554 Werror(
"system(\"walkNextWeight\" ...) intvecs not of length %d\n",
1558 res->data = (
void*) walkNextWeight(((
intvec*)
h->Data()),
1560 (ideal)
h->next->next->Data());
1561 if (
res->data ==
NULL ||
res->data == (
void*) 1L)
1577 if (strcmp(sys_cmd,
"walkInitials") == 0)
1581 WerrorS(
"system(\"walkInitials\", ideal) expected");
1584 res->data = (
void*) walkInitials((ideal)
h->Data());
1594 if (strcmp(sys_cmd,
"walkAddIntVec") == 0)
1600 res->data = (
intvec*) walkAddIntVec(arg1, arg2);
1609 #ifdef MwaklNextWeight
1610 if (strcmp(sys_cmd,
"MwalkNextWeight") == 0)
1617 Werror(
"system(\"MwalkNextWeight\" ...) intvecs not of length %d\n",
1623 ideal arg3 = (ideal)
h->next->next->Data();
1634 if(strcmp(sys_cmd,
"Mivdp") == 0)
1638 WerrorS(
"system(\"Mivdp\", int) expected");
1641 if ((
int) ((
long)(
h->Data())) !=
currRing->N)
1643 Werror(
"system(\"Mivdp\" ...) intvecs not of length %d\n",
1647 int arg1 = (int) ((
long)(
h->Data()));
1657 if(strcmp(sys_cmd,
"Mivlp") == 0)
1661 WerrorS(
"system(\"Mivlp\", int) expected");
1664 if ((
int) ((
long)(
h->Data())) !=
currRing->N)
1666 Werror(
"system(\"Mivlp\" ...) intvecs not of length %d\n",
1670 int arg1 = (int) ((
long)(
h->Data()));
1681 if(strcmp(sys_cmd,
"MpDiv") == 0)
1685 poly arg1 = (poly)
h->Data();
1686 poly arg2 = (poly)
h->next->Data();
1687 poly
result = MpDiv(arg1, arg2);
1698 if(strcmp(sys_cmd,
"MpMult") == 0)
1702 poly arg1 = (poly)
h->Data();
1703 poly arg2 = (poly)
h->next->Data();
1704 poly
result = MpMult(arg1, arg2);
1714 if (strcmp(sys_cmd,
"MivSame") == 0)
1735 res->data = (
void*)(
long)
MivSame(arg1, arg2);
1742 if (strcmp(sys_cmd,
"M3ivSame") == 0)
1765 res->data = (
void*)(
long)
M3ivSame(arg1, arg2, arg3);
1772 if(strcmp(sys_cmd,
"MwalkInitialForm") == 0)
1778 Werror(
"system \"MwalkInitialForm\"...) intvec not of length %d\n",
1782 ideal
id = (ideal)
h->Data();
1794 if(strcmp(sys_cmd,
"MivMatrixOrder") == 0)
1798 WerrorS(
"system(\"MivMatrixOrder\",intvec) expected");
1811 if(strcmp(sys_cmd,
"MivMatrixOrderdp") == 0)
1815 WerrorS(
"system(\"MivMatrixOrderdp\",intvec) expected");
1818 int arg1 = (int) ((
long)(
h->Data()));
1828 if(strcmp(sys_cmd,
"MPertVectors") == 0)
1832 ideal arg1 = (ideal)
h->Data();
1834 int arg3 = (int) ((
long)(
h->next->next->Data()));
1844 if(strcmp(sys_cmd,
"MPertVectorslp") == 0)
1848 ideal arg1 = (ideal)
h->Data();
1850 int arg3 = (int) ((
long)(
h->next->next->Data()));
1860 if(strcmp(sys_cmd,
"Mfpertvector") == 0)
1864 ideal arg1 = (ideal)
h->Data();
1875 if(strcmp(sys_cmd,
"MivUnit") == 0)
1879 int arg1 = (int) ((
long)(
h->Data()));
1889 if(strcmp(sys_cmd,
"MivWeightOrderlp") == 0)
1903 if(strcmp(sys_cmd,
"MivWeightOrderdp") == 0)
1907 WerrorS(
"system(\"MivWeightOrderdp\",intvec) expected");
1921 if(strcmp(sys_cmd,
"MivMatrixOrderlp") == 0)
1925 WerrorS(
"system(\"MivMatrixOrderlp\",int) expected");
1928 int arg1 = (int) ((
long)(
h->Data()));
1938 if (strcmp(sys_cmd,
"MkInterRedNextWeight") == 0)
1945 Werror(
"system(\"MkInterRedNextWeight\" ...) intvecs not of length %d\n",
1951 ideal arg3 = (ideal)
h->next->next->Data();
1961 #ifdef MPertNextWeight
1962 if (strcmp(sys_cmd,
"MPertNextWeight") == 0)
1968 Werror(
"system(\"MPertNextWeight\" ...) intvecs not of length %d\n",
1973 ideal arg2 = (ideal)
h->next->Data();
1974 int arg3 = (int)
h->next->next->Data();
1985 #ifdef Mivperttarget
1986 if (strcmp(sys_cmd,
"Mivperttarget") == 0)
1990 ideal arg1 = (ideal)
h->Data();
1991 int arg2 = (int)
h->next->Data();
2002 if (strcmp(sys_cmd,
"Mwalk") == 0)
2009 Werror(
"system(\"Mwalk\" ...) intvecs not of length %d\n",
2013 ideal arg1 = (ideal)
h->CopyD();
2016 ring arg4 = (ring)
h->next->next->next->Data();
2017 int arg5 = (int) (
long)
h->next->next->next->next->Data();
2018 int arg6 = (int) (
long)
h->next->next->next->next->next->Data();
2019 ideal
result = (ideal)
Mwalk(arg1, arg2, arg3, arg4, arg5, arg6);
2029 if (strcmp(sys_cmd,
"Mwalk") == 0)
2038 Werror(
"system(\"Mwalk\" ...) intvecs not of length %d or %d\n",
2042 ideal arg1 = (ideal)
h->Data();
2045 ring arg4 = (ring)
h->next->next->next->Data();
2046 ideal
result = (ideal)
Mwalk(arg1, arg2, arg3,arg4);
2053 if (strcmp(sys_cmd,
"Mpwalk") == 0)
2060 Werror(
"system(\"Mpwalk\" ...) intvecs not of length %d\n",
currRing->N);
2063 ideal arg1 = (ideal)
h->Data();
2064 int arg2 = (int) (
long)
h->next->Data();
2065 int arg3 = (int) (
long)
h->next->next->Data();
2068 int arg6 = (int) (
long)
h->next->next->next->next->next->Data();
2069 int arg7 = (int) (
long)
h->next->next->next->next->next->next->Data();
2070 int arg8 = (int) (
long)
h->next->next->next->next->next->next->next->Data();
2071 ideal
result = (ideal)
Mpwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
2081 if (strcmp(sys_cmd,
"Mrwalk") == 0)
2090 Werror(
"system(\"Mrwalk\" ...) intvecs not of length %d or %d\n",
2094 ideal arg1 = (ideal)
h->Data();
2097 int arg4 = (int)(
long)
h->next->next->next->Data();
2098 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2099 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2100 int arg7 = (int)(
long)
h->next->next->next->next->next->next->Data();
2101 ideal
result = (ideal)
Mrwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
2110 if (strcmp(sys_cmd,
"MAltwalk1") == 0)
2117 Werror(
"system(\"MAltwalk1\" ...) intvecs not of length %d\n",
2121 ideal arg1 = (ideal)
h->Data();
2122 int arg2 = (int) ((
long)(
h->next->Data()));
2123 int arg3 = (int) ((
long)(
h->next->next->Data()));
2136 if (strcmp(sys_cmd,
"Mfwalk_alt") == 0)
2143 Werror(
"system(\"Mfwalk\" ...) intvecs not of length %d\n",
2147 ideal arg1 = (ideal)
h->Data();
2150 int arg4 = (int)
h->next->next->next->Data();
2151 ideal
result = (ideal) Mfwalk_alt(arg1, arg2, arg3, arg4);
2161 if (strcmp(sys_cmd,
"Mfwalk") == 0)
2168 Werror(
"system(\"Mfwalk\" ...) intvecs not of length %d\n",
2172 ideal arg1 = (ideal)
h->Data();
2175 int arg4 = (int)(
long)
h->next->next->next->Data();
2176 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2177 ideal
result = (ideal)
Mfwalk(arg1, arg2, arg3, arg4, arg5);
2186 if (strcmp(sys_cmd,
"Mfrwalk") == 0)
2203 Werror(
"system(\"Mfrwalk\" ...) intvecs not of length %d or %d\n",
2208 ideal arg1 = (ideal)
h->Data();
2211 int arg4 = (int)(
long)
h->next->next->next->Data();
2212 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2213 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2214 ideal
result = (ideal)
Mfrwalk(arg1, arg2, arg3, arg4, arg5, arg6);
2221 if (strcmp(sys_cmd,
"Mprwalk") == 0)
2230 Werror(
"system(\"Mrwalk\" ...) intvecs not of length %d or %d\n",
2234 ideal arg1 = (ideal)
h->Data();
2237 int arg4 = (int)(
long)
h->next->next->next->Data();
2238 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2239 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2240 int arg7 = (int)(
long)
h->next->next->next->next->next->next->Data();
2241 int arg8 = (int)(
long)
h->next->next->next->next->next->next->next->Data();
2242 int arg9 = (int)(
long)
h->next->next->next->next->next->next->next->next->Data();
2243 ideal
result = (ideal)
Mprwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
2253 if (strcmp(sys_cmd,
"TranMImprovwalk") == 0)
2260 Werror(
"system(\"TranMImprovwalk\" ...) intvecs not of length %d\n",
2264 ideal arg1 = (ideal)
h->Data();
2277 if (strcmp(sys_cmd,
"MAltwalk2") == 0)
2284 Werror(
"system(\"MAltwalk2\" ...) intvecs not of length %d\n",
2288 ideal arg1 = (ideal)
h->Data();
2300 if (strcmp(sys_cmd,
"TranMImprovwalk") == 0)
2307 Werror(
"system(\"TranMImprovwalk\" ...) intvecs not of length %d\n",
2311 ideal arg1 = (ideal)
h->Data();
2314 int arg4 = (int) ((
long)(
h->next->next->next->Data()));
2325 if (strcmp(sys_cmd,
"TranMrImprovwalk") == 0)
2330 h->next->next->next ==
NULL ||
h->next->next->next->Typ() !=
INT_CMD ||
2331 h->next->next->next ==
NULL ||
h->next->next->next->next->Typ() !=
INT_CMD ||
2332 h->next->next->next ==
NULL ||
h->next->next->next->next->next->Typ() !=
INT_CMD)
2334 WerrorS(
"system(\"TranMrImprovwalk\", ideal, intvec, intvec) expected");
2340 Werror(
"system(\"TranMrImprovwalk\" ...) intvecs not of length %d\n",
currRing->N);
2343 ideal arg1 = (ideal)
h->Data();
2346 int arg4 = (int)(
long)
h->next->next->next->Data();
2347 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2348 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2349 ideal
result = (ideal) TranMrImprovwalk(arg1, arg2, arg3, arg4, arg5, arg6);
2359 #ifndef MAKE_DISTRIBUTION
static int si_max(const int a, const int b)
#define BIMATELEM(M, I, J)
blackbox * getBlackboxStuff(const int t)
return the structure to the type given by t
int blackboxIsCmd(const char *n, int &tok)
used by scanner: returns ROOT_DECL for known types (and the type number in tok)
void printBlackboxTypes()
list all defined type (for debugging)
static CanonicalForm bound(const CFMatrix &M)
void factoryseed(int s)
random seed initializer
char * singclap_neworder(ideal I, const ring r)
matrix singntl_rref(matrix m, const ring R)
matrix singntl_LLL(matrix m, const ring s)
ideal singclap_absFactorize(poly f, ideal &mipos, intvec **exps, int &numFactors, const ring r)
gmp_complex numbers based on
@ n_transExt
used for all transcendental extensions, i.e., the top-most extension in an extension tower is transce...
static FORCE_INLINE BOOLEAN nCoeff_is_Ring(const coeffs r)
static FORCE_INLINE n_coeffType getCoeffType(const coeffs r)
Returns the type of coeffs domain.
void countedref_reference_load()
Initialize blackbox types 'reference' and 'shared', or both.
void countedref_shared_load()
matrix evRowElim(matrix M, int i, int j, int k)
matrix evHessenberg(matrix M)
matrix evSwap(matrix M, int i, int j)
lists evEigenvals(matrix M)
const char * feSetOptValue(feOptIndex opt, char *optarg)
feOptIndex feGetOptIndex(const char *name)
EXTERN_VAR struct fe_option feOptSpec[]
static char * feResource(feResourceConfig config, int warn)
void feStringAppendBrowsers(int warn)
bigintmat * singflint_LLL(bigintmat *A, bigintmat *T)
matrix singflint_rref(matrix m, const ring R)
lists gmsNF(ideal p, ideal g, matrix B, int D, int K)
void HilbertSeries_OrbitData(ideal S, int lV, bool IG_CASE, bool mgrad, bool odp, int trunDegHs)
ideal RightColonOperation(ideal S, poly w, int lV)
ideal id_TensorModuleMult(const int m, const ideal M, const ring rRing)
static BOOLEAN length(leftv result, leftv arg)
#define IMATELEM(M, I, J)
BOOLEAN spaddProc(leftv result, leftv first, leftv second)
BOOLEAN semicProc3(leftv res, leftv u, leftv v, leftv w)
BOOLEAN spectrumfProc(leftv result, leftv first)
BOOLEAN spmulProc(leftv result, leftv first, leftv second)
BOOLEAN spectrumProc(leftv result, leftv first)
BOOLEAN semicProc(leftv res, leftv u, leftv v)
poly kNFBound(ideal F, ideal Q, poly p, int bound, int syzComp, int lazyReduce)
BOOLEAN kVerify2(ideal F, ideal Q)
BOOLEAN kVerify1(ideal F, ideal Q)
poly pOppose(ring Rop_src, poly p, const ring Rop_dst)
opposes a vector p from Rop to currRing (dst!)
poly nc_p_Bracket_qq(poly p, const poly q, const ring r)
returns [p,q], destroys p
bool luSolveViaLDUDecomp(const matrix pMat, const matrix lMat, const matrix dMat, const matrix uMat, const poly l, const poly u, const poly lTimesU, const matrix bVec, matrix &xVec, matrix &H)
Solves the linear system A * x = b, where A is an (m x n)-matrix which is given by its LDU-decomposit...
void lduDecomp(const matrix aMat, matrix &pMat, matrix &lMat, matrix &dMat, matrix &uMat, poly &l, poly &u, poly &lTimesU)
LU-decomposition of a given (m x n)-matrix with performing only those divisions that yield zero remai...
ideal sm_UnFlatten(ideal a, int col, const ring R)
ideal sm_Flatten(ideal a, const ring R)
EXTERN_VAR size_t gmp_output_digits
bool complexNearZero(gmp_complex *c, int digits)
ideal twostd(ideal I)
Compute two-sided GB:
void newstructShow(newstruct_desc d)
BOOLEAN newstruct_set_proc(const char *bbname, const char *func, int args, procinfov pr)
char * omFindExec(const char *name, char *exec)
void p_Content(poly ph, const ring r)
poly p_Cleardenom(poly p, const ring r)
poly pcvP2CV(poly p, int d0, int d1)
int pcvBasis(lists b, int i, poly m, int d, int n)
int pcvDim(int d0, int d1)
lists pcvPMulL(poly p, lists l1)
poly pcvCV2P(poly cv, int d0, int d1)
lists pcvLAddL(lists l1, lists l2)
void StringSetS(const char *st)
static int rBlocks(ring r)
static BOOLEAN rField_is_long_C(const ring r)
static BOOLEAN rIsNCRing(const ring r)
#define rField_is_Ring(R)
int simpleipc_cmd(char *cmd, int id, int v)
int ssiReservePort(int clients)
int M3ivSame(intvec *temp, intvec *u, intvec *v)
intvec * MivMatrixOrderlp(int nV)
intvec * MivMatrixOrder(intvec *iv)
intvec * MkInterRedNextWeight(intvec *iva, intvec *ivb, ideal G)
intvec * Mfpertvector(ideal G, intvec *ivtarget)
ideal TranMImprovwalk(ideal G, intvec *curr_weight, intvec *target_tmp, int nP)
ideal Mfwalk(ideal G, intvec *ivstart, intvec *ivtarget, int reduction, int printout)
intvec * MPertVectors(ideal G, intvec *ivtarget, int pdeg)
intvec * MPertVectorslp(ideal G, intvec *ivtarget, int pdeg)
ideal Mprwalk(ideal Go, intvec *orig_M, intvec *target_M, int weight_rad, int op_deg, int tp_deg, int nP, int reduction, int printout)
intvec * MivWeightOrderdp(intvec *ivstart)
intvec * MivMatrixOrderdp(int nV)
intvec * MivWeightOrderlp(intvec *ivstart)
ideal MAltwalk2(ideal Go, intvec *curr_weight, intvec *target_weight)
ideal MAltwalk1(ideal Go, int op_deg, int tp_deg, intvec *curr_weight, intvec *target_weight)
ideal Mrwalk(ideal Go, intvec *orig_M, intvec *target_M, int weight_rad, int pert_deg, int reduction, int printout)
ideal Mfrwalk(ideal G, intvec *ivstart, intvec *ivtarget, int weight_rad, int reduction, int printout)
ideal Mwalk(ideal Go, intvec *orig_M, intvec *target_M, ring baseRing, int reduction, int printout)
ideal Mpwalk(ideal Go, int op_deg, int tp_deg, intvec *curr_weight, intvec *target_weight, int nP, int reduction, int printout)
int MivSame(intvec *u, intvec *v)
ideal MwalkInitialForm(ideal G, intvec *ivw)
intvec * MPertNextWeight(intvec *iva, ideal G, int deg)
intvec * MwalkNextWeight(intvec *curr_weight, intvec *target_weight, ideal G)
intvec * Mivperttarget(ideal G, int ndeg)