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

Function kStd

kernel/GBEngine/kstd1.cc:2471–2671  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2469}
2470
2471ideal kStd(ideal F, ideal Q, tHomog h,intvec ** w, intvec *hilb,int syzComp,
2472 int newIdeal, intvec *vw, s_poly_proc_t sp)
2473{
2474 if(idIs0(F))
2475 return idInit(1,F->rank);
2476
2477 if((Q!=NULL)&&(idIs0(Q))) Q=NULL;
2478#ifdef HAVE_SHIFTBBA
2479 if(rIsLPRing(currRing)) return kStdShift(F, Q, h, w, hilb, syzComp, newIdeal, vw, FALSE);
2480#endif
2481
2482 /* test HC precomputation*/
2483 poly save_noether=currRing->ppNoether;
2484 int ak = id_RankFreeModule(F,currRing);
2485 if((ak==0)
2486 && (h!=isHomog)
2487 && (w==NULL)
2488 && (hilb==NULL)
2489 && (vw==NULL)
2490 && (newIdeal==0)
2491 && (sp==NULL)
2492 && rOrd_is_ds(currRing)
2493 && rField_is_Q (currRing)
2494 && !rIsPluralRing(currRing))
2495 currRing->ppNoether=kTryHC(F,Q);
2496
2497 ideal r;
2498 BOOLEAN b=currRing->pLexOrder,toReset=FALSE;
2499 BOOLEAN delete_w=(w==NULL);
2500 kStrategy strat=new skStrategy;
2501
2502 strat->s_poly=sp;
2503 if(!TEST_OPT_RETURN_SB)
2504 strat->syzComp = syzComp;
2505 if (TEST_OPT_SB_1
2506 &&(!rField_is_Ring(currRing))
2507 )
2508 strat->newIdeal = newIdeal;
2509 if (rField_has_simple_inverse(currRing))
2510 strat->LazyPass=20;
2511 else
2512 strat->LazyPass=2;
2513 strat->LazyDegree = 1;
2514 strat->ak = ak;
2515 strat->kModW=kModW=NULL;
2516 strat->kHomW=kHomW=NULL;
2517 if (vw != NULL)
2518 {
2519 currRing->pLexOrder=FALSE;
2520 strat->kHomW=kHomW=vw;
2521 strat->pOrigFDeg = currRing->pFDeg;
2522 strat->pOrigLDeg = currRing->pLDeg;
2523 pSetDegProcs(currRing,kHomModDeg);
2524 toReset = TRUE;
2525 }
2526 if (h==testHomog)
2527 {
2528 if (strat->ak == 0)

Callers 15

jjSTD_HILBFunction · 0.85
jjSTD_1Function · 0.85
jjSTDFunction · 0.85
jjRIGHTSTDFunction · 0.85
jjSTD_HILB_WFunction · 0.85
jjSTD_HILB_WPFunction · 0.85
MstdCCFunction · 0.85
MstdhomCCFunction · 0.85
LastGBFunction · 0.85
Rec_LastGBFunction · 0.85
REC_GB_MwalkFunction · 0.85
MwalkAltFunction · 0.85

Calls 15

idIs0Function · 0.85
idInitFunction · 0.85
rIsLPRingFunction · 0.85
kStdShiftFunction · 0.85
rOrd_is_dsFunction · 0.85
rField_is_QFunction · 0.85
rIsPluralRingFunction · 0.85
kTryHCFunction · 0.85
pSetDegProcsFunction · 0.85
idHomIdealFunction · 0.85
idHomModuleFunction · 0.85

Tested by 2

TestGBEngineFunction · 0.68
TestGBEngineFunction · 0.68