234 const char *sys_cmd=(
char *)(args->
Data());
239 if (strcmp(sys_cmd,
"nblocks") == 0)
261 r = (ring)
h->Data();
268 if(strcmp(sys_cmd,
"version")==0)
276 if(strcmp(sys_cmd,
"alarm")==0)
283 struct itimerval t,o;
284 memset(&t,0,
sizeof(t));
285 t.it_value.tv_sec =(unsigned)((
unsigned long)
h->Data());
286 setitimer(ITIMER_VIRTUAL,&t,&o);
294 if(strcmp(sys_cmd,
"cpu")==0)
297 #ifdef _SC_NPROCESSORS_ONLN
298 cpu=sysconf(_SC_NPROCESSORS_ONLN);
299 #elif defined(_SC_NPROCESSORS_CONF)
300 cpu=sysconf(_SC_NPROCESSORS_CONF);
302 res->data=(
void *)cpu;
308 if(strcmp(sys_cmd,
"executable")==0)
323 if(strcmp(sys_cmd,
"flatten")==0)
336 if(strcmp(sys_cmd,
"unflatten")==0)
349 if(strcmp(sys_cmd,
"neworder")==0)
363 if(strcmp(sys_cmd,
"nc_hilb") == 0)
371 i = (ideal)
h->Data();
374 WerrorS(
"nc_Hilb:ideal expected");
379 lV = (int)(
long)
h->Data();
382 WerrorS(
"nc_Hilb:int expected");
388 if((
int)(
long)
h->Data() == 1)
390 else if((
int)(
long)
h->Data() == 2)
395 trunDegHs = (int)(
long)
h->Data();
400 WerrorS(
"nc_Hilb:int 1,2, total degree for the truncation, and a string for printing the details are expected");
409 if(strcmp(sys_cmd,
"verifyGB")==0)
413 WerrorS(
"system(\"verifyGB\",<ideal>,..) expects a commutative ring");
418 WerrorS(
"expected system(\"verifyGB\",<ideal>,..)");
421 ideal F=(ideal)
h->Data();
434 if(strcmp(sys_cmd,
"rcolon") == 0)
439 ideal
i = (ideal)
h->Data();
441 poly
w=(poly)
h->Data();
443 int lV = (int)(
long)
h->Data();
454 if(strcmp(sys_cmd,
"sh")==0)
458 WerrorS(
"shell execution is disallowed in restricted mode");
464 res->data = (
void*)(
long)
system((
char*)(
h->Data()));
471 if(strcmp(sys_cmd,
"reduce_bound")==0)
481 p = (poly)
h->CopyD();
485 pid = (ideal)
h->CopyD();
490 ideal q = (ideal)
h->next->CopyD();
491 int bound = (int)(
long)
h->next->next->Data();
500 if(strcmp(sys_cmd,
"uname")==0)
508 if(strcmp(sys_cmd,
"with")==0)
518 #define TEST_FOR(A) if(strcmp(s,A)==0) res->data=(void *)1; else
519 char *
s=(
char *)
h->Data();
532 #ifdef TEST_MAC_ORDER
537 #ifdef HAVE_DYNAMIC_LOADING
560 if (strcmp(sys_cmd,
"browsers")==0)
570 if (strcmp(sys_cmd,
"pid")==0)
573 res->data=(
void *)(
long) getpid();
578 if (strcmp(sys_cmd,
"getenv")==0)
583 const char *r=
getenv((
char *)
h->Data());
596 if (strcmp(sys_cmd,
"setenv")==0)
603 setenv((
char *)
h->Data(), (
char *)
h->next->Data(), 1);
613 WerrorS(
"setenv not supported on this platform");
619 if (strcmp(sys_cmd,
"Singular") == 0)
628 if (strcmp(sys_cmd,
"SingularLib") == 0)
638 if (strstr(sys_cmd,
"--") == sys_cmd)
640 if (strcmp(sys_cmd,
"--") == 0)
648 Werror(
"Unknown option %s", sys_cmd);
649 WerrorS(
"Use 'system(\"--\");' for listing of available options");
664 const char *r=(
const char*)
feOptSpec[opt].value;
678 WerrorS(
"Need string or int argument to set option value");
681 const char* errormsg;
686 Werror(
"Need string argument to set value of option %s", sys_cmd);
690 if (errormsg !=
NULL)
691 Werror(
"Option '--%s=%d' %s", sys_cmd, (
int) ((
long)
h->Data()), errormsg);
696 if (errormsg !=
NULL)
697 Werror(
"Option '--%s=%s' %s", sys_cmd, (
char*)
h->Data(), errormsg);
704 if (strcmp(sys_cmd,
"HC")==0)
712 if(strcmp(sys_cmd,
"random")==0)
735 if (strcmp(sys_cmd,
"denom_list")==0)
744 if(strcmp(sys_cmd,
"complexNearZero")==0)
751 WerrorS(
"unsupported ground field!");
758 (int)((
long)(
h->next->Data())));
769 if(strcmp(sys_cmd,
"getPrecDigits")==0)
774 WerrorS(
"unsupported ground field!");
785 if(strcmp(sys_cmd,
"lduDecomp")==0)
792 poly
l; poly u; poly prodLU;
793 lduDecomp(aMat, pMat, lMat, dMat, uMat,
l, u, prodLU);
804 res->data = (
char *)L;
814 if(strcmp(sys_cmd,
"lduSolve")==0)
848 poly
l = (poly)
h->next->next->next->next->Data();
849 poly u = (poly)
h->next->next->next->next->next->Data();
850 poly lTimesU = (poly)
h->next->next->next->next->next->next->Data();
851 matrix bVec = (
matrix)
h->next->next->next->next->next->next->next->Data();
855 Werror(
"first matrix (%d x %d) is not quadratic",
861 Werror(
"second matrix (%d x %d) is not quadratic",
867 Werror(
"third matrix (%d x %d) is not quadratic",
873 Werror(
"third matrix (%d x %d) and fourth matrix (%d x %d) %s",
880 Werror(
"fourth matrix (%d x %d) and vector (%d x 1) do not fit",
885 bVec, xVec, homogSolSpace);
908 if (strcmp(sys_cmd,
"shared") == 0)
910 #ifndef SI_COUNTEDREF_AUTOLOAD
917 else if (strcmp(sys_cmd,
"reference") == 0)
919 #ifndef SI_COUNTEDREF_AUTOLOAD
929 if (strcmp(sys_cmd,
"semaphore")==0)
935 v=(int)(
long)
h->next->next->Data();
942 WerrorS(
"Usage: system(\"semaphore\",<cmd>,int)");
949 if (strcmp(sys_cmd,
"reserve")==0)
957 res->data=(
void*)(
long)
p;
964 if (strcmp(sys_cmd,
"reservedLink")==0)
973 if (strcmp(sys_cmd,
"install")==0)
979 (
int)(
long)
h->next->next->next->Data(),
986 if (strcmp(sys_cmd,
"newstruct")==0)
992 char *n=(
char*)
h->Data();
999 newstruct_desc desc=(newstruct_desc)bb->data;
1003 else Werror(
"'%s' is not a newstruct",n);
1005 else Werror(
"'%s' is not a blackbox object",n);
1011 if (strcmp(sys_cmd,
"blackbox")==0)
1018 #if defined(HAVE_FLINT) || defined(HAVE_NTL)
1019 if (strcmp(sys_cmd,
"absFact") == 0)
1036 l->m[0].data=(
void *)
f;
1038 l->m[1].data=(
void *)
v;
1040 l->m[2].data=(
void*) mipos;
1042 l->m[3].data=(
void*) (
long) n;
1043 res->data=(
void *)
l;
1052 if (strcmp(sys_cmd,
"LLL") == 0)
1075 #if __FLINT_RELEASE >= 20500
1076 if (strcmp(sys_cmd,
"LLL_Flint") == 0)
1097 WerrorS(
"matrix,int or bigint,int expected");
1102 if(((
int)((
long)(
h->next->Data())) != 0) && (
int)((
long)(
h->next->Data()) != 1))
1104 WerrorS(
"int is different from 0, 1");
1108 if((
long)(
h->next->Data()) == 0)
1123 if((
long)(
h->next->Data()) == 1)
1129 for(
int i = 1;
i<=
m->rows();
i++)
1147 for(
int i = 1;
i<=
m->rows();
i++)
1170 if(strcmp(sys_cmd,
"pcvLAddL")==0)
1175 if(strcmp(sys_cmd,
"pcvPMulL")==0)
1180 if(strcmp(sys_cmd,
"pcvMinDeg")==0)
1185 if(strcmp(sys_cmd,
"pcvP2CV")==0)
1190 if(strcmp(sys_cmd,
"pcvCV2P")==0)
1195 if(strcmp(sys_cmd,
"pcvDim")==0)
1200 if(strcmp(sys_cmd,
"pcvBasis")==0)
1207 #ifdef HAVE_EIGENVAL
1208 if(strcmp(sys_cmd,
"hessenberg")==0)
1215 #ifdef HAVE_EIGENVAL
1216 if(strcmp(sys_cmd,
"eigenvals")==0)
1223 #ifdef HAVE_EIGENVAL
1224 if(strcmp(sys_cmd,
"rowelim")==0)
1231 #ifdef HAVE_EIGENVAL
1232 if(strcmp(sys_cmd,
"rowcolswap")==0)
1240 if(strcmp(sys_cmd,
"gmsnf")==0)
1247 if(strcmp(sys_cmd,
"contributors") == 0)
1251 "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");
1256 #ifdef HAVE_SPECTRUM
1257 if(strcmp(sys_cmd,
"spectrum") == 0)
1271 if(((
long)
h->next->Data())==1L)
1277 if(strcmp(sys_cmd,
"semic") == 0)
1283 if (
h->next->next==
NULL)
1285 else if (
h->next->next->Typ()==
INT_CMD)
1292 if(strcmp(sys_cmd,
"spadd") == 0)
1303 if(strcmp(sys_cmd,
"spmul") == 0)
1315 #define HAVE_SHEAFCOH_TRICKS 1
1317 #ifdef HAVE_SHEAFCOH_TRICKS
1318 if(strcmp(sys_cmd,
"tensorModuleMult")==0)
1324 int m = (int)( (
long)
h->Data() );
1325 ideal
M = (ideal)
h->next->Data();
1336 if (strcmp(sys_cmd,
"twostd") == 0)
1341 I=(ideal)
h->CopyD();
1355 if (strcmp(sys_cmd,
"bracket") == 0)
1360 poly
p=(poly)
h->CopyD();
1362 poly q=(poly)
h->Data();
1373 if (strcmp(sys_cmd,
"env")==0)
1377 ring r = (ring)
h->Data();
1384 WerrorS(
"`system(\"env\",<ring>)` expected");
1392 if (strcmp(sys_cmd,
"opp")==0)
1396 ring r=(ring)
h->Data();
1403 WerrorS(
"`system(\"opp\",<ring>)` expected");
1411 if (strcmp(sys_cmd,
"oppose")==0)
1414 && (
h->next!=
NULL))
1416 ring Rop = (ring)
h->Data();
1429 WerrorS(
"`system(\"oppose\",<ring>,<poly>)` expected");
1439 if (strcmp(sys_cmd,
"walkNextWeight") == 0)
1446 Werror(
"system(\"walkNextWeight\" ...) intvecs not of length %d\n",
1450 res->data = (
void*) walkNextWeight(((
intvec*)
h->Data()),
1452 (ideal)
h->next->next->Data());
1453 if (
res->data ==
NULL ||
res->data == (
void*) 1L)
1469 if (strcmp(sys_cmd,
"walkInitials") == 0)
1473 WerrorS(
"system(\"walkInitials\", ideal) expected");
1476 res->data = (
void*) walkInitials((ideal)
h->Data());
1486 if (strcmp(sys_cmd,
"walkAddIntVec") == 0)
1492 res->data = (
intvec*) walkAddIntVec(arg1, arg2);
1501 #ifdef MwaklNextWeight
1502 if (strcmp(sys_cmd,
"MwalkNextWeight") == 0)
1509 Werror(
"system(\"MwalkNextWeight\" ...) intvecs not of length %d\n",
1515 ideal arg3 = (ideal)
h->next->next->Data();
1526 if(strcmp(sys_cmd,
"Mivdp") == 0)
1530 WerrorS(
"system(\"Mivdp\", int) expected");
1533 if ((
int) ((
long)(
h->Data())) !=
currRing->N)
1535 Werror(
"system(\"Mivdp\" ...) intvecs not of length %d\n",
1539 int arg1 = (int) ((
long)(
h->Data()));
1549 if(strcmp(sys_cmd,
"Mivlp") == 0)
1553 WerrorS(
"system(\"Mivlp\", int) expected");
1556 if ((
int) ((
long)(
h->Data())) !=
currRing->N)
1558 Werror(
"system(\"Mivlp\" ...) intvecs not of length %d\n",
1562 int arg1 = (int) ((
long)(
h->Data()));
1573 if(strcmp(sys_cmd,
"MpDiv") == 0)
1577 poly arg1 = (poly)
h->Data();
1578 poly arg2 = (poly)
h->next->Data();
1579 poly
result = MpDiv(arg1, arg2);
1590 if(strcmp(sys_cmd,
"MpMult") == 0)
1594 poly arg1 = (poly)
h->Data();
1595 poly arg2 = (poly)
h->next->Data();
1596 poly
result = MpMult(arg1, arg2);
1606 if (strcmp(sys_cmd,
"MivSame") == 0)
1627 res->data = (
void*)(
long)
MivSame(arg1, arg2);
1634 if (strcmp(sys_cmd,
"M3ivSame") == 0)
1657 res->data = (
void*)(
long)
M3ivSame(arg1, arg2, arg3);
1664 if(strcmp(sys_cmd,
"MwalkInitialForm") == 0)
1670 Werror(
"system \"MwalkInitialForm\"...) intvec not of length %d\n",
1674 ideal
id = (ideal)
h->Data();
1686 if(strcmp(sys_cmd,
"MivMatrixOrder") == 0)
1690 WerrorS(
"system(\"MivMatrixOrder\",intvec) expected");
1703 if(strcmp(sys_cmd,
"MivMatrixOrderdp") == 0)
1707 WerrorS(
"system(\"MivMatrixOrderdp\",intvec) expected");
1710 int arg1 = (int) ((
long)(
h->Data()));
1720 if(strcmp(sys_cmd,
"MPertVectors") == 0)
1724 ideal arg1 = (ideal)
h->Data();
1726 int arg3 = (int) ((
long)(
h->next->next->Data()));
1736 if(strcmp(sys_cmd,
"MPertVectorslp") == 0)
1740 ideal arg1 = (ideal)
h->Data();
1742 int arg3 = (int) ((
long)(
h->next->next->Data()));
1752 if(strcmp(sys_cmd,
"Mfpertvector") == 0)
1756 ideal arg1 = (ideal)
h->Data();
1767 if(strcmp(sys_cmd,
"MivUnit") == 0)
1771 int arg1 = (int) ((
long)(
h->Data()));
1781 if(strcmp(sys_cmd,
"MivWeightOrderlp") == 0)
1795 if(strcmp(sys_cmd,
"MivWeightOrderdp") == 0)
1799 WerrorS(
"system(\"MivWeightOrderdp\",intvec) expected");
1813 if(strcmp(sys_cmd,
"MivMatrixOrderlp") == 0)
1817 WerrorS(
"system(\"MivMatrixOrderlp\",int) expected");
1820 int arg1 = (int) ((
long)(
h->Data()));
1830 if (strcmp(sys_cmd,
"MkInterRedNextWeight") == 0)
1837 Werror(
"system(\"MkInterRedNextWeight\" ...) intvecs not of length %d\n",
1843 ideal arg3 = (ideal)
h->next->next->Data();
1853 #ifdef MPertNextWeight
1854 if (strcmp(sys_cmd,
"MPertNextWeight") == 0)
1860 Werror(
"system(\"MPertNextWeight\" ...) intvecs not of length %d\n",
1865 ideal arg2 = (ideal)
h->next->Data();
1866 int arg3 = (int)
h->next->next->Data();
1877 #ifdef Mivperttarget
1878 if (strcmp(sys_cmd,
"Mivperttarget") == 0)
1882 ideal arg1 = (ideal)
h->Data();
1883 int arg2 = (int)
h->next->Data();
1894 if (strcmp(sys_cmd,
"Mwalk") == 0)
1901 Werror(
"system(\"Mwalk\" ...) intvecs not of length %d\n",
1905 ideal arg1 = (ideal)
h->CopyD();
1908 ring arg4 = (ring)
h->next->next->next->Data();
1909 int arg5 = (int) (
long)
h->next->next->next->next->Data();
1910 int arg6 = (int) (
long)
h->next->next->next->next->next->Data();
1911 ideal
result = (ideal)
Mwalk(arg1, arg2, arg3, arg4, arg5, arg6);
1921 if (strcmp(sys_cmd,
"Mwalk") == 0)
1930 Werror(
"system(\"Mwalk\" ...) intvecs not of length %d or %d\n",
1934 ideal arg1 = (ideal)
h->Data();
1937 ring arg4 = (ring)
h->next->next->next->Data();
1938 ideal
result = (ideal)
Mwalk(arg1, arg2, arg3,arg4);
1945 if (strcmp(sys_cmd,
"Mpwalk") == 0)
1952 Werror(
"system(\"Mpwalk\" ...) intvecs not of length %d\n",
currRing->N);
1955 ideal arg1 = (ideal)
h->Data();
1956 int arg2 = (int) (
long)
h->next->Data();
1957 int arg3 = (int) (
long)
h->next->next->Data();
1960 int arg6 = (int) (
long)
h->next->next->next->next->next->Data();
1961 int arg7 = (int) (
long)
h->next->next->next->next->next->next->Data();
1962 int arg8 = (int) (
long)
h->next->next->next->next->next->next->next->Data();
1963 ideal
result = (ideal)
Mpwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
1973 if (strcmp(sys_cmd,
"Mrwalk") == 0)
1982 Werror(
"system(\"Mrwalk\" ...) intvecs not of length %d or %d\n",
1986 ideal arg1 = (ideal)
h->Data();
1989 int arg4 = (int)(
long)
h->next->next->next->Data();
1990 int arg5 = (int)(
long)
h->next->next->next->next->Data();
1991 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
1992 int arg7 = (int)(
long)
h->next->next->next->next->next->next->Data();
1993 ideal
result = (ideal)
Mrwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
2002 if (strcmp(sys_cmd,
"MAltwalk1") == 0)
2009 Werror(
"system(\"MAltwalk1\" ...) intvecs not of length %d\n",
2013 ideal arg1 = (ideal)
h->Data();
2014 int arg2 = (int) ((
long)(
h->next->Data()));
2015 int arg3 = (int) ((
long)(
h->next->next->Data()));
2028 if (strcmp(sys_cmd,
"Mfwalk_alt") == 0)
2035 Werror(
"system(\"Mfwalk\" ...) intvecs not of length %d\n",
2039 ideal arg1 = (ideal)
h->Data();
2042 int arg4 = (int)
h->next->next->next->Data();
2043 ideal
result = (ideal) Mfwalk_alt(arg1, arg2, arg3, arg4);
2053 if (strcmp(sys_cmd,
"Mfwalk") == 0)
2060 Werror(
"system(\"Mfwalk\" ...) intvecs not of length %d\n",
2064 ideal arg1 = (ideal)
h->Data();
2067 int arg4 = (int)(
long)
h->next->next->next->Data();
2068 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2069 ideal
result = (ideal)
Mfwalk(arg1, arg2, arg3, arg4, arg5);
2078 if (strcmp(sys_cmd,
"Mfrwalk") == 0)
2095 Werror(
"system(\"Mfrwalk\" ...) intvecs not of length %d or %d\n",
2100 ideal arg1 = (ideal)
h->Data();
2103 int arg4 = (int)(
long)
h->next->next->next->Data();
2104 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2105 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2106 ideal
result = (ideal)
Mfrwalk(arg1, arg2, arg3, arg4, arg5, arg6);
2113 if (strcmp(sys_cmd,
"Mprwalk") == 0)
2122 Werror(
"system(\"Mrwalk\" ...) intvecs not of length %d or %d\n",
2126 ideal arg1 = (ideal)
h->Data();
2129 int arg4 = (int)(
long)
h->next->next->next->Data();
2130 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2131 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2132 int arg7 = (int)(
long)
h->next->next->next->next->next->next->Data();
2133 int arg8 = (int)(
long)
h->next->next->next->next->next->next->next->Data();
2134 int arg9 = (int)(
long)
h->next->next->next->next->next->next->next->next->Data();
2135 ideal
result = (ideal)
Mprwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
2145 if (strcmp(sys_cmd,
"TranMImprovwalk") == 0)
2152 Werror(
"system(\"TranMImprovwalk\" ...) intvecs not of length %d\n",
2156 ideal arg1 = (ideal)
h->Data();
2169 if (strcmp(sys_cmd,
"MAltwalk2") == 0)
2176 Werror(
"system(\"MAltwalk2\" ...) intvecs not of length %d\n",
2180 ideal arg1 = (ideal)
h->Data();
2192 if (strcmp(sys_cmd,
"TranMImprovwalk") == 0)
2199 Werror(
"system(\"TranMImprovwalk\" ...) intvecs not of length %d\n",
2203 ideal arg1 = (ideal)
h->Data();
2206 int arg4 = (int) ((
long)(
h->next->next->next->Data()));
2217 if (strcmp(sys_cmd,
"TranMrImprovwalk") == 0)
2222 h->next->next->next ==
NULL ||
h->next->next->next->Typ() !=
INT_CMD ||
2223 h->next->next->next ==
NULL ||
h->next->next->next->next->Typ() !=
INT_CMD ||
2224 h->next->next->next ==
NULL ||
h->next->next->next->next->next->Typ() !=
INT_CMD)
2226 WerrorS(
"system(\"TranMrImprovwalk\", ideal, intvec, intvec) expected");
2232 Werror(
"system(\"TranMrImprovwalk\" ...) intvecs not of length %d\n",
currRing->N);
2235 ideal arg1 = (ideal)
h->Data();
2238 int arg4 = (int)(
long)
h->next->next->next->Data();
2239 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2240 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2241 ideal
result = (ideal) TranMrImprovwalk(arg1, arg2, arg3, arg4, arg5, arg6);
2251 #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
matrix singntl_LLL(matrix m, const ring s)
ideal singclap_absFactorize(poly f, ideal &mipos, intvec **exps, int &numFactors, const ring r)
char * singclap_neworder(ideal I, 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)
feOptIndex feGetOptIndex(const char *name)
const char * feSetOptValue(feOptIndex opt, char *optarg)
EXTERN_VAR struct fe_option feOptSpec[]
static char * feResource(feResourceConfig config, int warn)
void feStringAppendBrowsers(int warn)
bigintmat * singflint_LLL(bigintmat *A, bigintmat *T)
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)
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 rIsNCRing(const ring r)
int simpleipc_cmd(char *cmd, int id, int v)
int ssiReservePort(int clients)
int M3ivSame(intvec *temp, intvec *u, intvec *v)
intvec * MivWeightOrderdp(intvec *ivstart)
ideal TranMImprovwalk(ideal G, intvec *curr_weight, intvec *target_tmp, int nP)
intvec * MivMatrixOrderdp(int nV)
ideal Mfwalk(ideal G, intvec *ivstart, intvec *ivtarget, int reduction, int printout)
intvec * MPertVectors(ideal G, intvec *ivtarget, int pdeg)
intvec * MivWeightOrderlp(intvec *ivstart)
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 * MivMatrixOrder(intvec *iv)
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 * MivMatrixOrderlp(int nV)
intvec * Mfpertvector(ideal G, intvec *ivtarget)
intvec * MPertVectorslp(ideal G, intvec *ivtarget, int pdeg)
intvec * MkInterRedNextWeight(intvec *iva, intvec *ivb, ideal G)
intvec * MwalkNextWeight(intvec *curr_weight, intvec *target_weight, ideal G)
intvec * Mivperttarget(ideal G, int ndeg)
intvec * MPertNextWeight(intvec *iva, ideal G, int deg)