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,
"flatten")==0)
334 if(strcmp(sys_cmd,
"unflatten")==0)
347 if(strcmp(sys_cmd,
"neworder")==0)
361 if(strcmp(sys_cmd,
"nc_hilb") == 0)
369 i = (ideal)
h->Data();
372 WerrorS(
"nc_Hilb:ideal expected");
377 lV = (int)(
long)
h->Data();
380 WerrorS(
"nc_Hilb:int expected");
386 if((
int)(
long)
h->Data() == 1)
388 else if((
int)(long)
h->Data() == 2)
393 trunDegHs = (
int)(long)
h->Data();
398 WerrorS(
"nc_Hilb:int 1,2, total degree for the truncation, and a string for printing the details are expected");
407 if(strcmp(sys_cmd,
"rcolon") == 0)
412 ideal
i = (ideal)
h->Data();
414 poly
w=(poly)
h->Data();
416 int lV = (int)(
long)
h->Data();
427 if(strcmp(sys_cmd,
"sh")==0)
431 WerrorS(
"shell execution is disallowed in restricted mode");
437 res->data = (
void*)(long)
system((
char*)(
h->Data()));
444 if(strcmp(sys_cmd,
"reduce_bound")==0)
454 p = (poly)
h->CopyD();
458 pid = (ideal)
h->CopyD();
463 ideal q = (ideal)
h->next->CopyD();
464 int bound = (int)(
long)
h->next->next->Data();
473 if(strcmp(sys_cmd,
"uname")==0)
481 if(strcmp(sys_cmd,
"with")==0)
491 #define TEST_FOR(A) if(strcmp(s,A)==0) res->data=(void *)1; else 492 char *
s=(
char *)
h->Data();
505 #ifdef TEST_MAC_ORDER 510 #ifdef HAVE_DYNAMIC_LOADING 533 if (strcmp(sys_cmd,
"browsers")==0)
543 if (strcmp(sys_cmd,
"pid")==0)
546 res->data=(
void *)(
long) getpid();
551 if (strcmp(sys_cmd,
"getenv")==0)
556 const char *r=
getenv((
char *)
h->Data());
569 if (strcmp(sys_cmd,
"setenv")==0)
576 setenv((
char *)
h->Data(), (
char *)
h->next->Data(), 1);
586 WerrorS(
"setenv not supported on this platform");
592 if (strcmp(sys_cmd,
"Singular") == 0)
601 if (strcmp(sys_cmd,
"SingularLib") == 0)
611 if (strstr(sys_cmd,
"--") == sys_cmd)
613 if (strcmp(sys_cmd,
"--") == 0)
621 Werror(
"Unknown option %s", sys_cmd);
622 WerrorS(
"Use 'system(\"--\");' for listing of available options");
637 const char *r=(
const char*)
feOptSpec[opt].value;
651 WerrorS(
"Need string or int argument to set option value");
654 const char* errormsg;
659 Werror(
"Need string argument to set value of option %s", sys_cmd);
663 if (errormsg !=
NULL)
664 Werror(
"Option '--%s=%d' %s", sys_cmd, (
int) ((
long)
h->Data()), errormsg);
669 if (errormsg !=
NULL)
670 Werror(
"Option '--%s=%s' %s", sys_cmd, (
char*)
h->Data(), errormsg);
677 if (strcmp(sys_cmd,
"HC")==0)
685 if(strcmp(sys_cmd,
"random")==0)
708 if (strcmp(sys_cmd,
"std_syz") == 0)
714 i1=(ideal)
h->CopyD();
720 i2=(int)((
long)
h->Data());
729 if (strcmp(sys_cmd,
"denom_list")==0)
738 if(strcmp(sys_cmd,
"complexNearZero")==0)
745 WerrorS(
"unsupported ground field!");
752 (int)((
long)(
h->next->Data())));
763 if(strcmp(sys_cmd,
"getPrecDigits")==0)
768 WerrorS(
"unsupported ground field!");
779 if(strcmp(sys_cmd,
"lduDecomp")==0)
786 poly
l; poly u; poly prodLU;
787 lduDecomp(aMat, pMat, lMat, dMat, uMat,
l, u, prodLU);
798 res->data = (
char *)L;
808 if(strcmp(sys_cmd,
"lduSolve")==0)
842 poly
l = (poly)
h->next->next->next->next->Data();
843 poly u = (poly)
h->next->next->next->next->next->Data();
844 poly lTimesU = (poly)
h->next->next->next->next->next->next->Data();
845 matrix bVec = (
matrix)
h->next->next->next->next->next->next->next->Data();
849 Werror(
"first matrix (%d x %d) is not quadratic",
855 Werror(
"second matrix (%d x %d) is not quadratic",
861 Werror(
"third matrix (%d x %d) is not quadratic",
867 Werror(
"third matrix (%d x %d) and fourth matrix (%d x %d) %s",
874 Werror(
"fourth matrix (%d x %d) and vector (%d x 1) do not fit",
879 bVec, xVec, homogSolSpace);
902 if (strcmp(sys_cmd,
"shared") == 0)
904 #ifndef SI_COUNTEDREF_AUTOLOAD 911 else if (strcmp(sys_cmd,
"reference") == 0)
913 #ifndef SI_COUNTEDREF_AUTOLOAD 922 #ifdef HAVE_SIMPLEIPC 923 if (strcmp(sys_cmd,
"semaphore")==0)
929 v=(int)(
long)
h->next->next->Data();
936 WerrorS(
"Usage: system(\"semaphore\",<cmd>,int)");
943 if (strcmp(sys_cmd,
"reserve")==0)
951 res->data=(
void*)(
long)
p;
958 if (strcmp(sys_cmd,
"reservedLink")==0)
967 if (strcmp(sys_cmd,
"install")==0)
973 (int)(
long)
h->next->next->next->Data(),
980 if (strcmp(sys_cmd,
"newstruct")==0)
986 char *n=(
char*)
h->Data();
993 newstruct_desc desc=(newstruct_desc)bb->data;
997 else Werror(
"'%s' is not a newstruct",n);
999 else Werror(
"'%s' is not a blackbox object",n);
1005 if (strcmp(sys_cmd,
"blackbox")==0)
1013 if (strcmp(sys_cmd,
"absFact") == 0)
1030 l->m[0].data=(
void *)
f;
1032 l->m[1].data=(
void *)
v;
1034 l->m[2].data=(
void*) mipos;
1036 l->m[3].data=(
void*) (
long) n;
1037 res->data=(
void *)
l;
1046 if (strcmp(sys_cmd,
"LLL") == 0)
1069 #if __FLINT_RELEASE >= 20500 1070 if (strcmp(sys_cmd,
"LLL_Flint") == 0)
1091 WerrorS(
"matrix,int or bigint,int expected");
1096 if(((
int)((
long)(
h->next->Data())) != 0) && (
int)((long)(
h->next->Data()) != 1))
1098 WerrorS(
"int is different from 0, 1");
1102 if((
long)(
h->next->Data()) == 0)
1117 if((
long)(
h->next->Data()) == 1)
1123 for(
int i = 1;
i<=
m->rows();
i++)
1128 m = singflint_LLL(
m,
T);
1141 for(
int i = 1;
i<=
m->rows();
i++)
1143 m = singflint_LLL(
m,
T);
1163 #ifdef HAVE_SHIFTBBA 1164 if (strcmp(sys_cmd,
"stest") == 0)
1169 poly
p=(poly)
h->CopyD();
1171 int sh=(int)((
long)(
h->Data()));
1173 int uptodeg=(int)((
long)(
h->Data()));
1175 int lVblock=(int)((
long)(
h->Data()));
1178 WerrorS(
"negative shift for pLPshift");
1184 WerrorS(
"pLPshift: too big shift requested\n");
1196 #ifdef HAVE_SHIFTBBA 1197 if (strcmp(sys_cmd,
"btest") == 0)
1202 poly
p=(poly)
h->CopyD();
1204 int lV=(int)((
long)(
h->Data()));
1214 #ifdef HAVE_SHIFTBBA 1215 if (strcmp(sys_cmd,
"shrinktest") == 0)
1220 poly
p=(poly)
h->Data();
1222 int lV=(int)((
long)(
h->Data()));
1236 if(strcmp(sys_cmd,
"pcvLAddL")==0)
1241 if(strcmp(sys_cmd,
"pcvPMulL")==0)
1246 if(strcmp(sys_cmd,
"pcvMinDeg")==0)
1251 if(strcmp(sys_cmd,
"pcvP2CV")==0)
1256 if(strcmp(sys_cmd,
"pcvCV2P")==0)
1261 if(strcmp(sys_cmd,
"pcvDim")==0)
1266 if(strcmp(sys_cmd,
"pcvBasis")==0)
1273 #ifdef HAVE_EIGENVAL 1274 if(strcmp(sys_cmd,
"hessenberg")==0)
1281 #ifdef HAVE_EIGENVAL 1282 if(strcmp(sys_cmd,
"eigenvals")==0)
1289 #ifdef HAVE_EIGENVAL 1290 if(strcmp(sys_cmd,
"rowelim")==0)
1297 #ifdef HAVE_EIGENVAL 1298 if(strcmp(sys_cmd,
"rowcolswap")==0)
1306 if(strcmp(sys_cmd,
"gmsnf")==0)
1313 if(strcmp(sys_cmd,
"contributors") == 0)
1317 "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");
1322 #ifdef HAVE_SPECTRUM 1323 if(strcmp(sys_cmd,
"spectrum") == 0)
1337 if(((
long)
h->next->Data())==1L)
1343 if(strcmp(sys_cmd,
"semic") == 0)
1349 if (
h->next->next==
NULL)
1351 else if (
h->next->next->Typ()==
INT_CMD)
1358 if(strcmp(sys_cmd,
"spadd") == 0)
1369 if(strcmp(sys_cmd,
"spmul") == 0)
1381 #define HAVE_SHEAFCOH_TRICKS 1 1383 #ifdef HAVE_SHEAFCOH_TRICKS 1384 if(strcmp(sys_cmd,
"tensorModuleMult")==0)
1390 int m = (int)( (
long)
h->Data() );
1391 ideal
M = (ideal)
h->next->Data();
1402 if (strcmp(sys_cmd,
"twostd") == 0)
1407 I=(ideal)
h->CopyD();
1421 if (strcmp(sys_cmd,
"bracket") == 0)
1426 poly
p=(poly)
h->CopyD();
1428 poly q=(poly)
h->Data();
1439 if (strcmp(sys_cmd,
"env")==0)
1443 ring r = (ring)
h->Data();
1450 WerrorS(
"`system(\"env\",<ring>)` expected");
1458 if (strcmp(sys_cmd,
"opp")==0)
1462 ring r=(ring)
h->Data();
1469 WerrorS(
"`system(\"opp\",<ring>)` expected");
1477 if (strcmp(sys_cmd,
"oppose")==0)
1480 && (
h->next!=
NULL))
1482 ring Rop = (ring)
h->Data();
1495 WerrorS(
"`system(\"oppose\",<ring>,<poly>)` expected");
1503 #ifdef HAVE_SHIFTBBA 1504 if (strcmp(sys_cmd,
"freegb") == 0)
1512 ideal I=(ideal)
h->CopyD();
1514 int uptodeg=(int)((
long)(
h->Data()));
1516 int lVblock=(int)((
long)(
h->Data()));
1527 WerrorS(
"system(\"freegb\",`ideal/module`,`int`,`int`) expected");
1538 if (strcmp(sys_cmd,
"walkNextWeight") == 0)
1545 Werror(
"system(\"walkNextWeight\" ...) intvecs not of length %d\n",
1549 res->data = (
void*) walkNextWeight(((
intvec*)
h->Data()),
1551 (ideal)
h->next->next->Data());
1552 if (
res->data ==
NULL ||
res->data == (
void*) 1L)
1568 if (strcmp(sys_cmd,
"walkInitials") == 0)
1572 WerrorS(
"system(\"walkInitials\", ideal) expected");
1575 res->data = (
void*) walkInitials((ideal)
h->Data());
1585 if (strcmp(sys_cmd,
"walkAddIntVec") == 0)
1591 res->data = (
intvec*) walkAddIntVec(arg1, arg2);
1600 #ifdef MwaklNextWeight 1601 if (strcmp(sys_cmd,
"MwalkNextWeight") == 0)
1608 Werror(
"system(\"MwalkNextWeight\" ...) intvecs not of length %d\n",
1614 ideal arg3 = (ideal)
h->next->next->Data();
1621 #endif //MWalkNextWeight 1625 if(strcmp(sys_cmd,
"Mivdp") == 0)
1629 WerrorS(
"system(\"Mivdp\", int) expected");
1632 if ((
int) ((
long)(
h->Data())) !=
currRing->N)
1634 Werror(
"system(\"Mivdp\" ...) intvecs not of length %d\n",
1638 int arg1 = (int) ((
long)(
h->Data()));
1648 if(strcmp(sys_cmd,
"Mivlp") == 0)
1652 WerrorS(
"system(\"Mivlp\", int) expected");
1655 if ((
int) ((
long)(
h->Data())) !=
currRing->N)
1657 Werror(
"system(\"Mivlp\" ...) intvecs not of length %d\n",
1661 int arg1 = (int) ((
long)(
h->Data()));
1672 if(strcmp(sys_cmd,
"MpDiv") == 0)
1676 poly arg1 = (poly)
h->Data();
1677 poly arg2 = (poly)
h->next->Data();
1678 poly
result = MpDiv(arg1, arg2);
1689 if(strcmp(sys_cmd,
"MpMult") == 0)
1693 poly arg1 = (poly)
h->Data();
1694 poly arg2 = (poly)
h->next->Data();
1695 poly
result = MpMult(arg1, arg2);
1705 if (strcmp(sys_cmd,
"MivSame") == 0)
1726 res->data = (
void*)(
long)
MivSame(arg1, arg2);
1733 if (strcmp(sys_cmd,
"M3ivSame") == 0)
1756 res->data = (
void*)(
long)
M3ivSame(arg1, arg2, arg3);
1763 if(strcmp(sys_cmd,
"MwalkInitialForm") == 0)
1769 Werror(
"system \"MwalkInitialForm\"...) intvec not of length %d\n",
1773 ideal
id = (ideal)
h->Data();
1785 if(strcmp(sys_cmd,
"MivMatrixOrder") == 0)
1789 WerrorS(
"system(\"MivMatrixOrder\",intvec) expected");
1802 if(strcmp(sys_cmd,
"MivMatrixOrderdp") == 0)
1806 WerrorS(
"system(\"MivMatrixOrderdp\",intvec) expected");
1809 int arg1 = (int) ((
long)(
h->Data()));
1819 if(strcmp(sys_cmd,
"MPertVectors") == 0)
1823 ideal arg1 = (ideal)
h->Data();
1825 int arg3 = (int) ((
long)(
h->next->next->Data()));
1835 if(strcmp(sys_cmd,
"MPertVectorslp") == 0)
1839 ideal arg1 = (ideal)
h->Data();
1841 int arg3 = (int) ((
long)(
h->next->next->Data()));
1851 if(strcmp(sys_cmd,
"Mfpertvector") == 0)
1855 ideal arg1 = (ideal)
h->Data();
1866 if(strcmp(sys_cmd,
"MivUnit") == 0)
1870 int arg1 = (int) ((
long)(
h->Data()));
1880 if(strcmp(sys_cmd,
"MivWeightOrderlp") == 0)
1894 if(strcmp(sys_cmd,
"MivWeightOrderdp") == 0)
1898 WerrorS(
"system(\"MivWeightOrderdp\",intvec) expected");
1912 if(strcmp(sys_cmd,
"MivMatrixOrderlp") == 0)
1916 WerrorS(
"system(\"MivMatrixOrderlp\",int) expected");
1919 int arg1 = (int) ((
long)(
h->Data()));
1929 if (strcmp(sys_cmd,
"MkInterRedNextWeight") == 0)
1936 Werror(
"system(\"MkInterRedNextWeight\" ...) intvecs not of length %d\n",
1942 ideal arg3 = (ideal)
h->next->next->Data();
1952 #ifdef MPertNextWeight 1953 if (strcmp(sys_cmd,
"MPertNextWeight") == 0)
1959 Werror(
"system(\"MPertNextWeight\" ...) intvecs not of length %d\n",
1964 ideal arg2 = (ideal)
h->next->Data();
1965 int arg3 = (int)
h->next->next->Data();
1972 #endif //MPertNextWeight 1976 #ifdef Mivperttarget 1977 if (strcmp(sys_cmd,
"Mivperttarget") == 0)
1981 ideal arg1 = (ideal)
h->Data();
1982 int arg2 = (int)
h->next->Data();
1989 #endif //Mivperttarget 1993 if (strcmp(sys_cmd,
"Mwalk") == 0)
2000 Werror(
"system(\"Mwalk\" ...) intvecs not of length %d\n",
2004 ideal arg1 = (ideal)
h->CopyD();
2007 ring arg4 = (ring)
h->next->next->next->Data();
2008 int arg5 = (int) (
long)
h->next->next->next->next->Data();
2009 int arg6 = (int) (
long)
h->next->next->next->next->next->Data();
2010 ideal
result = (ideal)
Mwalk(arg1, arg2, arg3, arg4, arg5, arg6);
2020 if (strcmp(sys_cmd,
"Mwalk") == 0)
2029 Werror(
"system(\"Mwalk\" ...) intvecs not of length %d or %d\n",
2033 ideal arg1 = (ideal)
h->Data();
2036 ring arg4 = (ring)
h->next->next->next->Data();
2037 ideal
result = (ideal)
Mwalk(arg1, arg2, arg3,arg4);
2044 if (strcmp(sys_cmd,
"Mpwalk") == 0)
2051 Werror(
"system(\"Mpwalk\" ...) intvecs not of length %d\n",
currRing->N);
2054 ideal arg1 = (ideal)
h->Data();
2055 int arg2 = (int) (
long)
h->next->Data();
2056 int arg3 = (int) (
long)
h->next->next->Data();
2059 int arg6 = (int) (
long)
h->next->next->next->next->next->Data();
2060 int arg7 = (int) (
long)
h->next->next->next->next->next->next->Data();
2061 int arg8 = (int) (
long)
h->next->next->next->next->next->next->next->Data();
2062 ideal
result = (ideal)
Mpwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
2072 if (strcmp(sys_cmd,
"Mrwalk") == 0)
2081 Werror(
"system(\"Mrwalk\" ...) intvecs not of length %d or %d\n",
2085 ideal arg1 = (ideal)
h->Data();
2088 int arg4 = (int)(
long)
h->next->next->next->Data();
2089 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2090 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2091 int arg7 = (int)(
long)
h->next->next->next->next->next->next->Data();
2092 ideal
result = (ideal)
Mrwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
2101 if (strcmp(sys_cmd,
"MAltwalk1") == 0)
2108 Werror(
"system(\"MAltwalk1\" ...) intvecs not of length %d\n",
2112 ideal arg1 = (ideal)
h->Data();
2113 int arg2 = (int) ((
long)(
h->next->Data()));
2114 int arg3 = (int) ((
long)(
h->next->next->Data()));
2127 if (strcmp(sys_cmd,
"Mfwalk_alt") == 0)
2134 Werror(
"system(\"Mfwalk\" ...) intvecs not of length %d\n",
2138 ideal arg1 = (ideal)
h->Data();
2141 int arg4 = (int)
h->next->next->next->Data();
2142 ideal
result = (ideal) Mfwalk_alt(arg1, arg2, arg3, arg4);
2152 if (strcmp(sys_cmd,
"Mfwalk") == 0)
2159 Werror(
"system(\"Mfwalk\" ...) intvecs not of length %d\n",
2163 ideal arg1 = (ideal)
h->Data();
2166 int arg4 = (int)(
long)
h->next->next->next->Data();
2167 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2168 ideal
result = (ideal)
Mfwalk(arg1, arg2, arg3, arg4, arg5);
2177 if (strcmp(sys_cmd,
"Mfrwalk") == 0)
2194 Werror(
"system(\"Mfrwalk\" ...) intvecs not of length %d or %d\n",
2199 ideal arg1 = (ideal)
h->Data();
2202 int arg4 = (int)(
long)
h->next->next->next->Data();
2203 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2204 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2205 ideal
result = (ideal)
Mfrwalk(arg1, arg2, arg3, arg4, arg5, arg6);
2212 if (strcmp(sys_cmd,
"Mprwalk") == 0)
2221 Werror(
"system(\"Mrwalk\" ...) intvecs not of length %d or %d\n",
2225 ideal arg1 = (ideal)
h->Data();
2228 int arg4 = (int)(
long)
h->next->next->next->Data();
2229 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2230 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2231 int arg7 = (int)(
long)
h->next->next->next->next->next->next->Data();
2232 int arg8 = (int)(
long)
h->next->next->next->next->next->next->next->Data();
2233 int arg9 = (int)(
long)
h->next->next->next->next->next->next->next->next->Data();
2234 ideal
result = (ideal)
Mprwalk(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
2244 if (strcmp(sys_cmd,
"TranMImprovwalk") == 0)
2251 Werror(
"system(\"TranMImprovwalk\" ...) intvecs not of length %d\n",
2255 ideal arg1 = (ideal)
h->Data();
2268 if (strcmp(sys_cmd,
"MAltwalk2") == 0)
2275 Werror(
"system(\"MAltwalk2\" ...) intvecs not of length %d\n",
2279 ideal arg1 = (ideal)
h->Data();
2291 if (strcmp(sys_cmd,
"TranMImprovwalk") == 0)
2298 Werror(
"system(\"TranMImprovwalk\" ...) intvecs not of length %d\n",
2302 ideal arg1 = (ideal)
h->Data();
2305 int arg4 = (int) ((
long)(
h->next->next->next->Data()));
2316 if (strcmp(sys_cmd,
"TranMrImprovwalk") == 0)
2321 h->next->next->next ==
NULL ||
h->next->next->next->Typ() !=
INT_CMD ||
2322 h->next->next->next ==
NULL ||
h->next->next->next->next->Typ() !=
INT_CMD ||
2323 h->next->next->next ==
NULL ||
h->next->next->next->next->next->Typ() !=
INT_CMD)
2325 WerrorS(
"system(\"TranMrImprovwalk\", ideal, intvec, intvec) expected");
2331 Werror(
"system(\"TranMrImprovwalk\" ...) intvecs not of length %d\n",
currRing->N);
2334 ideal arg1 = (ideal)
h->Data();
2337 int arg4 = (int)(
long)
h->next->next->next->Data();
2338 int arg5 = (int)(
long)
h->next->next->next->next->Data();
2339 int arg6 = (int)(
long)
h->next->next->next->next->next->Data();
2340 ideal
result = (ideal) TranMrImprovwalk(arg1, arg2, arg3, arg4, arg5, arg6);
2350 #ifndef MAKE_DISTRIBUTION
poly pOppose(ring Rop_src, poly p, const ring Rop_dst)
opposes a vector p from Rop to currRing (dst!)
ideal sm_UnFlatten(ideal a, int col, const ring R)
const CanonicalForm int s
intvec * MivMatrixOrder(intvec *iv)
poly nc_p_Bracket_qq(poly p, const poly q, const ring r)
returns [p,q], destroys p
void factoryseed(int s)
random seed initializer
Class used for (list of) interpreter objects.
static CanonicalForm bound(const CFMatrix &M)
matrix singntl_LLL(matrix m, const ring s)
intvec * Mfpertvector(ideal G, intvec *ivtarget)
static void * feOptValue(feOptIndex opt)
matrix evRowElim(matrix M, int i, int j, int k)
ideal Mpwalk(ideal Go, int op_deg, int tp_deg, intvec *curr_weight, intvec *target_weight, int nP, int reduction, int printout)
used for all transcendental extensions, i.e., the top-most extension in an extension tower is transce...
void HilbertSeries_OrbitData(ideal S, int lV, bool IG_CASE, bool mgrad, bool odp, int trunDegHs)
intvec * MivWeightOrderlp(intvec *ivstart)
BOOLEAN semicProc3(leftv res, leftv u, leftv v, leftv w)
static char * feResource(feResourceConfig config, int warn)
lists pcvPMulL(poly p, lists l1)
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
ideal id_TensorModuleMult(const int m, const ideal M, const ring rRing)
BOOLEAN spectrumProc(leftv result, leftv first)
int MivSame(intvec *u, intvec *v)
intvec * MivWeightOrderdp(intvec *ivstart)
BOOLEAN spmulProc(leftv result, leftv first, leftv second)
const char * feSetOptValue(feOptIndex opt, char *optarg)
void WerrorS(const char *s)
gmp_complex numbers based on
bool complexNearZero(gmp_complex *c, int digits)
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...
matrix evSwap(matrix M, int i, int j)
intvec * MPertVectorslp(ideal G, intvec *ivtarget, int pdeg)
void printBlackboxTypes()
list all defined type (for debugging)
void feStringAppendBrowsers(int warn)
poly p_LPshift(poly p, int sh, int uptodeg, int lV, const ring r)
ideal Mfwalk(ideal G, intvec *ivstart, intvec *ivtarget, int reduction, int printout)
poly p_Shrink(poly p, int lV, const ring r)
static int rBlocks(ring r)
ideal MAltwalk1(ideal Go, int op_deg, int tp_deg, intvec *curr_weight, intvec *target_weight)
int pcvDim(int d0, int d1)
void newstructShow(newstruct_desc d)
static BOOLEAN rIsPluralRing(const ring r)
we must always have this test!
void StringSetS(const char *st)
int M3ivSame(intvec *temp, intvec *u, intvec *v)
const char feNotImplemented[]
struct fe_option feOptSpec[]
ideal sm_Flatten(ideal a, const ring R)
intvec * MwalkNextWeight(intvec *curr_weight, intvec *target_weight, ideal G)
ideal Mwalk(ideal Go, intvec *orig_M, intvec *target_M, ring baseRing, int reduction, int printout)
intvec * MPertNextWeight(intvec *iva, ideal G, int deg)
int simpleipc_cmd(char *cmd, int id, int v)
poly pcvCV2P(poly cv, int d0, int d1)
intvec * Mivperttarget(ideal G, int ndeg)
BOOLEAN spectrumfProc(leftv result, leftv first)
lists pcvLAddL(lists l1, lists l2)
int pcvBasis(lists b, int i, poly m, int d, int n)
intvec * MPertVectors(ideal G, intvec *ivtarget, int pdeg)
poly kNFBound(ideal F, ideal Q, poly p, int bound, int syzComp, int lazyReduce)
ideal freegb(ideal I, int uptodeg, int lVblock)
static FORCE_INLINE n_coeffType getCoeffType(const coeffs r)
Returns the type of coeffs domain.
int ssiReservePort(int clients)
static BOOLEAN rField_is_long_C(const ring r)
#define BIMATELEM(M, I, J)
INLINE_THIS void Init(int l=0)
const Variable & v
< [in] a sqrfree bivariate poly
matrix evHessenberg(matrix M)
ideal RightColonOperation(ideal S, poly w, int lV)
#define pLastVblock(p, lV)
lists evEigenvals(matrix M)
static BOOLEAN rField_is_Ring(const ring r)
BOOLEAN semicProc(leftv res, leftv u, leftv v)
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...
ideal TranMImprovwalk(ideal G, intvec *curr_weight, intvec *target_tmp, int nP)
BOOLEAN iiCheckTypes(leftv args, const short *type_list, int report)
check a list of arguemys against a given field of types return TRUE if the types match return FALSE (...
static BOOLEAN rField_is_long_R(const ring r)
static BOOLEAN length(leftv result, leftv arg)
int blackboxIsCmd(const char *n, int &tok)
used by scanner: returns ROOT_DECL for known types (and the type number in tok)
intvec * MivMatrixOrderdp(int nV)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
ideal MAltwalk2(ideal Go, 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)
poly pcvP2CV(poly p, int d0, int d1)
char * omFindExec(const char *name, char *exec)
BOOLEAN spaddProc(leftv result, leftv first, leftv second)
ideal idXXX(ideal h1, int k)
ideal singclap_absFactorize(poly f, ideal &mipos, intvec **exps, int &numFactors, const ring r)
BOOLEAN newstruct_set_proc(const char *bbname, const char *func, int args, procinfov pr)
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)
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
lists gmsNF(ideal p, ideal g, matrix B, int D, int K)
feOptIndex feGetOptIndex(const char *name)
void countedref_reference_load()
Initialize blackbox types 'reference' and 'shared', or both.
char * singclap_neworder(ideal I, const ring r)
ideal MwalkInitialForm(ideal G, intvec *ivw)
ideal Mfrwalk(ideal G, intvec *ivstart, intvec *ivtarget, int weight_rad, int reduction, int printout)
#define IMATELEM(M, I, J)
void Werror(const char *fmt,...)
intvec * MivMatrixOrderlp(int nV)
void countedref_shared_load()
blackbox * getBlackboxStuff(const int t)
return the structure to the type given by t
intvec * MkInterRedNextWeight(intvec *iva, intvec *ivb, ideal G)
ideal twostd(ideal I)
Compute two-sided GB: