232 const char *sys_cmd=(
char *)(args->
Data());
237 if (strcmp(sys_cmd,
"nblocks") == 0)
259 r = (ring)
h->Data();
266 if(strcmp(sys_cmd,
"version")==0)
274 if(strcmp(sys_cmd,
"alarm")==0)
281 struct itimerval t,o;
282 memset(&t,0,
sizeof(t));
283 t.it_value.tv_sec =(unsigned)((
unsigned long)
h->Data());
284 setitimer(ITIMER_VIRTUAL,&t,&o);
292 if(strcmp(sys_cmd,
"cpu")==0)
295 #ifdef _SC_NPROCESSORS_ONLN
296 cpu=sysconf(_SC_NPROCESSORS_ONLN);
297 #elif defined(_SC_NPROCESSORS_CONF)
298 cpu=sysconf(_SC_NPROCESSORS_CONF);
300 res->data=(
void *)cpu;
306 if(strcmp(sys_cmd,
"executable")==0)
321 if(strcmp(sys_cmd,
"neworder")==0)
335 if(strcmp(sys_cmd,
"nc_hilb") == 0)
343 i = (ideal)
h->Data();
346 WerrorS(
"nc_Hilb:ideal expected");
351 lV = (int)(
long)
h->Data();
354 WerrorS(
"nc_Hilb:int expected");
360 if((
int)(
long)
h->Data() == 1)
362 else if((
int)(
long)
h->Data() == 2)
367 trunDegHs = (int)(
long)
h->Data();
372 WerrorS(
"nc_Hilb:int 1,2, total degree for the truncation, and a string for printing the details are expected");
381 if(strcmp(sys_cmd,
"rcolon") == 0)
386 ideal
i = (ideal)
h->Data();
388 poly
w=(poly)
h->Data();
390 int lV = (int)(
long)
h->Data();
401 if(strcmp(sys_cmd,
"sh")==0)
405 WerrorS(
"shell execution is disallowed in restricted mode");
411 res->data = (
void*)(
long)
system((
char*)(
h->Data()));
418 if(strcmp(sys_cmd,
"reduce_bound")==0)
428 p = (poly)
h->CopyD();
432 pid = (ideal)
h->CopyD();
437 ideal q = (ideal)
h->next->CopyD();
438 int bound = (int)(
long)
h->next->next->Data();
447 if(strcmp(sys_cmd,
"uname")==0)
455 if(strcmp(sys_cmd,
"with")==0)
465 #define TEST_FOR(A) if(strcmp(s,A)==0) res->data=(void *)1; else
466 char *
s=(
char *)
h->Data();
479 #ifdef TEST_MAC_ORDER
484 #ifdef HAVE_DYNAMIC_LOADING
507 if (strcmp(sys_cmd,
"browsers")==0)
517 if (strcmp(sys_cmd,
"pid")==0)
520 res->data=(
void *)(
long) getpid();
525 if (strcmp(sys_cmd,
"getenv")==0)
530 const char *r=
getenv((
char *)
h->Data());
543 if (strcmp(sys_cmd,
"setenv")==0)
550 setenv((
char *)
h->Data(), (
char *)
h->next->Data(), 1);
560 WerrorS(
"setenv not supported on this platform");
566 if (strcmp(sys_cmd,
"Singular") == 0)
575 if (strcmp(sys_cmd,
"SingularLib") == 0)
585 if (strstr(sys_cmd,
"--") == sys_cmd)
587 if (strcmp(sys_cmd,
"--") == 0)
595 Werror(
"Unknown option %s", sys_cmd);
596 WerrorS(
"Use 'system(\"--\");' for listing of available options");
611 const char *r=(
const char*)
feOptSpec[opt].value;
625 WerrorS(
"Need string or int argument to set option value");
628 const char* errormsg;
633 Werror(
"Need string argument to set value of option %s", sys_cmd);
637 if (errormsg !=
NULL)
638 Werror(
"Option '--%s=%d' %s", sys_cmd, (
int) ((
long)
h->Data()), errormsg);
643 if (errormsg !=
NULL)
644 Werror(
"Option '--%s=%s' %s", sys_cmd, (
char*)
h->Data(), errormsg);
651 if (strcmp(sys_cmd,
"HC")==0)
659 if(strcmp(sys_cmd,
"random")==0)
682 if (strcmp(sys_cmd,
"std_syz") == 0)
688 i1=(ideal)
h->CopyD();
694 i2=(int)((
long)
h->Data());
703 if (strcmp(sys_cmd,
"denom_list")==0)
712 if(strcmp(sys_cmd,
"complexNearZero")==0)
719 WerrorS(
"unsupported ground field!");
726 (int)((
long)(
h->next->Data())));
737 if(strcmp(sys_cmd,
"getPrecDigits")==0)
742 WerrorS(
"unsupported ground field!");
753 if(strcmp(sys_cmd,
"lduDecomp")==0)
760 poly
l; poly u; poly prodLU;
761 lduDecomp(aMat, pMat, lMat, dMat, uMat,
l, u, prodLU);
772 res->data = (
char *)L;
782 if(strcmp(sys_cmd,
"lduSolve")==0)
816 poly
l = (poly)
h->next->next->next->next->Data();
817 poly u = (poly)
h->next->next->next->next->next->Data();
818 poly lTimesU = (poly)
h->next->next->next->next->next->next->Data();
819 matrix bVec = (
matrix)
h->next->next->next->next->next->next->next->Data();
823 Werror(
"first matrix (%d x %d) is not quadratic",
829 Werror(
"second matrix (%d x %d) is not quadratic",
835 Werror(
"third matrix (%d x %d) is not quadratic",
841 Werror(
"third matrix (%d x %d) and fourth matrix (%d x %d) %s",
848 Werror(
"fourth matrix (%d x %d) and vector (%d x 1) do not fit",
853 bVec, xVec, homogSolSpace);
876 if (strcmp(sys_cmd,
"shared") == 0)
878 #ifndef SI_COUNTEDREF_AUTOLOAD
885 else if (strcmp(sys_cmd,
"reference") == 0)
887 #ifndef SI_COUNTEDREF_AUTOLOAD
896 #ifdef HAVE_SIMPLEIPC
897 if (strcmp(sys_cmd,
"semaphore")==0)
903 v=(int)(
long)
h->next->next->Data();
910 WerrorS(
"Usage: system(\"semaphore\",<cmd>,int)");
917 if (strcmp(sys_cmd,
"reserve")==0)
925 res->data=(
void*)(
long)
p;
932 if (strcmp(sys_cmd,
"reservedLink")==0)
941 if (strcmp(sys_cmd,
"install")==0)
947 (
int)(
long)
h->next->next->next->Data(),
954 if (strcmp(sys_cmd,
"newstruct")==0)
960 char *n=(
char*)
h->Data();
967 newstruct_desc desc=(newstruct_desc)bb->data;
971 else Werror(
"'%s' is not a newstruct",n);
973 else Werror(
"'%s' is not a blackbox object",n);
979 if (strcmp(sys_cmd,
"blackbox")==0)
987 if (strcmp(sys_cmd,
"absFact") == 0)
1004 l->m[0].data=(
void *)
f;
1006 l->m[1].data=(
void *)
v;
1008 l->m[2].data=(
void*) mipos;
1010 l->m[3].data=(
void*) (
long) n;
1011 res->data=(
void *)
l;
1020 if (strcmp(sys_cmd,
"LLL") == 0)
1043 #if __FLINT_RELEASE >= 20500
1044 if (strcmp(sys_cmd,
"LLL_Flint") == 0)
1065 WerrorS(
"matrix,int or bigint,int expected");
1070 if(((
int)((
long)(
h->next->Data())) != 0) && (
int)((
long)(
h->next->Data()) != 1))
1072 WerrorS(
"int is different from 0, 1");
1076 if((
long)(
h->next->Data()) == 0)
1091 if((
long)(
h->next->Data()) == 1)
1097 for(
int i = 1;
i<=
m->rows();
i++)
1102 m = singflint_LLL(
m,
T);
1115 for(
int i = 1;
i<=
m->rows();
i++)
1117 m = singflint_LLL(
m,
T);
1137 #ifdef HAVE_SHIFTBBA
1138 if (strcmp(sys_cmd,
"stest") == 0)
1143 poly
p=(poly)
h->CopyD();
1145 int sh=(int)((
long)(
h->Data()));
1147 int uptodeg=(int)((
long)(
h->Data()));
1149 int lVblock=(int)((
long)(
h->Data()));
1152 WerrorS(
"negative shift for pLPshift");
1158 WerrorS(
"pLPshift: too big shift requested\n");
1170 #ifdef HAVE_SHIFTBBA
1171 if (strcmp(sys_cmd,
"btest") == 0)
1176 poly
p=(poly)
h->CopyD();
1178 int lV=(int)((
long)(
h->Data()));
1188 #ifdef HAVE_SHIFTBBA
1189 if (strcmp(sys_cmd,
"shrinktest") == 0)
1194 poly
p=(poly)
h->Data();
1196 int lV=(int)((
long)(
h->Data()));
1210 if(strcmp(sys_cmd,
"pcvLAddL")==0)
1215 if(strcmp(sys_cmd,
"pcvPMulL")==0)
1220 if(strcmp(sys_cmd,
"pcvMinDeg")==0)
1225 if(strcmp(sys_cmd,
"pcvP2CV")==0)
1230 if(strcmp(sys_cmd,
"pcvCV2P")==0)
1235 if(strcmp(sys_cmd,
"pcvDim")==0)
1240 if(strcmp(sys_cmd,
"pcvBasis")==0)
1247 #ifdef HAVE_EIGENVAL
1248 if(strcmp(sys_cmd,
"hessenberg")==0)
1255 #ifdef HAVE_EIGENVAL
1256 if(strcmp(sys_cmd,
"eigenvals")==0)
1263 #ifdef HAVE_EIGENVAL
1264 if(strcmp(sys_cmd,
"rowelim")==0)
1271 #ifdef HAVE_EIGENVAL
1272 if(strcmp(sys_cmd,
"rowcolswap")==0)
1280 if(strcmp(sys_cmd,
"gmsnf")==0)
1287 if(strcmp(sys_cmd,
"contributors") == 0)
1291 "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");
1296 #ifdef HAVE_SPECTRUM
1297 if(strcmp(sys_cmd,
"spectrum") == 0)
1311 if(((
long)
h->next->Data())==1L)
1317 if(strcmp(sys_cmd,
"semic") == 0)
1323 if (
h->next->next==
NULL)
1325 else if (
h->next->next->Typ()==
INT_CMD)
1332 if(strcmp(sys_cmd,
"spadd") == 0)
1343 if(strcmp(sys_cmd,
"spmul") == 0)
1355 #define HAVE_SHEAFCOH_TRICKS 1
1357 #ifdef HAVE_SHEAFCOH_TRICKS
1358 if(strcmp(sys_cmd,
"tensorModuleMult")==0)
1364 int m = (int)( (
long)
h->Data() );
1365 ideal
M = (ideal)
h->next->Data();
1376 if (strcmp(sys_cmd,
"twostd") == 0)
1381 I=(ideal)
h->CopyD();
1395 if (strcmp(sys_cmd,
"bracket") == 0)
1400 poly
p=(poly)
h->CopyD();
1402 poly q=(poly)
h->Data();
1413 if (strcmp(sys_cmd,
"env")==0)
1417 ring r = (ring)
h->Data();
1424 WerrorS(
"`system(\"env\",<ring>)` expected");
1432 if (strcmp(sys_cmd,
"opp")==0)
1436 ring r=(ring)
h->Data();
1443 WerrorS(
"`system(\"opp\",<ring>)` expected");
1451 if (strcmp(sys_cmd,
"oppose")==0)
1454 && (
h->next!=
NULL))
1456 ring Rop = (ring)
h->Data();
1469 WerrorS(
"`system(\"oppose\",<ring>,<poly>)` expected");
1477 #ifdef HAVE_SHIFTBBA
1478 if (strcmp(sys_cmd,
"freegb") == 0)
1483 ideal I=(ideal)
h->CopyD();
1485 int uptodeg=(int)((
long)(
h->Data()));
1487 int lVblock=(int)((
long)(
h->Data()));
1506 if (strcmp(sys_cmd,
"walkNextWeight") == 0)
1513 Werror(
"system(\"walkNextWeight\" ...) intvecs not of length %d\n",
1517 res->data = (
void*) walkNextWeight(((
intvec*)
h->Data()),
1519 (ideal)
h->next->next->Data());
1520 if (
res->data ==
NULL ||
res->data == (
void*) 1L)
1536 if (strcmp(sys_cmd,
"walkInitials") == 0)
1540 WerrorS(
"system(\"walkInitials\", ideal) expected");
1543 res->data = (
void*) walkInitials((ideal)
h->Data());
1553 if (strcmp(sys_cmd,
"walkAddIntVec") == 0)
1559 res->data = (
intvec*) walkAddIntVec(arg1, arg2);
1568 #ifdef MwaklNextWeight
1569 if (strcmp(sys_cmd,
"MwalkNextWeight") == 0)
1576 Werror(
"system(\"MwalkNextWeight\" ...) intvecs not of length %d\n",
1582 ideal arg3 = (ideal)
h->next->next->Data();
1593 if(strcmp(sys_cmd,
"Mivdp") == 0)
1597 WerrorS(
"system(\"Mivdp\", int) expected");
1600 if ((
int) ((
long)(
h->Data())) !=
currRing->N)
1602 Werror(
"system(\"Mivdp\" ...) intvecs not of length %d\n",
1606 int arg1 = (int) ((
long)(
h->Data()));
1616 if(strcmp(sys_cmd,
"Mivlp") == 0)
1620 WerrorS(
"system(\"Mivlp\", int) expected");
1623 if ((
int) ((
long)(
h->Data())) !=
currRing->N)
1625 Werror(
"system(\"Mivlp\" ...) intvecs not of length %d\n",
1629 int arg1 = (int) ((
long)(
h->Data()));
1640 if(strcmp(sys_cmd,
"MpDiv") == 0)
1644 poly arg1 = (poly)
h->Data();
1645 poly arg2 = (poly)
h->next->Data();
1646 poly
result = MpDiv(arg1, arg2);
1657 if(strcmp(sys_cmd,
"MpMult") == 0)
1661 poly arg1 = (poly)
h->Data();
1662 poly arg2 = (poly)
h->next->Data();
1663 poly
result = MpMult(arg1, arg2);
1673 if (strcmp(sys_cmd,
"MivSame") == 0)
1694 res->data = (
void*)(
long)
MivSame(arg1, arg2);
1701 if (strcmp(sys_cmd,
"M3ivSame") == 0)
1724 res->data = (
void*)(
long)
M3ivSame(arg1, arg2, arg3);
1731 if(strcmp(sys_cmd,
"MwalkInitialForm") == 0)
1737 Werror(
"system \"MwalkInitialForm\"...) intvec not of length %d\n",
1741 ideal
id = (ideal)
h->Data();
1753 if(strcmp(sys_cmd,
"MivMatrixOrder") == 0)
1757 WerrorS(
"system(\"MivMatrixOrder\",intvec) expected");
1770 if(strcmp(sys_cmd,
"MivMatrixOrderdp") == 0)
1774 WerrorS(
"system(\"MivMatrixOrderdp\",intvec) expected");
1777 int arg1 = (int) ((
long)(
h->Data()));
1787 if(strcmp(sys_cmd,
"MPertVectors") == 0)
1791 ideal arg1 = (ideal)
h->Data();
1793 int arg3 = (int) ((
long)(
h->next->next->Data()));
1803 if(strcmp(sys_cmd,
"MPertVectorslp") == 0)
1807 ideal arg1 = (ideal)
h->Data();
1809 int arg3 = (int) ((
long)(
h->next->next->Data()));
1819 if(strcmp(sys_cmd,
"Mfpertvector") == 0)
1823 ideal arg1 = (ideal)
h->Data();
1834 if(strcmp(sys_cmd,
"MivUnit") == 0)
1838 int arg1 = (int) ((
long)(
h->Data()));
1848 if(strcmp(sys_cmd,
"MivWeightOrderlp") == 0)
1862 if(strcmp(sys_cmd,
"MivWeightOrderdp") == 0)
1866 WerrorS(
"system(\"MivWeightOrderdp\",intvec) expected");
1880 if(strcmp(sys_cmd,
"MivMatrixOrderlp") == 0)
1884 WerrorS(
"system(\"MivMatrixOrderlp\",int) expected");
1887 int arg1 = (int) ((
long)(
h->Data()));
1897 if (strcmp(sys_cmd,
"MkInterRedNextWeight") == 0)
1904 Werror(
"system(\"MkInterRedNextWeight\" ...) intvecs not of length %d\n",
1910 ideal arg3 = (ideal)
h->next->next->Data();
1920 #ifdef MPertNextWeight
1921 if (strcmp(sys_cmd,
"MPertNextWeight") == 0)
1927 Werror(
"system(\"MPertNextWeight\" ...) intvecs not of length %d\n",
1932 ideal arg2 = (ideal)
h->next->Data();
1933 int arg3 = (int)
h->next->next->Data();
1944 #ifdef Mivperttarget
1945 if (strcmp(sys_cmd,
"Mivperttarget") == 0)
1949 ideal arg1 = (ideal)
h->Data();
1950 int arg2 = (int)
h->next->Data();
1961 if (strcmp(sys_cmd,
"Mwalk") == 0)
1968 Werror(
"system(\"Mwalk\" ...) intvecs not of length %d\n",
1972 ideal arg1 = (ideal)
h->CopyD();
1975 ring arg4 = (ring)
h->next->next->next->Data();
1976 int arg5 = (int) (
long)
h->next->next->next->next->Data();
1977 int arg6 = (int) (
long)
h->next->next->next->next->next->Data();
1978 ideal
result = (ideal)
Mwalk(arg1, arg2, arg3, arg4, arg5, arg6);
1988 if (strcmp(sys_cmd,
"Mwalk") == 0)
1997 Werror(
"system(\"Mwalk\" ...) intvecs not of length %d or %d\n",
2001 ideal arg1 = (ideal)
h->Data();
2004 ring arg4 = (ring)
h->next->next->next->Data();
2005 ideal
result = (ideal)
Mwalk(arg1, arg2, arg3,arg4);
2012 if (strcmp(sys_cmd,
"Mpwalk") == 0)
2019 Werror(
"system(\"Mpwalk\" ...) intvecs not of length %d\n",
currRing->N);
2022 ideal arg1 = (ideal)
h->Data();
2023 int arg2 = (int) (
long)
h->next->Data();
2024 int arg3 = (int) (
long)
h->next->next->Data();
2027 int arg6 = (int) (
long)
h->next->next->next->next->next->Data();
2028 int arg7 = (int) (
long)
h->next->next->next->next->next->next->Data();
2029 int arg8 = (int) (
long)
h->next->next->next->next->next->next->next->Data();
2030 ideal
result = (ideal)
Mpwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
2040 if (strcmp(sys_cmd,
"Mrwalk") == 0)
2049 Werror(
"system(\"Mrwalk\" ...) intvecs not of length %d or %d\n",
2053 ideal arg1 = (ideal)
h->Data();
2056 int arg4 = (int)(
long)
h->next->next->next->Data();
2057 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2058 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2059 int arg7 = (int)(
long)
h->next->next->next->next->next->next->Data();
2060 ideal
result = (ideal)
Mrwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
2069 if (strcmp(sys_cmd,
"MAltwalk1") == 0)
2076 Werror(
"system(\"MAltwalk1\" ...) intvecs not of length %d\n",
2080 ideal arg1 = (ideal)
h->Data();
2081 int arg2 = (int) ((
long)(
h->next->Data()));
2082 int arg3 = (int) ((
long)(
h->next->next->Data()));
2095 if (strcmp(sys_cmd,
"Mfwalk_alt") == 0)
2102 Werror(
"system(\"Mfwalk\" ...) intvecs not of length %d\n",
2106 ideal arg1 = (ideal)
h->Data();
2109 int arg4 = (int)
h->next->next->next->Data();
2110 ideal
result = (ideal) Mfwalk_alt(arg1, arg2, arg3, arg4);
2120 if (strcmp(sys_cmd,
"Mfwalk") == 0)
2127 Werror(
"system(\"Mfwalk\" ...) intvecs not of length %d\n",
2131 ideal arg1 = (ideal)
h->Data();
2134 int arg4 = (int)(
long)
h->next->next->next->Data();
2135 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2136 ideal
result = (ideal)
Mfwalk(arg1, arg2, arg3, arg4, arg5);
2145 if (strcmp(sys_cmd,
"Mfrwalk") == 0)
2162 Werror(
"system(\"Mfrwalk\" ...) intvecs not of length %d or %d\n",
2167 ideal arg1 = (ideal)
h->Data();
2170 int arg4 = (int)(
long)
h->next->next->next->Data();
2171 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2172 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2173 ideal
result = (ideal)
Mfrwalk(arg1, arg2, arg3, arg4, arg5, arg6);
2180 if (strcmp(sys_cmd,
"Mprwalk") == 0)
2189 Werror(
"system(\"Mrwalk\" ...) intvecs not of length %d or %d\n",
2193 ideal arg1 = (ideal)
h->Data();
2196 int arg4 = (int)(
long)
h->next->next->next->Data();
2197 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2198 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2199 int arg7 = (int)(
long)
h->next->next->next->next->next->next->Data();
2200 int arg8 = (int)(
long)
h->next->next->next->next->next->next->next->Data();
2201 int arg9 = (int)(
long)
h->next->next->next->next->next->next->next->next->Data();
2202 ideal
result = (ideal)
Mprwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
2212 if (strcmp(sys_cmd,
"TranMImprovwalk") == 0)
2219 Werror(
"system(\"TranMImprovwalk\" ...) intvecs not of length %d\n",
2223 ideal arg1 = (ideal)
h->Data();
2236 if (strcmp(sys_cmd,
"MAltwalk2") == 0)
2243 Werror(
"system(\"MAltwalk2\" ...) intvecs not of length %d\n",
2247 ideal arg1 = (ideal)
h->Data();
2259 if (strcmp(sys_cmd,
"TranMImprovwalk") == 0)
2266 Werror(
"system(\"TranMImprovwalk\" ...) intvecs not of length %d\n",
2270 ideal arg1 = (ideal)
h->Data();
2273 int arg4 = (int) ((
long)(
h->next->next->next->Data()));
2284 if (strcmp(sys_cmd,
"TranMrImprovwalk") == 0)
2289 h->next->next->next ==
NULL ||
h->next->next->next->Typ() !=
INT_CMD ||
2290 h->next->next->next ==
NULL ||
h->next->next->next->next->Typ() !=
INT_CMD ||
2291 h->next->next->next ==
NULL ||
h->next->next->next->next->next->Typ() !=
INT_CMD)
2293 WerrorS(
"system(\"TranMrImprovwalk\", ideal, intvec, intvec) expected");
2299 Werror(
"system(\"TranMrImprovwalk\" ...) intvecs not of length %d\n",
currRing->N);
2302 ideal arg1 = (ideal)
h->Data();
2305 int arg4 = (int)(
long)
h->next->next->next->Data();
2306 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2307 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2308 ideal
result = (ideal) TranMrImprovwalk(arg1, arg2, arg3, arg4, arg5, arg6);
2318 #ifndef MAKE_DISTRIBUTION
#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_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 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)
static void * feOptValue(feOptIndex opt)
struct fe_option feOptSpec[]
static char * feResource(feResourceConfig config, int warn)
void feStringAppendBrowsers(int warn)
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 idXXX(ideal h1, int k)
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)
ideal freegb(ideal I, int uptodeg, int lVblock)
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...
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)
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_Ring(const ring r)
static int rBlocks(ring r)
static BOOLEAN rField_is_long_C(const ring r)
static BOOLEAN rField_is_long_R(const ring r)
int simpleipc_cmd(char *cmd, int id, int v)
poly p_Shrink(poly p, int lV, const ring r)
poly p_LPshift(poly p, int sh, int uptodeg, int lV, const ring r)
#define pLastVblock(p, lV)
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)