Loading...
Searching...
No Matches
skStrategy Class Reference

`#include <kutil.h>`

## Public Member Functions

KINLINE poly | kNoetherTail ()
| skStrategy ()
| ~skStrategy ()
KINLINE TObject * | S_2_T (int i)
KINLINE TObject * | s_2_t (int i)
Public Member Functions inherited from omallocClass
void * | operator new (size_t size) throw (std::bad_alloc)
void | operator delete (void *block) throw ()
void * | operator new[] (size_t size) throw (std::bad_alloc)
void | operator delete[] (void *block) throw ()
void * | operator new (size_t size, const std::nothrow_t &) throw ()
void * | operator new[] (size_t size, const std::nothrow_t &) throw ()

## Data Fields

kStrategy | next
int(* | red )(LObject *L, kStrategy strat)
int(* | red2 )(LObject *L, kStrategy strat)
void(* | initEcart )(TObject *L)
int(* | posInT )(const TSet T, const int tl, LObject &h)
int(* | posInL )(const LSet set, const int length, LObject *L, const kStrategy strat)
void(* | enterS )(LObject *h, int pos, kStrategy strat, int atR)
void(* | initEcartPair )(LObject *h, poly f, poly g, int ecartF, int ecartG)
int(* | posInLOld )(const LSet Ls, const int Ll, LObject *Lo, const kStrategy strat)
void(* | enterOnePair )(int i, poly p, int ecart, int isFromQ, kStrategy strat, int atR)
void(* | chainCrit )(poly p, int ecart, kStrategy strat)
BOOLEAN(* | syzCrit )(poly sig, unsigned long not_sevSig, kStrategy strat)
BOOLEAN(* | rewCrit1 )(poly sig, unsigned long not_sevSig, poly lm, kStrategy strat, int start)
BOOLEAN(* | rewCrit2 )(poly sig, unsigned long not_sevSig, poly lm, kStrategy strat, int start)
BOOLEAN(* | rewCrit3 )(poly sig, unsigned long not_sevSig, poly lm, kStrategy strat, int start)
pFDegProc | pOrigFDeg
pLDegProc | pOrigLDeg
pFDegProc | pOrigFDeg_TailRing
pLDegProc | pOrigLDeg_TailRing
s_poly_proc_t | s_poly
LObject | P
ideal | Shdl
ideal | D
ideal | M
polyset | S
polyset | syz
polyset | sig
intset | ecartS
intset | fromS
intset | syzIdx
unsigned | sbaOrder
int | currIdx
int | max_lower_index
intset | lenS
wlen_set | lenSw
intset | fromQ
unsigned long * | sevS
unsigned long * | sevSyz
unsigned long * | sevSig
unsigned long * | sevT
TSet | T
LSet | L
LSet | B
poly | kNoether
poly | t_kNoether
BOOLEAN * | NotUsedAxis
BOOLEAN * | pairtest
poly | tail
intvec * | kModW
intvec * | kHomW
pShallowCopyDeleteProc | p_shallow_copy_delete
TObject ** | R
int * | S_2_R
ring | tailRing
omBin | lmBin
omBin | tailBin
int | nr
int | cp
int | c3
int | sl
int | mu
int | syzl
int | syzmax
int | syzidxmax
int | tl
int | tmax
int | Ll
int | Lmax
int | Bl
int | Bmax
int | ak
int | LazyDegree
int | LazyPass
int | syzComp
int | lastAxis
int | newIdeal
int | minim
bool | sigdrop
int | nrsyzcrit
int | nrrewcrit
int | sbaEnterS
int | blockred
int | blockredmax
int | cv
char | rightGB
char | interpt
char | homog
char | z2homog
char | kAllAxis
char | honey
char | sugarCrit
char | Gebauer
char | noTailReduction
char | fromT
char | noetherSet
char | update
char | posInLOldFlag
char | use_buckets
char | LDegLast
char | length_pLength
char | posInLDependsOnLength
char | no_prod_crit
char | redTailChange
char | news
char | newt
char | noClearS
char | completeReduce_retry
char | overflow

## Detailed Description

Definition at line 272 of file kutil.h.

## Constructor & Destructor Documentation

## skStrategy()

skStrategy::skStrategy | ( |  | ) |

Definition at line 11286 of file kutil.cc.

{
memset(this, 0, sizeof(skStrategy));
strat_nr++;
nr=strat_nr;
tailRing = currRing;
P.tailRing = currRing;
tl = -1;
sl = -1;
#ifdef HAVE_LM_BIN
lmBin = omGetStickyBinOfBin(currRing->PolyBin);
#endif
#ifdef HAVE_TAIL_BIN
tailBin = omGetStickyBinOfBin(tailRing->PolyBin);
#endif
pOrigFDeg = currRing->pFDeg;
pOrigLDeg = currRing->pLDeg;
}
skStrategy::tailRing
ring tailRing
Definition kutil.h:342
skStrategy::skStrategy
skStrategy()
Definition kutil.cc:11286
skStrategy::lmBin
omBin lmBin
Definition kutil.h:343
skStrategy::tl
int tl
Definition kutil.h:349
skStrategy::nr
int nr
Definition kutil.h:345
skStrategy::pOrigFDeg
pFDegProc pOrigFDeg
Definition kutil.h:295
skStrategy::tailBin
omBin tailBin
Definition kutil.h:344
skStrategy::P
LObject P
Definition kutil.h:301
skStrategy::sl
int sl
Definition kutil.h:347
skStrategy::pOrigLDeg
pLDegProc pOrigLDeg
Definition kutil.h:296
strat_nr
EXTERN_VAR int strat_nr
Definition kutil.h:182
currRing
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition polys.cc:13
omGetStickyBinOfBin
#define omGetStickyBinOfBin(B)
Definition xalloc.h:247

## ~skStrategy()

skStrategy::~skStrategy | ( |  | ) |

Definition at line 11306 of file kutil.cc.

{
if(kNoether!=NULL) pLmFree(&kNoether);
if (lmBin != NULL)
omMergeStickyBinIntoBin(lmBin, currRing->PolyBin);
if (tailBin != NULL)// && !rField_is_Ring(currRing))
omMergeStickyBinIntoBin(tailBin,
((tailRing != NULL) ? tailRing->PolyBin:
currRing->PolyBin));
if (t_kNoether != NULL)
p_LmFree(t_kNoether, tailRing);
if (currRing != tailRing)
rKillModifiedRing(tailRing);
pRestoreDegProcs(currRing,pOrigFDeg, pOrigLDeg);
}
skStrategy::t_kNoether
poly t_kNoether
Definition kutil.h:329
skStrategy::kNoether
poly kNoether
Definition kutil.h:328
NULL
#define NULL
Definition omList.c:12
pRestoreDegProcs
void pRestoreDegProcs(ring r, pFDegProc old_FDeg, pLDegProc old_lDeg)
Definition p_polys.cc:3774
p_LmFree
static void p_LmFree(poly p, ring)
Definition p_polys.h:685
pLmFree
static void pLmFree(poly p)
frees the space of the monomial m, assumes m != NULL coef is not freed, m is not advanced
Definition polys.h:71
rKillModifiedRing
void rKillModifiedRing(ring r)
Definition ring.cc:3119
omMergeStickyBinIntoBin
#define omMergeStickyBinIntoBin(A, B)
Definition xalloc.h:275

## Member Function Documentation

## kNoetherTail()

KINLINE poly skStrategy::kNoetherTail | ( |  | ) |

Definition at line 66 of file kInline.h.

{
if (tailRing == currRing)
return kNoether;
else
{
assume((kNoether == NULL && t_kNoether == NULL) ||
(kNoether != NULL && t_kNoether != NULL));
return t_kNoether;
}
}
assume
#define assume(x)
Definition mod2.h:389

## S_2_T()

KINLINE TObject * skStrategy::S_2_T | ( | int | i | ) |

Definition at line 38 of file kInline.h.

