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

Function kNFBound

kernel/GBEngine/kstd1.cc:3281–3321  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3279}
3280
3281poly kNFBound(ideal F, ideal Q, poly p,int bound,int syzComp, int lazyReduce)
3282{
3283 if (p==NULL)
3284 return NULL;
3285
3286 poly pp = p;
3287
3288#ifdef HAVE_PLURAL
3289 if(rIsSCA(currRing))
3290 {
3291 const unsigned int m_iFirstAltVar = scaFirstAltVar(currRing);
3292 const unsigned int m_iLastAltVar = scaLastAltVar(currRing);
3293 pp = p_KillSquares(pp, m_iFirstAltVar, m_iLastAltVar, currRing);
3294
3295 if(Q == currRing->qideal)
3296 Q = SCAQuotient(currRing);
3297 }
3298#endif
3299
3300 if ((idIs0(F))&&(Q==NULL))
3301 {
3302#ifdef HAVE_PLURAL
3303 if(p != pp)
3304 return pp;
3305#endif
3306 return pCopy(p); /*F+Q=0*/
3307 }
3308
3309 kStrategy strat=new skStrategy;
3310 strat->syzComp = syzComp;
3311 strat->ak = si_max(id_RankFreeModule(F,currRing),pMaxComp(p));
3312 poly res;
3313 res=kNF2Bound(F,Q,pp,bound,strat,lazyReduce);
3314 delete(strat);
3315
3316#ifdef HAVE_PLURAL
3317 if(pp != p)
3318 p_Delete(&pp, currRing);
3319#endif
3320 return res;
3321}
3322
3323ideal kNF(ideal F, ideal Q, ideal p,int syzComp,int lazyReduce)
3324{

Callers 1

jjSYSTEMFunction · 0.85

Calls 15

rIsSCAFunction · 0.85
scaFirstAltVarFunction · 0.85
scaLastAltVarFunction · 0.85
p_KillSquaresFunction · 0.85
SCAQuotientFunction · 0.85
idIs0Function · 0.85
si_maxFunction · 0.85
kNF2BoundFunction · 0.85
p_DeleteFunction · 0.85
idInitFunction · 0.85
id_KillSquaresFunction · 0.85
idCopyFunction · 0.85

Tested by

no test coverage detected