951{
953 int howmuch,toSub=0;
954 int maxindex=0,maxdeg=0;
959
961 {
965 return syzstr;
966 }
967
968
971
972
975
976
977#ifdef SHOW_CRIT
978 crit = 0;
979 crit1 = 0;
980 spfl = 0;
981 cons_pairs = 0;
982 crit_fails = 0;
983#endif
988 {
989 if (origR != syzstr->
syRing)
991 else
992 temp->m[
i] =
pCopy( arg->m[
i]);
993 if (temp->m[
i]!=
NULL)
994 {
996 if (
j<actdeg) actdeg =
j;
997 }
998 }
1017
1018 while (nextPairs!=
NULL)
1019 {
1020#ifdef SHOW_PROT
1021Print(
"compute %d Paare im Module %d im Grad %d \n",howmuch,
index,actdeg+
index);
1022#endif
1027 else
1031 {
1035 toSub = 0;
1037 }
1038 else
1040
1041#ifdef SHOW_PROT
1042Print(
"Bilde neue Paare in Modul %d!\n",
index);
1043#endif
1046 {
1047#ifdef SHOW_PROT
1048Print(
"Bilde neue Paare in Modul %d!\n",
index+1);
1049#endif
1051 }
1054 }
1056#ifdef SHOW_RESULT
1057PrintS(
"minimal resolution:\n");
1058for (
int ti=1;ti<=*
length;ti++)
1059{
1061}
1062PrintS(
"full resolution:\n");
1063for (
int ti=1;ti<=*
length;ti++)
1064{
1066}
1067#endif
1068#ifdef SHOW_CRIT
1069Print(
"Criterion %d times applied\n",crit);
1070Print(
"Criterion1 %d times applied\n",crit1);
1071Print(
"%d superfluous pairs\n",spfl);
1072Print(
"%d pairs considered\n",cons_pairs);
1073Print(
"Criterion fails %d times\n",crit_fails);
1074crit = 0;
1075crit1 = 0;
1076spfl = 0;
1077cons_pairs = 0;
1078crit_fails = 0;
1079#endif
1083 if (origR != syzstr->
syRing)
1085 else
1088 return syzstr;
1089}
BOOLEAN idIs0(ideal h)
returns true if h is the zero ideal
static BOOLEAN length(leftv result, leftv arg)
void kBucketDestroy(kBucket_pt *bucket_pt)
kBucket_pt kBucketCreate(const ring bucket_ring)
Creation/Destruction of buckets.
void rChangeCurrRing(ring r)
poly prCopyR(poly p, ring src_r, ring dest_r)
ring rAssure_dp_C(const ring r)
long id_RankFreeModule(ideal s, ring lmRing, ring tailRing)
return the maximal component number found in any polynomial in s
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size
static int idElem(const ideal F)
number of non-zero polys in F
static void syCreateNewPairs_Hilb(syStrategy syzstr, int index, int actdeg)
static void syRedGenerOfCurrDeg_Hilb(syStrategy syzstr, int deg, int *maxindex, int *maxdeg)
void sySetNewHilb(syStrategy syzstr, int toSub, int index, int actord)
static void syReOrdResult_Hilb(syStrategy syzstr, int maxindex, int maxdeg)
static void syRedNextPairs_Hilb(SSet nextPairs, syStrategy syzstr, int howmuch, int index, int actord, int *toSub, int *maxindex, int *maxdeg)
void syCompactifyPairSet(SSet sPairs, int sPlength, int first)
SRes syInitRes(ideal arg, int *length, intvec *Tl, intvec *cw=NULL)
EXTERN_VAR long * currShiftedComponents
EXTERN_VAR int * currcomponents
SSet syChosePairs(syStrategy syzstr, int *index, int *howmuch, int *actdeg)
long ** ShiftedComponents
int syInitSyzMod(syStrategy syzstr, int index, int init=17)