{
assume(i>= 0 && i<=sl);
assume(S_2_R[i] >= 0 && S_2_R[i] <= tl);
TObject* TT = R[S_2_R[i]];
assume(TT != NULL && TT->p == S[i]);
return TT;
}
i
int i
Definition cfEzgcd.cc:132
skStrategy::S_2_R
int * S_2_R
Definition kutil.h:341
skStrategy::S
polyset S
Definition kutil.h:305
skStrategy::R
TObject ** R
Definition kutil.h:339
TObject
class sTObject TObject
Definition kutil.h:58

## s_2_t()

KINLINE TObject * skStrategy::s_2_t | ( | int | i | ) |

Definition at line 47 of file kInline.h.

{
if (i >= 0 && i <= sl)
{
int sri= S_2_R[i];
if ((sri >= 0) && (sri <= tl))
{
TObject* t = R[sri];
if ((t != NULL) && (t->p == S[i]))
return t;
}
// last but not least, try kFindInT
sri = kFindInT(S[i], T, tl);
if (sri >= 0)
return &(T[sri]);
}
return NULL;
}
skStrategy::T
TSet T
Definition kutil.h:325
kFindInT
int kFindInT(poly p, TSet T, int tlength)
returns index of p in TSet, or -1 if not found
Definition kutil.cc:703

## Field Documentation

## ak

int skStrategy::ak

Definition at line 352 of file kutil.h.

## B

LSet skStrategy::B

Definition at line 327 of file kutil.h.

## Bl

int skStrategy::Bl

Definition at line 351 of file kutil.h.

## blockred

int skStrategy::blockred

Definition at line 362 of file kutil.h.

## blockredmax

int skStrategy::blockredmax

Definition at line 363 of file kutil.h.

## Bmax

int skStrategy::Bmax

Definition at line 351 of file kutil.h.

## c3

int skStrategy::c3

Definition at line 346 of file kutil.h.

## chainCrit

void(* skStrategy::chainCrit) (poly p, int ecart, kStrategy strat)

Definition at line 290 of file kutil.h.

## completeReduce_retry

char skStrategy::completeReduce_retry

Definition at line 400 of file kutil.h.

## cp

int skStrategy::cp

Definition at line 346 of file kutil.h.

## currIdx

int skStrategy::currIdx

Definition at line 316 of file kutil.h.

## cv

int skStrategy::cv

Definition at line 365 of file kutil.h.

## D

ideal skStrategy::D

Definition at line 303 of file kutil.h.

## ecartS

intset skStrategy::ecartS

Definition at line 308 of file kutil.h.

## enterOnePair

void(* skStrategy::enterOnePair) (int i, poly p, int ecart, int isFromQ, kStrategy strat, int atR)

Definition at line 289 of file kutil.h.

## enterS

void(* skStrategy::enterS) (LObject *h, int pos, kStrategy strat, int atR)

Definition at line 285 of file kutil.h.

## fromQ

intset skStrategy::fromQ

Definition at line 320 of file kutil.h.

## fromS

intset skStrategy::fromS

Definition at line 309 of file kutil.h.

## fromT

char skStrategy::fromT

Definition at line 376 of file kutil.h.

## Gebauer

char skStrategy::Gebauer

Definition at line 375 of file kutil.h.

## homog

char skStrategy::homog

Definition at line 369 of file kutil.h.

## honey

char skStrategy::honey

Definition at line 374 of file kutil.h.

## initEcart

void(* skStrategy::initEcart) (TObject *L)

Definition at line 281 of file kutil.h.

## initEcartPair

void(* skStrategy::initEcartPair) (LObject *h, poly f, poly g, int ecartF, int ecartG)

Definition at line 286 of file kutil.h.

## interpt

char skStrategy::interpt

Definition at line 368 of file kutil.h.

## kAllAxis

char skStrategy::kAllAxis

Definition at line 373 of file kutil.h.

## kHomW

intvec* skStrategy::kHomW

Definition at line 335 of file kutil.h.

## kModW

intvec* skStrategy::kModW

Definition at line 334 of file kutil.h.

## kNoether

poly skStrategy::kNoether

Definition at line 328 of file kutil.h.

## L

LSet skStrategy::L

Definition at line 326 of file kutil.h.

## lastAxis

int skStrategy::lastAxis

