235 const char *sys_cmd=(
char *)(args->
Data());
240 if (strcmp(sys_cmd,
"nblocks") == 0)
262 r = (ring)
h->Data();
269 if(strcmp(sys_cmd,
"version")==0)
277 if(strcmp(sys_cmd,
"alarm")==0)
284 struct itimerval t,o;
285 memset(&t,0,
sizeof(t));
286 t.it_value.tv_sec =(unsigned)((
unsigned long)
h->Data());
287 setitimer(ITIMER_VIRTUAL,&t,&o);
295 if(strcmp(sys_cmd,
"content")==0)
300 poly
p=(poly)
h->CopyD();
314 if(strcmp(sys_cmd,
"cpu")==0)
317 #ifdef _SC_NPROCESSORS_ONLN
318 cpu=sysconf(_SC_NPROCESSORS_ONLN);
319 #elif defined(_SC_NPROCESSORS_CONF)
320 cpu=sysconf(_SC_NPROCESSORS_CONF);
322 res->data=(
void *)cpu;
328 if(strcmp(sys_cmd,
"executable")==0)
343 if(strcmp(sys_cmd,
"flatten")==0)
356 if(strcmp(sys_cmd,
"unflatten")==0)
369 if(strcmp(sys_cmd,
"neworder")==0)
383 if(strcmp(sys_cmd,
"nc_hilb") == 0)
391 i = (ideal)
h->Data();
394 WerrorS(
"nc_Hilb:ideal expected");
399 lV = (int)(
long)
h->Data();
402 WerrorS(
"nc_Hilb:int expected");
408 if((
int)(
long)
h->Data() == 1)
410 else if((
int)(
long)
h->Data() == 2)
415 trunDegHs = (int)(
long)
h->Data();
420 WerrorS(
"nc_Hilb:int 1,2, total degree for the truncation, and a string for printing the details are expected");
429 if(strcmp(sys_cmd,
"verifyGB")==0)
433 WerrorS(
"system(\"verifyGB\",<ideal>,..) expects a commutative ring");
438 WerrorS(
"expected system(\"verifyGB\",<ideal>,..)");
441 ideal F=(ideal)
h->Data();
458 if(strcmp(sys_cmd,
"rcolon") == 0)
463 ideal
i = (ideal)
h->Data();
465 poly
w=(poly)
h->Data();
467 int lV = (int)(
long)
h->Data();
478 if(strcmp(sys_cmd,
"sh")==0)
482 WerrorS(
"shell execution is disallowed in restricted mode");
486 if (
h==
NULL)
res->data = (
void *)(
long) system(
"sh");
488 res->data = (
void*)(
long) system((
char*)(
h->Data()));
495 if(strcmp(sys_cmd,
"reduce_bound")==0)
505 p = (poly)
h->CopyD();
509 pid = (ideal)
h->CopyD();
514 ideal q = (ideal)
h->next->CopyD();
515 int bound = (int)(
long)
h->next->next->Data();
524 if(strcmp(sys_cmd,
"uname")==0)
532 if(strcmp(sys_cmd,
"with")==0)
542 #define TEST_FOR(A) if(strcmp(s,A)==0) res->data=(void *)1; else
543 char *
s=(
char *)
h->Data();
556 #ifdef TEST_MAC_ORDER
561 #ifdef HAVE_DYNAMIC_LOADING
584 if (strcmp(sys_cmd,
"browsers")==0)
594 if (strcmp(sys_cmd,
"pid")==0)
597 res->data=(
void *)(
long) getpid();
602 if (strcmp(sys_cmd,
"getenv")==0)
607 const char *r=
getenv((
char *)
h->Data());
620 if (strcmp(sys_cmd,
"setenv")==0)
627 setenv((
char *)
h->Data(), (
char *)
h->next->Data(), 1);
637 WerrorS(
"setenv not supported on this platform");
643 if (strcmp(sys_cmd,
"Singular") == 0)
652 if (strcmp(sys_cmd,
"SingularLib") == 0)
661 if (strcmp(sys_cmd,
"SingularBin") == 0)
665 if (r ==
NULL) r=
"/usr/local";
668 #define SINGULAR_PROCS_DIR "/libexec/singular/MOD"
671 if ((strstr(r,
".libs/..")==
NULL)
672 &&(strstr(r,
"Singular/..")==
NULL))
676 if (access(
s,X_OK)==0)
683 strcpy(
s,LIBEXEC_DIR);
684 if (access(
s,X_OK)==0)
707 res->data = (
void*)
s;
712 if (strstr(sys_cmd,
"--") == sys_cmd)
714 if (strcmp(sys_cmd,
"--") == 0)
722 Werror(
"Unknown option %s", sys_cmd);
723 WerrorS(
"Use 'system(\"--\");' for listing of available options");
738 const char *r=(
const char*)
feOptSpec[opt].value;
752 WerrorS(
"Need string or int argument to set option value");
755 const char* errormsg;
760 Werror(
"Need string argument to set value of option %s", sys_cmd);
764 if (errormsg !=
NULL)
765 Werror(
"Option '--%s=%d' %s", sys_cmd, (
int) ((
long)
h->Data()), errormsg);
770 if (errormsg !=
NULL)
771 Werror(
"Option '--%s=%s' %s", sys_cmd, (
char*)
h->Data(), errormsg);
778 if (strcmp(sys_cmd,
"HC")==0)
786 if(strcmp(sys_cmd,
"random")==0)
809 if (strcmp(sys_cmd,
"denom_list")==0)
818 if(strcmp(sys_cmd,
"complexNearZero")==0)
825 WerrorS(
"unsupported ground field!");
832 (int)((
long)(
h->next->Data())));
843 if(strcmp(sys_cmd,
"getPrecDigits")==0)
848 WerrorS(
"unsupported ground field!");
859 if(strcmp(sys_cmd,
"lduDecomp")==0)
866 poly
l; poly u; poly prodLU;
867 lduDecomp(aMat, pMat, lMat, dMat, uMat,
l, u, prodLU);
878 res->data = (
char *)L;
888 if(strcmp(sys_cmd,
"lduSolve")==0)
922 poly
l = (poly)
h->next->next->next->next->Data();
923 poly u = (poly)
h->next->next->next->next->next->Data();
924 poly lTimesU = (poly)
h->next->next->next->next->next->next->Data();
925 matrix bVec = (
matrix)
h->next->next->next->next->next->next->next->Data();
929 Werror(
"first matrix (%d x %d) is not quadratic",
935 Werror(
"second matrix (%d x %d) is not quadratic",
941 Werror(
"third matrix (%d x %d) is not quadratic",
947 Werror(
"third matrix (%d x %d) and fourth matrix (%d x %d) %s",
954 Werror(
"fourth matrix (%d x %d) and vector (%d x 1) do not fit",
959 bVec, xVec, homogSolSpace);
982 if (strcmp(sys_cmd,
"shared") == 0)
984 #ifndef SI_COUNTEDREF_AUTOLOAD
991 else if (strcmp(sys_cmd,
"reference") == 0)
993 #ifndef SI_COUNTEDREF_AUTOLOAD
1002 #ifdef HAVE_SIMPLEIPC
1003 if (strcmp(sys_cmd,
"semaphore")==0)
1008 if ((
h->next->next!=
NULL)&& (
h->next->next->Typ()==
INT_CMD))
1009 v=(int)(
long)
h->next->next->Data();
1016 WerrorS(
"Usage: system(\"semaphore\",<cmd>,int)");
1023 if (strcmp(sys_cmd,
"reserve")==0)
1031 res->data=(
void*)(
long)
p;
1038 if (strcmp(sys_cmd,
"reservedLink")==0)
1047 if (strcmp(sys_cmd,
"install")==0)
1053 (
int)(
long)
h->next->next->next->Data(),
1060 if (strcmp(sys_cmd,
"newstruct")==0)
1066 char *n=(
char*)
h->Data();
1073 newstruct_desc desc=(newstruct_desc)bb->data;
1077 else Werror(
"'%s' is not a newstruct",n);
1079 else Werror(
"'%s' is not a blackbox object",n);
1085 if (strcmp(sys_cmd,
"blackbox")==0)
1092 #if defined(HAVE_FLINT) || defined(HAVE_NTL)
1093 if (strcmp(sys_cmd,
"absFact") == 0)
1110 l->m[0].data=(
void *)
f;
1112 l->m[1].data=(
void *)
v;
1114 l->m[2].data=(
void*) mipos;
1116 l->m[3].data=(
void*) (
long) n;
1117 res->data=(
void *)
l;
1126 if (strcmp(sys_cmd,
"LLL") == 0)
1149 #if __FLINT_RELEASE >= 20500
1150 if (strcmp(sys_cmd,
"LLL_Flint") == 0)
1171 WerrorS(
"matrix,int or bigint,int expected");
1176 if(((
int)((
long)(
h->next->Data())) != 0) && (
int)((
long)(
h->next->Data()) != 1))
1178 WerrorS(
"int is different from 0, 1");
1182 if((
long)(
h->next->Data()) == 0)
1197 if((
long)(
h->next->Data()) == 1)
1203 for(
int i = 1;
i<=
m->rows();
i++)
1221 for(
int i = 1;
i<=
m->rows();
i++)
1243 #if defined(HAVE_FLINT) || defined(HAVE_NTL)
1244 if(strcmp(sys_cmd,
"rref")==0)
1251 #if defined(HAVE_FLINT)
1253 #elif defined(HAVE_NTL)
1261 ideal
M=(ideal)
h->Data();
1262 #if defined(HAVE_FLINT)
1264 #elif defined(HAVE_NTL)
1272 WerrorS(
"expected system(\"rref\",<matrix>/<smatrix>)");
1280 if(strcmp(sys_cmd,
"pcvLAddL")==0)
1285 if(strcmp(sys_cmd,
"pcvPMulL")==0)
1290 if(strcmp(sys_cmd,
"pcvMinDeg")==0)
1295 if(strcmp(sys_cmd,
"pcvP2CV")==0)
1300 if(strcmp(sys_cmd,
"pcvCV2P")==0)
1305 if(strcmp(sys_cmd,
"pcvDim")==0)
1310 if(strcmp(sys_cmd,
"pcvBasis")==0)
1317 #ifdef HAVE_EIGENVAL
1318 if(strcmp(sys_cmd,
"hessenberg")==0)
1325 #ifdef HAVE_EIGENVAL
1326 if(strcmp(sys_cmd,
"eigenvals")==0)
1333 #ifdef HAVE_EIGENVAL
1334 if(strcmp(sys_cmd,
"rowelim")==0)
1341 #ifdef HAVE_EIGENVAL
1342 if(strcmp(sys_cmd,
"rowcolswap")==0)
1350 if(strcmp(sys_cmd,
"gmsnf")==0)
1357 if(strcmp(sys_cmd,
"contributors") == 0)
1361 "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");
1366 #ifdef HAVE_SPECTRUM
1367 if(strcmp(sys_cmd,
"spectrum") == 0)
1381 if(((
long)
h->next->Data())==1L)
1387 if(strcmp(sys_cmd,
"semic") == 0)
1393 if (
h->next->next==
NULL)
1395 else if (
h->next->next->Typ()==
INT_CMD)
1402 if(strcmp(sys_cmd,
"spadd") == 0)
1413 if(strcmp(sys_cmd,
"spmul") == 0)
1425 #define HAVE_SHEAFCOH_TRICKS 1
1427 #ifdef HAVE_SHEAFCOH_TRICKS
1428 if(strcmp(sys_cmd,
"tensorModuleMult")==0)
1434 int m = (int)( (
long)
h->Data() );
1435 ideal
M = (ideal)
h->next->Data();
1446 if (strcmp(sys_cmd,
"twostd") == 0)
1451 I=(ideal)
h->CopyD();
1465 if (strcmp(sys_cmd,
"bracket") == 0)
1470 poly
p=(poly)
h->CopyD();
1472 poly q=(poly)
h->Data();
1483 if (strcmp(sys_cmd,
"env")==0)
1487 ring r = (ring)
h->Data();
1494 WerrorS(
"`system(\"env\",<ring>)` expected");
1502 if (strcmp(sys_cmd,
"opp")==0)
1506 ring r=(ring)
h->Data();
1513 WerrorS(
"`system(\"opp\",<ring>)` expected");
1521 if (strcmp(sys_cmd,
"oppose")==0)
1524 && (
h->next!=
NULL))
1526 ring Rop = (ring)
h->Data();
1539 WerrorS(
"`system(\"oppose\",<ring>,<poly>)` expected");
1549 if (strcmp(sys_cmd,
"walkNextWeight") == 0)
1556 Werror(
"system(\"walkNextWeight\" ...) intvecs not of length %d\n",
1560 res->data = (
void*) walkNextWeight(((
intvec*)
h->Data()),
1562 (ideal)
h->next->next->Data());
1563 if (
res->data ==
NULL ||
res->data == (
void*) 1L)
1579 if (strcmp(sys_cmd,
"walkInitials") == 0)
1583 WerrorS(
"system(\"walkInitials\", ideal) expected");
1586 res->data = (
void*) walkInitials((ideal)
h->Data());
1596 if (strcmp(sys_cmd,
"walkAddIntVec") == 0)
1602 res->data = (
intvec*) walkAddIntVec(arg1, arg2);
1611 #ifdef MwaklNextWeight
1612 if (strcmp(sys_cmd,
"MwalkNextWeight") == 0)
1619 Werror(
"system(\"MwalkNextWeight\" ...) intvecs not of length %d\n",
1625 ideal arg3 = (ideal)
h->next->next->Data();
1636 if(strcmp(sys_cmd,
"Mivdp") == 0)
1640 WerrorS(
"system(\"Mivdp\", int) expected");
1643 if ((
int) ((
long)(
h->Data())) !=
currRing->N)
1645 Werror(
"system(\"Mivdp\" ...) intvecs not of length %d\n",
1649 int arg1 = (int) ((
long)(
h->Data()));
1659 if(strcmp(sys_cmd,
"Mivlp") == 0)
1663 WerrorS(
"system(\"Mivlp\", int) expected");
1666 if ((
int) ((
long)(
h->Data())) !=
currRing->N)
1668 Werror(
"system(\"Mivlp\" ...) intvecs not of length %d\n",
1672 int arg1 = (int) ((
long)(
h->Data()));
1683 if(strcmp(sys_cmd,
"MpDiv") == 0)
1687 poly arg1 = (poly)
h->Data();
1688 poly arg2 = (poly)
h->next->Data();
1689 poly
result = MpDiv(arg1, arg2);
1700 if(strcmp(sys_cmd,
"MpMult") == 0)
1704 poly arg1 = (poly)
h->Data();
1705 poly arg2 = (poly)
h->next->Data();
1706 poly
result = MpMult(arg1, arg2);
1716 if (strcmp(sys_cmd,
"MivSame") == 0)
1737 res->data = (
void*)(
long)
MivSame(arg1, arg2);
1744 if (strcmp(sys_cmd,
"M3ivSame") == 0)
1767 res->data = (
void*)(
long)
M3ivSame(arg1, arg2, arg3);
1774 if(strcmp(sys_cmd,
"MwalkInitialForm") == 0)
1780 Werror(
"system \"MwalkInitialForm\"...) intvec not of length %d\n",
1784 ideal
id = (ideal)
h->Data();
1796 if(strcmp(sys_cmd,
"MivMatrixOrder") == 0)
1800 WerrorS(
"system(\"MivMatrixOrder\",intvec) expected");
1813 if(strcmp(sys_cmd,
"MivMatrixOrderdp") == 0)
1817 WerrorS(
"system(\"MivMatrixOrderdp\",intvec) expected");
1820 int arg1 = (int) ((
long)(
h->Data()));
1830 if(strcmp(sys_cmd,
"MPertVectors") == 0)
1834 ideal arg1 = (ideal)
h->Data();
1836 int arg3 = (int) ((
long)(
h->next->next->Data()));
1846 if(strcmp(sys_cmd,
"MPertVectorslp") == 0)
1850 ideal arg1 = (ideal)
h->Data();
1852 int arg3 = (int) ((
long)(
h->next->next->Data()));
1862 if(strcmp(sys_cmd,
"Mfpertvector") == 0)
1866 ideal arg1 = (ideal)
h->Data();
1877 if(strcmp(sys_cmd,
"MivUnit") == 0)
1881 int arg1 = (int) ((
long)(
h->Data()));
1891 if(strcmp(sys_cmd,
"MivWeightOrderlp") == 0)
1905 if(strcmp(sys_cmd,
"MivWeightOrderdp") == 0)
1909 WerrorS(
"system(\"MivWeightOrderdp\",intvec) expected");
1923 if(strcmp(sys_cmd,
"MivMatrixOrderlp") == 0)
1927 WerrorS(
"system(\"MivMatrixOrderlp\",int) expected");
1930 int arg1 = (int) ((
long)(
h->Data()));
1940 if (strcmp(sys_cmd,
"MkInterRedNextWeight") == 0)
1947 Werror(
"system(\"MkInterRedNextWeight\" ...) intvecs not of length %d\n",
1953 ideal arg3 = (ideal)
h->next->next->Data();
1963 #ifdef MPertNextWeight
1964 if (strcmp(sys_cmd,
"MPertNextWeight") == 0)
1970 Werror(
"system(\"MPertNextWeight\" ...) intvecs not of length %d\n",
1975 ideal arg2 = (ideal)
h->next->Data();
1976 int arg3 = (int)
h->next->next->Data();
1987 #ifdef Mivperttarget
1988 if (strcmp(sys_cmd,
"Mivperttarget") == 0)
1992 ideal arg1 = (ideal)
h->Data();
1993 int arg2 = (int)
h->next->Data();
2004 if (strcmp(sys_cmd,
"Mwalk") == 0)
2011 Werror(
"system(\"Mwalk\" ...) intvecs not of length %d\n",
2015 ideal arg1 = (ideal)
h->CopyD();
2018 ring arg4 = (ring)
h->next->next->next->Data();
2019 int arg5 = (int) (
long)
h->next->next->next->next->Data();
2020 int arg6 = (int) (
long)
h->next->next->next->next->next->Data();
2021 ideal
result = (ideal)
Mwalk(arg1, arg2, arg3, arg4, arg5, arg6);
2031 if (strcmp(sys_cmd,
"Mwalk") == 0)
2040 Werror(
"system(\"Mwalk\" ...) intvecs not of length %d or %d\n",
2044 ideal arg1 = (ideal)
h->Data();
2047 ring arg4 = (ring)
h->next->next->next->Data();
2048 ideal
result = (ideal)
Mwalk(arg1, arg2, arg3,arg4);
2055 if (strcmp(sys_cmd,
"Mpwalk") == 0)
2062 Werror(
"system(\"Mpwalk\" ...) intvecs not of length %d\n",
currRing->N);
2065 ideal arg1 = (ideal)
h->Data();
2066 int arg2 = (int) (
long)
h->next->Data();
2067 int arg3 = (int) (
long)
h->next->next->Data();
2070 int arg6 = (int) (
long)
h->next->next->next->next->next->Data();
2071 int arg7 = (int) (
long)
h->next->next->next->next->next->next->Data();
2072 int arg8 = (int) (
long)
h->next->next->next->next->next->next->next->Data();
2073 ideal
result = (ideal)
Mpwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
2083 if (strcmp(sys_cmd,
"Mrwalk") == 0)
2092 Werror(
"system(\"Mrwalk\" ...) intvecs not of length %d or %d\n",
2096 ideal arg1 = (ideal)
h->Data();
2099 int arg4 = (int)(
long)
h->next->next->next->Data();
2100 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2101 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2102 int arg7 = (int)(
long)
h->next->next->next->next->next->next->Data();
2103 ideal
result = (ideal)
Mrwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
2112 if (strcmp(sys_cmd,
"MAltwalk1") == 0)
2119 Werror(
"system(\"MAltwalk1\" ...) intvecs not of length %d\n",
2123 ideal arg1 = (ideal)
h->Data();
2124 int arg2 = (int) ((
long)(
h->next->Data()));
2125 int arg3 = (int) ((
long)(
h->next->next->Data()));
2138 if (strcmp(sys_cmd,
"Mfwalk_alt") == 0)
2145 Werror(
"system(\"Mfwalk\" ...) intvecs not of length %d\n",
2149 ideal arg1 = (ideal)
h->Data();
2152 int arg4 = (int)
h->next->next->next->Data();
2153 ideal
result = (ideal) Mfwalk_alt(arg1, arg2, arg3, arg4);
2163 if (strcmp(sys_cmd,
"Mfwalk") == 0)
2170 Werror(
"system(\"Mfwalk\" ...) intvecs not of length %d\n",
2174 ideal arg1 = (ideal)
h->Data();
2177 int arg4 = (int)(
long)
h->next->next->next->Data();
2178 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2179 ideal
result = (ideal)
Mfwalk(arg1, arg2, arg3, arg4, arg5);
2188 if (strcmp(sys_cmd,
"Mfrwalk") == 0)
2205 Werror(
"system(\"Mfrwalk\" ...) intvecs not of length %d or %d\n",
2210 ideal arg1 = (ideal)
h->Data();
2213 int arg4 = (int)(
long)
h->next->next->next->Data();
2214 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2215 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2216 ideal
result = (ideal)
Mfrwalk(arg1, arg2, arg3, arg4, arg5, arg6);
2223 if (strcmp(sys_cmd,
"Mprwalk") == 0)
2232 Werror(
"system(\"Mrwalk\" ...) intvecs not of length %d or %d\n",
2236 ideal arg1 = (ideal)
h->Data();
2239 int arg4 = (int)(
long)
h->next->next->next->Data();
2240 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2241 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2242 int arg7 = (int)(
long)
h->next->next->next->next->next->next->Data();
2243 int arg8 = (int)(
long)
h->next->next->next->next->next->next->next->Data();
2244 int arg9 = (int)(
long)
h->next->next->next->next->next->next->next->next->Data();
2245 ideal
result = (ideal)
Mprwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
2255 if (strcmp(sys_cmd,
"TranMImprovwalk") == 0)
2262 Werror(
"system(\"TranMImprovwalk\" ...) intvecs not of length %d\n",
2266 ideal arg1 = (ideal)
h->Data();
2279 if (strcmp(sys_cmd,
"MAltwalk2") == 0)
2286 Werror(
"system(\"MAltwalk2\" ...) intvecs not of length %d\n",
2290 ideal arg1 = (ideal)
h->Data();
2302 if (strcmp(sys_cmd,
"TranMImprovwalk") == 0)
2309 Werror(
"system(\"TranMImprovwalk\" ...) intvecs not of length %d\n",
2313 ideal arg1 = (ideal)
h->Data();
2316 int arg4 = (int) ((
long)(
h->next->next->next->Data()));
2327 if (strcmp(sys_cmd,
"TranMrImprovwalk") == 0)
2332 h->next->next->next ==
NULL ||
h->next->next->next->Typ() !=
INT_CMD ||
2333 h->next->next->next ==
NULL ||
h->next->next->next->next->Typ() !=
INT_CMD ||
2334 h->next->next->next ==
NULL ||
h->next->next->next->next->next->Typ() !=
INT_CMD)
2336 WerrorS(
"system(\"TranMrImprovwalk\", ideal, intvec, intvec) expected");
2342 Werror(
"system(\"TranMrImprovwalk\" ...) intvecs not of length %d\n",
currRing->N);
2345 ideal arg1 = (ideal)
h->Data();
2348 int arg4 = (int)(
long)
h->next->next->next->Data();
2349 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2350 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2351 ideal
result = (ideal) TranMrImprovwalk(arg1, arg2, arg3, arg4, arg5, arg6);
2361 #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 BOOLEAN rField_is_long_C(const ring r)
static int rBlocks(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)