MCPcopy Create free account
hub / github.com/Singular/Singular / kStdShift

Function kStdShift

kernel/GBEngine/kstd1.cc:2967–3065  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2965
2966#ifdef HAVE_SHIFTBBA
2967ideal kStdShift(ideal F, ideal Q, tHomog h,intvec ** w, intvec *hilb,int syzComp,
2968 int newIdeal, intvec *vw, BOOLEAN rightGB)
2969{
2970 assume(rIsLPRing(currRing));
2971 assume(idIsInV(F));
2972 ideal r;
2973 BOOLEAN b=currRing->pLexOrder,toReset=FALSE;
2974 BOOLEAN delete_w=(w==NULL);
2975 kStrategy strat=new skStrategy;
2976
2977 strat->rightGB = rightGB;
2978
2979 if(!TEST_OPT_RETURN_SB)
2980 strat->syzComp = syzComp;
2981 if (TEST_OPT_SB_1)
2982 if(!rField_is_Ring(currRing))
2983 strat->newIdeal = newIdeal;
2984 if (rField_has_simple_inverse(currRing))
2985 strat->LazyPass=20;
2986 else
2987 strat->LazyPass=2;
2988 strat->LazyDegree = 1;
2989 strat->ak = id_RankFreeModule(F,currRing);
2990 strat->kModW=kModW=NULL;
2991 strat->kHomW=kHomW=NULL;
2992 if (vw != NULL)
2993 {
2994 currRing->pLexOrder=FALSE;
2995 strat->kHomW=kHomW=vw;
2996 strat->pOrigFDeg = currRing->pFDeg;
2997 strat->pOrigLDeg = currRing->pLDeg;
2998 pSetDegProcs(currRing,kHomModDeg);
2999 toReset = TRUE;
3000 }
3001 if (h==testHomog)
3002 {
3003 if (strat->ak == 0)
3004 {
3005 h = (tHomog)idHomIdeal(F,Q);
3006 w=NULL;
3007 }
3008 else if (!TEST_OPT_DEGBOUND)
3009 {
3010 if (w!=NULL)
3011 h = (tHomog)idHomModule(F,Q,w);
3012 else
3013 h = (tHomog)idHomIdeal(F,Q);
3014 }
3015 }
3016 currRing->pLexOrder=b;
3017 if (h==isHomog)
3018 {
3019 if (strat->ak > 0 && (w!=NULL) && (*w!=NULL))
3020 {
3021 strat->kModW = kModW = *w;
3022 if (vw == NULL)
3023 {
3024 strat->pOrigFDeg = currRing->pFDeg;

Callers 2

rightgbFunction · 0.85
kStdFunction · 0.85

Calls 10

rIsLPRingFunction · 0.85
pSetDegProcsFunction · 0.85
idHomIdealFunction · 0.85
idHomModuleFunction · 0.85
rHasLocalOrMixedOrderingFunction · 0.85
WerrorSFunction · 0.85
bbaShiftFunction · 0.85
pRestoreDegProcsFunction · 0.85
id_RankFreeModuleFunction · 0.50

Tested by

no test coverage detected