Definition at line 354 of file kutil.h.

## LazyDegree

int skStrategy::LazyDegree

Definition at line 352 of file kutil.h.

## LazyPass

int skStrategy::LazyPass

Definition at line 352 of file kutil.h.

## LDegLast

char skStrategy::LDegLast

Definition at line 382 of file kutil.h.

## length_pLength

char skStrategy::length_pLength

Definition at line 384 of file kutil.h.

## lenS

intset skStrategy::lenS

Definition at line 318 of file kutil.h.

## lenSw

wlen_set skStrategy::lenSw

Definition at line 319 of file kutil.h.

## Ll

int skStrategy::Ll

Definition at line 350 of file kutil.h.

## Lmax

int skStrategy::Lmax

Definition at line 350 of file kutil.h.

## lmBin

omBin skStrategy::lmBin

Definition at line 343 of file kutil.h.

## M

ideal skStrategy::M

Definition at line 304 of file kutil.h.

## max_lower_index

int skStrategy::max_lower_index

Definition at line 317 of file kutil.h.

## minim

int skStrategy::minim

Definition at line 356 of file kutil.h.

## mu

int skStrategy::mu

Definition at line 347 of file kutil.h.

## newIdeal

int skStrategy::newIdeal

Definition at line 355 of file kutil.h.

## news

char skStrategy::news

Definition at line 397 of file kutil.h.

## newt

char skStrategy::newt

Definition at line 398 of file kutil.h.

## next

kStrategy skStrategy::next

Definition at line 278 of file kutil.h.

## no_prod_crit

char skStrategy::no_prod_crit

Definition at line 391 of file kutil.h.

## noClearS

char skStrategy::noClearS

Definition at line 399 of file kutil.h.

## noetherSet

char skStrategy::noetherSet

Definition at line 377 of file kutil.h.

## noTailReduction

char skStrategy::noTailReduction

Definition at line 375 of file kutil.h.

## NotUsedAxis

BOOLEAN* skStrategy::NotUsedAxis

Definition at line 331 of file kutil.h.

## nr

int skStrategy::nr

Definition at line 345 of file kutil.h.

## nrrewcrit

int skStrategy::nrrewcrit

Definition at line 359 of file kutil.h.

## nrsyzcrit

int skStrategy::nrsyzcrit

Definition at line 358 of file kutil.h.

## overflow

char skStrategy::overflow

Definition at line 401 of file kutil.h.

## P

LObject skStrategy::P

Definition at line 301 of file kutil.h.

## p_shallow_copy_delete

pShallowCopyDeleteProc skStrategy::p_shallow_copy_delete

Definition at line 337 of file kutil.h.

## pairtest

BOOLEAN* skStrategy::pairtest

Definition at line 332 of file kutil.h.

## pOrigFDeg

pFDegProc skStrategy::pOrigFDeg

Definition at line 295 of file kutil.h.

## pOrigFDeg_TailRing

pFDegProc skStrategy::pOrigFDeg_TailRing

Definition at line 297 of file kutil.h.

## pOrigLDeg

pLDegProc skStrategy::pOrigLDeg

Definition at line 296 of file kutil.h.

## pOrigLDeg_TailRing

pLDegProc skStrategy::pOrigLDeg_TailRing

Definition at line 298 of file kutil.h.

## posInL

int(* skStrategy::posInL) (const LSet set, const int length, LObject *L, const kStrategy strat)

Definition at line 283 of file kutil.h.

## posInLDependsOnLength

char skStrategy::posInLDependsOnLength

Definition at line 386 of file kutil.h.

## posInLOld

int(* skStrategy::posInLOld) (const LSet Ls, const int Ll, LObject *Lo, const kStrategy strat)

Definition at line 287 of file kutil.h.

## posInLOldFlag

char skStrategy::posInLOldFlag

Definition at line 379 of file kutil.h.

## posInT

int(* skStrategy::posInT) (const TSet T, const int tl, LObject &h)

Definition at line 282 of file kutil.h.

## R

TObject** skStrategy::R

Definition at line 339 of file kutil.h.

## red

