 |
My Project
UNKNOWN_GIT_VERSION
|
Go to the source code of this file.
◆ HAVE_EXTENDED_SYSTEM
#define HAVE_EXTENDED_SYSTEM 1 |
◆ HAVE_SHEAFCOH_TRICKS
#define HAVE_SHEAFCOH_TRICKS 1 |
◆ HAVE_WALK
◆ TEST_FOR
#define TEST_FOR |
( |
|
A | ) |
if(strcmp(s,A)==0) res->data=(void *)1; else |
◆ jjEXTENDED_SYSTEM()
Definition at line 2372 of file extra.cc.
2376 char *sys_cmd=(
char *)(
h->Data());
2379 if (strcmp(sys_cmd,
"syz") == 0)
2383 const char *
s=(
const char *)
h->Data();
2384 if (strcmp(
s,
"posInT_EcartFDegpLength")==0)
2386 else if (strcmp(
s,
"posInT_FDegpLength")==0)
2388 else if (strcmp(
s,
"posInT_pLength")==0)
2390 else if (strcmp(
s,
"posInT0")==0)
2392 else if (strcmp(
s,
"posInT1")==0)
2394 else if (strcmp(
s,
"posInT2")==0)
2396 else if (strcmp(
s,
"posInT11")==0)
2398 else if (strcmp(
s,
"posInT110")==0)
2400 else if (strcmp(
s,
"posInT13")==0)
2402 else if (strcmp(
s,
"posInT15")==0)
2404 else if (strcmp(
s,
"posInT17")==0)
2406 else if (strcmp(
s,
"posInT17_c")==0)
2408 else if (strcmp(
s,
"posInT19")==0)
2410 else PrintS(
"valid posInT:0,1,2,11,110,13,15,17,17_c,19,_EcartFDegpLength,_FDegpLength,_pLength,_EcartpLength\n");
2422 if(strcmp(sys_cmd,
"locNF")==0)
2427 poly
f=(poly)
h->Data();
2429 ideal
m=(ideal)
h->Data();
2432 int n=(int)((
long)
h->Data());
2497 if(strcmp(sys_cmd,
"p")==0)
2502 WarnS(
"Sorry: not available for release build!");
2508 if(strcmp(sys_cmd,
"setsyzcomp")==0)
2512 int k = (int)(
long)
h->Data();
2520 if(strcmp(sys_cmd,
"r")==0)
2525 WarnS(
"Sorry: not available for release build!");
2537 if(strcmp(sys_cmd,
"changeRing")==0)
2541 for (
int i = 1;
i <= varN;
i++)
2544 sprintf(
h,
"x%d",
i);
2549 res->data = (
void*)0L;
2554 if(strcmp(sys_cmd,
"mtrack")==0)
2565 char *fn=(
char*)
h->Data();
2566 fd = fopen(fn,
"w");
2568 Warn(
"Can not open %s for writing og mtrack. Using stdout",fn);
2572 max = (int)(
long)
h->Data();
2581 WerrorS(
"system(\"mtrack\",..) is not implemented in this version");
2588 if(strcmp(sys_cmd,
"backtrace")==0)
2596 #if !defined(OM_NDEBUG)
2598 if (strcmp(sys_cmd,
"omMemoryTest")==0)
2602 PrintS(
"\n[om_Info]: \n");
2604 #define OM_PRINT(name) Print(" %-22s : %10ld \n", #name, om_Info . name)
2605 OM_PRINT(MaxBytesSystem);
2606 OM_PRINT(CurrentBytesSystem);
2607 OM_PRINT(MaxBytesSbrk);
2608 OM_PRINT(CurrentBytesSbrk);
2609 OM_PRINT(MaxBytesMmap);
2610 OM_PRINT(CurrentBytesMmap);
2611 OM_PRINT(UsedBytes);
2612 OM_PRINT(AvailBytes);
2613 OM_PRINT(UsedBytesMalloc);
2614 OM_PRINT(AvailBytesMalloc);
2615 OM_PRINT(MaxBytesFromMalloc);
2616 OM_PRINT(CurrentBytesFromMalloc);
2617 OM_PRINT(MaxBytesFromValloc);
2618 OM_PRINT(CurrentBytesFromValloc);
2619 OM_PRINT(UsedBytesFromValloc);
2620 OM_PRINT(AvailBytesFromValloc);
2622 OM_PRINT(UsedPages);
2623 OM_PRINT(AvailPages);
2624 OM_PRINT(MaxRegionsAlloc);
2625 OM_PRINT(CurrentRegionsAlloc);
2630 PrintS(
"\n[om_Opts]: \n");
2631 #define OM_PRINT(format, name) Print(" %-22s : %10" format"\n", #name, om_Opts . name)
2632 OM_PRINT(
"d", MinTrack);
2633 OM_PRINT(
"d", MinCheck);
2634 OM_PRINT(
"d", MaxTrack);
2635 OM_PRINT(
"d", MaxCheck);
2636 OM_PRINT(
"d", Keep);
2637 OM_PRINT(
"d", HowToReportErrors);
2638 OM_PRINT(
"d", MarkAsStatic);
2639 OM_PRINT(
"u", PagesPerRegion);
2640 OM_PRINT(
"p", OutOfMemoryFunc);
2641 OM_PRINT(
"p", MemoryLowFunc);
2642 OM_PRINT(
"p", ErrorHook);
2647 Print(
"\n\n[om_ErrorStatus] : '%s' (%s)\n",
2650 Print(
"[om_InternalErrorStatus]: '%s' (%s)\n",
2663 #if defined(PDEBUG) || defined(PDIV_DEBUG)
2664 if(strcmp(sys_cmd,
"pDivStat")==0)
2674 if(strcmp(sys_cmd,
"red")==0)
2689 if(strcmp(sys_cmd,
"fastcomb")==0)
2697 WarnS(
"Wrong types for poly= comb(ideal,poly)");
2702 (ideal)
h->Data(),(poly)
h->next->Data());
2710 if(strcmp(sys_cmd,
"comb")==0)
2718 WarnS(
"Wrong types for poly= comb(ideal,poly)");
2723 (ideal)
h->Data(),(poly)
h->next->Data());
2732 if(strcmp(sys_cmd,
"listall")==0)
2734 void listall(
int showproc);
2736 if ((
h!=
NULL) && (
h->Typ()==
INT_CMD)) showproc=(int)((
long)
h->Data());
2744 if(strcmp(sys_cmd,
"proclist")==0)
2746 void piShowProcList();
2754 if(strcmp(sys_cmd,
"newton")==0)
2758 || (
h->next->next->Typ()!=
INT_CMD))
2760 WerrorS(
"system(\"newton\",<poly>,<int>,<int>) expected");
2763 poly
p=(poly)(
h->Data());
2782 (
int) (
h->next->Data()),
2783 (
int) (
h->next->next->Data())
2796 L->
m[1].
data=(
void *)(
long)r.achse;
2798 L->
m[2].
data=(
void *)(
long)r.deg;
2802 L->
m[3].
data=(
void *)(
long)r.anz_punkte;
2804 int anz = r.anz_punkte;
2807 for (
i=0;
i<anz*
dim;
i++)
2817 (*w)[
i] = r.deg_tab[
i];
2820 while (r.deg_tab[
i-1] != -2);
2831 res->data=(
void *)L;
2854 if (strcmp(sys_cmd,
"minpoly") == 0)
2858 Werror(
"expected exactly one argument: %s",
2859 "a square matrix with number entries");
2869 WerrorS(
"expected exactly one argument: "
2870 "a square matrix with number entries");
2877 res->data = (
void *)theMinPoly;
2878 for (
int i = 0;
i < n;
i++)
delete[] ml[
i];
2880 delete[] polyCoeffs;
2887 if (strcmp(sys_cmd,
"sdb_flags") == 0)
2895 WerrorS(
"system(\"sdb_flags\",`int`) expected");
2904 if (strcmp(sys_cmd,
"sdb_edit") == 0)
2913 WerrorS(
"system(\"sdb_edit\",`proc`) expected");
2921 #if 0 // for testing only
2922 if (strcmp(sys_cmd,
"GF") == 0)
2939 if (strcmp(sys_cmd,
"svd") == 0)
2954 if (strcmp(sys_cmd,
"DLL") == 0)
2956 typedef void (*Void_Func)();
2957 typedef int (*Int_Func)(int);
2967 if (
f!=
NULL) printf(
"%d\n",
f(
i));
2968 else PrintS(
"cannot find PlusDll\n");
2976 else PrintS(
"cannot find TestDll\n");
2983 #ifdef HAVE_RING2TOM
2985 if (strcmp(sys_cmd,
"findZeroPoly")==0)
2988 poly
f = (poly)
h->Data();
2995 #ifdef HAVE_VANIDEAL
2996 if (strcmp(sys_cmd,
"createG0")==0)
3021 if (strcmp(sys_cmd,
"redNF_ring")==0)
3024 poly
f = (poly)
h->Data();
3026 ideal
G = (ideal)
h->Data();
3034 if (strcmp(sys_cmd,
"hilbroune") == 0)
3046 if (strcmp(sys_cmd,
"f5")==0)
3055 ideal
G = (ideal)
h->Data();
3059 opt = (int) (
long)
h->Data();
3067 plus = (int) (
long)
h->Data();
3075 termination = (int) (
long)
h->Data();
3081 res->data=(ideal)
F5main(
G,r,opt,plus,termination);
3088 if (strcmp(sys_cmd,
"NF_ring")==0)
3091 poly
f = (poly)
h->Data();
3093 ideal
G = (ideal)
h->Data();
3099 if (strcmp(sys_cmd,
"spoly")==0)
3101 poly
f =
pCopy((poly)
h->Data());
3103 poly
g =
pCopy((poly)
h->Data());
3110 if (strcmp(sys_cmd,
"testGB")==0)
3112 ideal I = (ideal)
h->Data();
3114 ideal GI = (ideal)
h->Data();
3116 res->data = (
void *)(
long)
testGB(I, GI);
3123 if ( (strcmp(sys_cmd,
"AltVarStart") == 0) || (strcmp(sys_cmd,
"AltVarEnd") == 0) )
3129 WerrorS(
"`system(\"AltVarStart/End\"[,<ring>])` expected");
3137 if(strcmp(sys_cmd,
"AltVarStart") == 0)
3144 WerrorS(
"`system(\"AltVarStart/End\",<ring>) requires a SCA ring");
3150 #ifdef HAVE_RATGRING
3151 if (strcmp(sys_cmd,
"intratNF") == 0)
3166 I=(ideal)
h->CopyD();
3174 is=(int)((
long)(
h->Data()));
3182 for(
k=0;
k < id;
k++)
3186 PrintS(
"starting redRat\n");
3204 if (strcmp(sys_cmd,
"ratNF") == 0)
3223 is=(int)((
long)(
h->Data()));
3238 if (strcmp(sys_cmd,
"ratSpoly") == 0)
3256 is=(int)((
long)(
h->Data()));
3270 #endif // HAVE_RATGRING
3272 if (strcmp(sys_cmd,
"ratVar") == 0)
3289 return (start==0)||(end==0)||(start>end);
3293 if (strcmp(sys_cmd,
"unifastmult")==0)
3295 poly
f = (poly)
h->Data();
3297 poly
g=(poly)
h->Data();
3303 if (strcmp(sys_cmd,
"multifastmult")==0)
3305 poly
f = (poly)
h->Data();
3307 poly
g=(poly)
h->Data();
3313 if (strcmp(sys_cmd,
"mults")==0)
3320 if (strcmp(sys_cmd,
"fastpower")==0)
3323 poly
f = (poly)
h->Data();
3325 int n=(int)((
long)
h->Data());
3331 if (strcmp(sys_cmd,
"normalpower")==0)
3333 poly
f = (poly)
h->Data();
3335 int n=(int)((
long)
h->Data());
3341 if (strcmp(sys_cmd,
"MCpower")==0)
3344 poly
f = (poly)
h->Data();
3346 int n=(int)((
long)
h->Data());
3352 if (strcmp(sys_cmd,
"bit_subst")==0)
3355 poly outer = (poly)
h->Data();
3357 poly inner=(poly)
h->Data();
3364 if (strcmp(sys_cmd,
"gcd") == 0)
3379 int d=(int)(
long)
h->next->Data();
3380 char *
s=(
char *)
h->Data();
3395 if (strcmp(sys_cmd,
"subring") == 0)
3409 if (strcmp(sys_cmd,
"HNF") == 0)
3431 WerrorS(
"expected `system(\"HNF\",<matrix|intmat|bigintmat>)`");
3439 if (strcmp (sys_cmd,
"probIrredTest") == 0)
3444 char *
s=(
char *)
h->next->Data();
3456 if(strcmp(sys_cmd,
"GNUmpLoad")==0)
3460 char* filename = (
char*)
h->Data();
3461 FILE*
f = fopen(filename,
"r");
3464 WerrorS(
"invalid file name (in paths use '/')");
3467 mpz_t
m; mpz_init(
m);
3468 mpz_inp_str(
m,
f, 10);
3472 res->data = (
void*)n;
3477 WerrorS(
"expected valid file name as a string");
3489 if(strcmp(sys_cmd,
"intvecMatchingSegments")==0)
3493 (
h->next->next ==
NULL))
3498 int validEntries = 0;
3499 for (
int k = 0;
k <= ivec->
rows() - jvec->
rows();
k++)
3501 if (memcmp(&(*ivec)[
k], &(*jvec)[0],
3502 sizeof(
int) * jvec->
rows()) == 0)
3504 if (validEntries == 0)
3508 r->
resize(validEntries + 1);
3509 (*r)[validEntries] =
k + 1;
3515 res->data = (
void*)r;
3520 WerrorS(
"expected two non-empty intvecs as arguments");
3531 if(strcmp(sys_cmd,
"intvecOverlap")==0)
3535 (
h->next->next ==
NULL))
3539 int ir = ivec->
rows();
int jr = jvec->
rows();
3540 int r = jr;
if (ir < jr) r = ir;
3541 while ((r >= 1) && (memcmp(&(*ivec)[ir - r], &(*jvec)[0],
3542 sizeof(
int) * r) != 0))
3545 res->data = (
void*)(
long)r;
3550 WerrorS(
"expected two non-empty intvecs as arguments");
3556 if(strcmp(sys_cmd,
"henselfactors")==0)
3561 (
h->next->next->next !=
NULL) &&
3562 (
h->next->next->next->Typ() ==
POLY_CMD) &&
3563 (
h->next->next->next->next !=
NULL) &&
3564 (
h->next->next->next->next->Typ() ==
POLY_CMD) &&
3565 (
h->next->next->next->next->next !=
NULL) &&
3566 (
h->next->next->next->next->next->Typ() ==
INT_CMD) &&
3567 (
h->next->next->next->next->next->next ==
NULL))
3569 int xIndex = (int)(
long)
h->Data();
3570 int yIndex = (int)(
long)
h->next->Data();
3571 poly hh = (poly)
h->next->next->Data();
3572 poly f0 = (poly)
h->next->next->next->Data();
3573 poly g0 = (poly)
h->next->next->next->next->Data();
3574 int d = (int)(
long)
h->next->next->next->next->next->Data();
3582 res->data = (
char *)L;
3587 WerrorS(
"expected argument list (int, int, poly, poly, poly, int)");
3594 if (strcmp(sys_cmd,
"astep") == 0)
3599 I=(ideal)
h->CopyD();
3612 if (strcmp(sys_cmd,
"PrintMat") == 0)
3622 a=(int)((
long)(
h->Data()));
3627 b=(int)((
long)(
h->Data()));
3642 metric=(int)((
long)(
h->Data()));
3653 if(strcmp(sys_cmd,
"NCUseExtensions")==0)
3666 if(strcmp(sys_cmd,
"NCGetType")==0)
3672 res->data=(
void *)(-1L);
3679 if(strcmp(sys_cmd,
"ForceSCA")==0)
3686 b = (int)((
long)(
h->Data()));
3692 e = (int)((
long)(
h->Data()));
3703 if(strcmp(sys_cmd,
"ForceNewNCMultiplication")==0)
3715 if(strcmp(sys_cmd,
"ForceNewOldNCMultiplication")==0)
3727 if(strcmp(sys_cmd,
"test64")==0)
3743 Print(
"SIZEOF_LONG=%d\n",SIZEOF_LONG);
3749 if(strcmp(sys_cmd,
"cache_chinrem")==0)
3760 if(strcmp(sys_cmd,
"LU")==0)
3770 res->data=(
char*)bb;
3775 WerrorS(
"system(\"LU\",<cmatrix>) expected");
3782 if(strcmp(sys_cmd,
"sort")==0)
3792 if(strcmp(sys_cmd,
"uniq")==0)
3802 if(strcmp(sys_cmd,
"GF")==0)
3807 int p=(int)(
long)
h->Data();
3808 int n=(int)(
long)
h->next->Data();
3809 char *
v=(
char*)
h->next->next->CopyD();
3825 if(strcmp(sys_cmd,
"power1")==0)
3828 poly
f=(poly)
h->CopyD();
3830 res->data=(
void *)
g;
3834 if(strcmp(sys_cmd,
"power2")==0)
3837 poly
f=(poly)
h->Data();
3839 for(
int i=0;
i<2000;
i++)
3841 res->data=(
void *)
g;
3844 if(strcmp(sys_cmd,
"power3")==0)
3847 poly
f=(poly)
h->Data();
3858 poly p1536=
pMult(p1024,p512);
3859 poly p1792=
pMult(p1536,p256);
3860 poly p1920=
pMult(p1792,p128);
3861 poly p1984=
pMult(p1920,p64);
3862 poly p2000=
pMult(p1984,p16);
3863 res->data=(
void *)p2000;
◆ jjSYSTEM()
Definition at line 228 of file extra.cc.
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
◆ longCoeffsToSingularPoly()
poly longCoeffsToSingularPoly |
( |
unsigned long * |
polyCoeffs, |
|
|
const int |
degree |
|
) |
| |
Definition at line 205 of file extra.cc.
210 if ((
int)polyCoeffs[
i] != 0)
◆ singularMatrixToLongMatrix()
unsigned long** singularMatrixToLongMatrix |
( |
matrix |
singularMatrix | ) |
|
Definition at line 173 of file extra.cc.
175 int n = singularMatrix->
rows();
177 unsigned long **longMatrix = 0;
178 longMatrix =
new unsigned long *[n] ;
179 for (
int i = 0 ;
i < n;
i++)
180 longMatrix[
i] =
new unsigned long [n];
182 for (
int r = 0; r < n; r++)
183 for (
int c = 0; c < n; c++)
185 poly
p=
MATELEM(singularMatrix, r + 1, c + 1);
195 longMatrix[r][c] = (
unsigned long)entryAsInt;
static FORCE_INLINE n_coeffType getCoeffType(const coeffs r)
Returns the type of coeffs domain.
#define pDivisibleBy(a, b)
returns TRUE, if leading monom of a divides leading monom of b i.e., if there exists a expvector c > ...
poly kFindZeroPoly(poly input_p, ring leadRing, ring tailRing)
BOOLEAN jjUNIQLIST(leftv, leftv arg)
void omPrintUsedTrackAddrs(FILE *fd, int max_frames)
#define pLmDeleteAndNext(p)
like pLmDelete, returns pNext(p)
void error(const char *fmt,...)
BOOLEAN ncInitSpecialPairMultiplication(ring r)
void countedref_shared_load()
static BOOLEAN rField_is_long_R(const ring r)
ideal twostd(ideal I)
Compute two-sided GB:
ideal TranMImprovwalk(ideal G, intvec *curr_weight, intvec *target_tmp, int nP)
poly multifastmult(poly f, poly g, ring r)
ideal Mwalk(ideal Go, intvec *orig_M, intvec *target_M, ring baseRing, int reduction, int printout)
int posInT17_c(const TSet set, const int length, LObject &p)
BOOLEAN spectrumfProc(leftv result, leftv first)
lists gmsNF(ideal p, ideal g, matrix B, int D, int K)
void rDebugPrint(const ring r)
#define MATELEM(mat, i, j)
poly fglmNewLinearCombination(ideal source, poly monset)
poly nc_rat_ReduceSpolyNew(const poly p1, poly p2, int ishift, const ring r)
poly nc_p_Bracket_qq(poly p, const poly q, const ring r)
returns [p,q], destroys p
static FORCE_INLINE int n_GetChar(const coeffs r)
Return the characteristic of the coeff. domain.
Creation data needed for finite fields.
void p_DebugPrint(poly p, const ring r)
#define pGetExp(p, i)
Exponent.
matrix evRowElim(matrix M, int i, int j, int k)
int posInT_EcartFDegpLength(const TSet set, const int length, LObject &p)
int posInT17(const TSet set, const int length, LObject &p)
intvec * MwalkNextWeight(intvec *curr_weight, intvec *target_weight, ideal G)
int redRat(poly *h, poly *reducer, int *red_length, int rl, int ishift, ring r)
intvec * MPertVectorslp(ideal G, intvec *ivtarget, int pdeg)
static nc_type & ncRingType(nc_struct *p)
int M3ivSame(intvec *temp, intvec *u, intvec *v)
feOptIndex feGetOptIndex(const char *name)
CFList int bool & irred
[in,out] Is A irreducible?
static coordinates * points
ideal freegb(ideal I, int uptodeg, int lVblock)
const char * omError2String(omError_t error)
poly pFastPowerMC(poly f, int n, ring r)
int posInT110(const TSet set, const int length, LObject &p)
short * iv2array(intvec *iv, const ring R)
static BOOLEAN length(leftv result, leftv arg)
ideal Mpwalk(ideal Go, int op_deg, int tp_deg, intvec *curr_weight, intvec *target_weight, int nP, int reduction, int printout)
BOOLEAN spmulProc(leftv result, leftv first, leftv second)
const char * feSetOptValue(feOptIndex opt, char *optarg)
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
coeffs nInitChar(n_coeffType t, void *parameter)
one-time initialisations for new coeffs in case of an error return NULL
void feStringAppendBrowsers(int warn)
BOOLEAN jjSORTLIST(leftv, leftv arg)
BOOLEAN semicProc3(leftv res, leftv u, leftv v, leftv w)
void sdb_edit(procinfo *pi)
int pcvBasis(lists b, int i, poly m, int d, int n)
void printBlackboxTypes()
list all defined type (for debugging)
int setNCExtensions(int iMask)
int posInT_FDegpLength(const TSet set, const int length, LObject &p)
poly kNFBound(ideal F, ideal Q, poly p, int bound, int syzComp, int lazyReduce)
Class used for (list of) interpreter objects.
int testGB(ideal I, ideal GI)
poly pFastPower(poly f, int n, ring r)
static FORCE_INLINE number n_InitMPZ(mpz_t n, const coeffs r)
conversion of a GMP integer to number
matrix evSwap(matrix M, int i, int j)
#define omPrintCurrentBackTrace(fd)
poly pOppose(ring Rop_src, poly p, const ring Rop_dst)
opposes a vector p from Rop to currRing (dst!)
int posInT19(const TSet set, const int length, LObject &p)
void factoryseed(int s)
random seed initializer
int(* test_PosInL)(const LSet set, const int length, LObject *L, const kStrategy strat)
static unsigned long p_SetExp(poly p, const unsigned long e, const unsigned long iBitmask, const int VarOffset)
set a single variable exponent @Note: VarOffset encodes the position in p->exp
static BOOLEAN rIsPluralRing(const ring r)
we must always have this test!
static unsigned pLength(poly a)
void HilbertSeries_OrbitData(ideal S, int lV, bool IG_CASE, bool mgrad, bool odp, int trunDegHs)
static const int SW_USE_EZGCD
set to 1 to use EZGCD over Z
bool sca_Force(ring rGR, int b, int e)
int ssiReservePort(int clients)
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)
omError_t om_InternalErrorStatus
int(* test_PosInT)(const TSet T, const int tl, LObject &h)
const char * omError2Serror(omError_t error)
void countedref_reference_load()
Initialize blackbox types 'reference' and 'shared', or both.
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)
number n_convFactoryNSingN(const CanonicalForm n, const coeffs r)
int posInT2(const TSet set, const int length, LObject &p)
void PrintS(const char *s)
lists pcvPMulL(poly p, lists l1)
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...
#define omFreeSize(addr, size)
intvec * Mivperttarget(ideal G, int ndeg)
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...
int MivSame(intvec *u, intvec *v)
int posInT_pLength(const TSet set, const int length, LObject &p)
matrix mp_Transp(matrix a, const ring R)
ideal Mfwalk(ideal G, intvec *ivstart, intvec *ivtarget, int reduction, int printout)
static short scaFirstAltVar(ring r)
static BOOLEAN rField_is_Ring(const ring r)
void henselFactors(const int xIndex, const int yIndex, const poly h, const poly f0, const poly g0, const int d, poly &f, poly &g)
Computes a factorization of a polynomial h(x, y) in K[[x]][y] up to a certain degree in x,...
ideal RightColonOperation(ideal S, poly w, int lV)
poly pcvCV2P(poly cv, int d0, int d1)
BOOLEAN semicProc(leftv res, leftv u, leftv v)
ideal sm_Flatten(ideal a, const ring R)
static int max(int a, int b)
intvec * MivMatrixOrderdp(int nV)
int blackboxIsCmd(const char *n, int &tok)
used by scanner: returns ROOT_DECL for known types (and the type number in tok)
void resize(int new_length)
BOOLEAN spaddProc(leftv result, leftv first, leftv second)
matrix singntl_HNF(matrix m, const ring s)
ideal F5main(ideal id, ring r, int opt, int plus, int termination)
static const int SW_USE_CHINREM_GCD
set to 1 to use modular gcd over Z
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
intvec * MivMatrixOrder(intvec *iv)
static int rBlocks(ring r)
poly uni_subst_bits(poly outer_uni, poly inner_multi, ring r)
char * omFindExec(const char *name, char *exec)
intvec * MivWeightOrderdp(intvec *ivstart)
matrix mpNew(int r, int c)
create a r x c zero-matrix
CanonicalForm n_convSingNFactoryN(number n, BOOLEAN setChar, const coeffs r)
KINLINE poly ksOldSpolyRed(poly p1, poly p2, poly spNoether)
ideal MwalkInitialForm(ideal G, intvec *ivw)
int posInT13(const TSet set, const int length, LObject &p)
@ n_transExt
used for all transcendental extensions, i.e., the top-most extension in an extension tower is transce...
void n_Print(number &a, const coeffs r)
print a number (BEWARE of string buffers!) mostly for debugging
intvec * MPertVectors(ideal G, intvec *ivtarget, int pdeg)
poly plain_spoly(poly f, poly g)
CanonicalForm convSingPFactoryP(poly p, const ring r)
matrix mp_InitI(int r, int c, int v, const ring R)
make it a v * unit matrix
poly nc_rat_CreateSpoly(poly pp1, poly pp2, int ishift, const ring r)
struct fe_option feOptSpec[]
poly ringRedNF(poly f, ideal G, ring r)
ideal MAltwalk1(ideal Go, int op_deg, int tp_deg, intvec *curr_weight, intvec *target_weight)
intvec * MivMatrixOrderlp(int nV)
void * dynl_open(char *filename)
#define IMATELEM(M, I, J)
static char * feResource(feResourceConfig config, int warn)
static poly p_Add_q(poly p, poly q, const ring r)
BOOLEAN newstruct_set_proc(const char *bbname, const char *func, int args, procinfov pr)
bool complexNearZero(gmp_complex *c, int digits)
intvec * MkInterRedNextWeight(intvec *iva, intvec *ivb, ideal G)
int pcvDim(int d0, int d1)
int probIrredTest(const CanonicalForm &F, double error)
given some error probIrredTest detects irreducibility or reducibility of F with confidence level 1-er...
void StringSetS(const char *st)
BOOLEAN spectrumProc(leftv result, leftv first)
void pPrintDivisbleByStat()
ideal Approx_Step(ideal L)
Ann: ???
static const int SW_USE_EZGCD_P
set to 1 to use EZGCD over F_q
static CanonicalForm bound(const CFMatrix &M)
poly p_Shrink(poly p, int lV, const ring r)
unsigned long * computeMinimalPolynomial(unsigned long **matrix, unsigned n, unsigned long p)
ideal id_Vec2Ideal(poly vec, const ring R)
void omMarkAsStaticAddr(void *addr)
poly pcvP2CV(poly p, int d0, int d1)
void rSetSyzComp(int k, const ring r)
void Werror(const char *fmt,...)
ideal idXXX(ideal h1, int k)
#define pLastVblock(p, lV)
static short scaLastAltVar(ring r)
BOOLEAN assumeStdFlag(leftv h)
void * dynl_sym(void *handle, const char *symbol)
void WerrorS(const char *s)
matrix singntl_LLL(matrix m, const ring s)
int posInT1(const TSet set, const int length, LObject &p)
intvec * MPertNextWeight(intvec *iva, ideal G, int deg)
int simpleipc_cmd(char *cmd, int id, int v)
#define BIMATELEM(M, I, J)
lists pcvLAddL(lists l1, lists l2)
lists evEigenvals(matrix M)
ideal Mrwalk(ideal Go, intvec *orig_M, intvec *target_M, int weight_rad, int pert_deg, int reduction, int printout)
const char feNotImplemented[]
static FORCE_INLINE long n_Int(number &n, const coeffs r)
conversion of n to an int; 0 if not possible in Z/pZ: the representing int lying in (-p/2 ....
matrix evHessenberg(matrix M)
static void p_Setm(poly p, const ring r)
const Variable & v
< [in] a sqrfree bivariate poly
matrix nc_PrintMat(int a, int b, ring r, int metric)
returns matrix with the info on noncomm multiplication
INLINE_THIS void Init(int l=0)
intvec * MivWeightOrderlp(intvec *ivstart)
const CanonicalForm int s
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 (...
intvec * Mfpertvector(ideal G, intvec *ivtarget)
static void * feOptValue(feOptIndex opt)
#define pCopy(p)
return a copy of the poly
poly ringNF(poly f, ideal G, ring r)
static const int SW_USE_QGCD
set to 1 to use Encarnacion GCD over Q(a)
int posInT15(const TSet set, const int length, LObject &p)
poly p_ISet(long i, const ring r)
returns the poly representing the integer i
int posInT0(const TSet, const int length, LObject &)
#define pHead(p)
returns newly allocated copy of Lm(p), coef is copied, next=NULL, p might be NULL
poly fglmLinearCombination(ideal source, poly monset)
ideal Mfrwalk(ideal G, intvec *ivstart, intvec *ivtarget, int weight_rad, int reduction, int printout)
static bool rIsSCA(const ring r)
static BOOLEAN rField_is_long_C(const ring r)
poly p_LPshift(poly p, int sh, int uptodeg, int lV, const ring r)
blackbox * getBlackboxStuff(const int t)
return the structure to the type given by t
void newstructShow(newstruct_desc d)
ideal singclap_absFactorize(poly f, ideal &mipos, intvec **exps, int &numFactors, const ring r)
int posInT11(const TSet set, const int length, LObject &p)
poly unifastmult(poly f, poly g, ring r)
ring rSubring(ring org_ring, sleftv *rv)
gmp_complex numbers based on
char * singclap_neworder(ideal I, const ring r)
ideal sm_UnFlatten(ideal a, int col, const ring R)
ideal id_TensorModuleMult(const int m, const ideal M, const ring rRing)
BOOLEAN rComplete(ring r, int force)
this needs to be called whenever a new ring is created: new fields in ring are created (like VarOffse...