int(* skStrategy::red) (LObject *L, kStrategy strat)

Definition at line 279 of file kutil.h.

## red2

int(* skStrategy::red2) (LObject *L, kStrategy strat)

Definition at line 280 of file kutil.h.

## redTailChange

char skStrategy::redTailChange

Definition at line 396 of file kutil.h.

## rewCrit1

BOOLEAN(* skStrategy::rewCrit1) (poly sig, unsigned long not_sevSig, poly lm, kStrategy strat, int start)

Definition at line 292 of file kutil.h.

## rewCrit2

BOOLEAN(* skStrategy::rewCrit2) (poly sig, unsigned long not_sevSig, poly lm, kStrategy strat, int start)

Definition at line 293 of file kutil.h.

## rewCrit3

BOOLEAN(* skStrategy::rewCrit3) (poly sig, unsigned long not_sevSig, poly lm, kStrategy strat, int start)

Definition at line 294 of file kutil.h.

## rightGB

char skStrategy::rightGB

Definition at line 366 of file kutil.h.

## S

polyset skStrategy::S

Definition at line 305 of file kutil.h.

## S_2_R

int* skStrategy::S_2_R

Definition at line 341 of file kutil.h.

## s_poly

s_poly_proc_t skStrategy::s_poly

Definition at line 299 of file kutil.h.

## sbaEnterS

int skStrategy::sbaEnterS

Definition at line 360 of file kutil.h.

## sbaOrder

unsigned skStrategy::sbaOrder

Definition at line 315 of file kutil.h.

## sevS

unsigned long* skStrategy::sevS

Definition at line 321 of file kutil.h.

## sevSig

unsigned long* skStrategy::sevSig

Definition at line 323 of file kutil.h.

## sevSyz

unsigned long* skStrategy::sevSyz

Definition at line 322 of file kutil.h.

## sevT

unsigned long* skStrategy::sevT

Definition at line 324 of file kutil.h.

## Shdl

ideal skStrategy::Shdl

Definition at line 302 of file kutil.h.

## sig

polyset skStrategy::sig

Definition at line 307 of file kutil.h.

## sigdrop

bool skStrategy::sigdrop

Definition at line 357 of file kutil.h.

## sl

int skStrategy::sl

Definition at line 347 of file kutil.h.

## sugarCrit

char skStrategy::sugarCrit

Definition at line 374 of file kutil.h.

## syz

polyset skStrategy::syz

Definition at line 306 of file kutil.h.

## syzComp

int skStrategy::syzComp

Definition at line 353 of file kutil.h.

## syzCrit

BOOLEAN(* skStrategy::syzCrit) (poly sig, unsigned long not_sevSig, kStrategy strat)

Definition at line 291 of file kutil.h.

## syzIdx

intset skStrategy::syzIdx

Definition at line 312 of file kutil.h.

## syzidxmax

int skStrategy::syzidxmax

Definition at line 348 of file kutil.h.

## syzl

int skStrategy::syzl

Definition at line 348 of file kutil.h.

## syzmax

int skStrategy::syzmax

Definition at line 348 of file kutil.h.

## T

TSet skStrategy::T

Definition at line 325 of file kutil.h.

## t_kNoether

poly skStrategy::t_kNoether

Definition at line 329 of file kutil.h.

## tail

poly skStrategy::tail

Definition at line 333 of file kutil.h.

## tailBin

omBin skStrategy::tailBin

Definition at line 344 of file kutil.h.

## tailRing

ring skStrategy::tailRing

Definition at line 342 of file kutil.h.

## tl

int skStrategy::tl

Definition at line 349 of file kutil.h.

## tmax

int skStrategy::tmax

Definition at line 349 of file kutil.h.

## update

char skStrategy::update

Definition at line 378 of file kutil.h.

## use_buckets

char skStrategy::use_buckets

Definition at line 380 of file kutil.h.

## z2homog

char skStrategy::z2homog

Definition at line 371 of file kutil.h.

The documentation for this class was generated from the following files:

- kernel/GBEngine/kutil.h
- kernel/GBEngine/kInline.h
- kernel/GBEngine/kutil.cc