Loading...
Searching...
No Matches
red_object Class Reference

`#include <tgb_internal.h>`

## Public Member Functions

void | flatten ()
void | validate ()
void | adjust_coefs (number c_r, number c_ac_r)
wlen_type | guess_quality (slimgb_alg *c)
int | clear_to_poly ()
void | canonicalize ()

## Data Fields

kBucket_pt | bucket
poly | p
unsigned long | sev
wlen_type | initial_quality

## Detailed Description

Definition at line 291 of file tgb_internal.h.

## Member Function Documentation

## adjust_coefs()

void red_object::adjust_coefs | ( | number | c_r,
|  | number | c_ac_r )

## canonicalize()

void red_object::canonicalize | ( |  | ) |

Definition at line 835 of file tgb.cc.

{
kBucketCanonicalize (bucket);
}
red_object::bucket
kBucket_pt bucket
Definition tgb_internal.h:294
kBucketCanonicalize
int kBucketCanonicalize(kBucket_pt bucket)
Canonicalizes Bpoly, i.e. converts polys of buckets into one poly in one bucket: Returns number of bu...

## clear_to_poly()

int red_object::clear_to_poly | ( |  | ) |

Definition at line 4885 of file tgb.cc.

{
flatten ();
int l;
kBucketClear (bucket, &p, &l);
return l;
}
l
int l
Definition cfEzgcd.cc:100
red_object::flatten
void flatten()
Definition tgb.cc:4873
red_object::p
poly p
Definition tgb_internal.h:295
kBucketClear
void kBucketClear(kBucket_pt bucket, poly *p, int *length)
Definition kbuckets.cc:521

## flatten()

void red_object::flatten | ( |  | ) |

Definition at line 4873 of file tgb.cc.

{
assume (p == kBucketGetLm (bucket));
}
kBucketGetLm
const poly kBucketGetLm(kBucket_pt bucket)
Definition kbuckets.cc:506
assume
#define assume(x)
Definition mod2.h:389

## guess_quality()

wlen_type red_object::guess_quality | ( | slimgb_alg * | c | ) |

Definition at line 556 of file tgb.cc.

{
//works at the moment only for lenvar 1, because in different
//case, you have to look on coefs
wlen_type s = 0;
if(c->isDifficultField)
{
//s=kSBucketLength(bucket,this->p);
if(c->eliminationProblem)
{
wlen_type cs;
number coef;
coef = pGetCoeff (kBucketGetLm (bucket));
//c=nSize(pGetCoeff(kBucketGetLm(b)));
//c=nSize(pGetCoeff(lm));
if(rField_is_Q (currRing))
{
cs = nlQlogSize (coef, currRing->cf);
}
else
cs = nSize (coef);
#ifdef HAVE_COEF_BUCKETS
if(bucket->coef[0] != NULL)
{
if(rField_is_Q (currRing))
{
int modifier = nlQlogSize (pGetCoeff (bucket->coef[0]), currRing->cf);
cs += modifier;
}
else
{
int modifier = nSize (pGetCoeff (bucket->coef[0]));
cs *= modifier;
}
}
#endif
//FIXME:not quadratic
wlen_type erg = kEBucketLength (this->bucket, this->p, c);
//erg*=cs;//for quadratic
erg *= cs;
if(TEST_V_COEFSTRAT)
erg *= cs;
//return cs*kEBucketLength(this->bucket,this->p,c);
return erg;
}
s = kSBucketLength (bucket, NULL);
}
else
{
if(c->eliminationProblem)
//if (false)
s = kEBucketLength (this->bucket, this->p, c);
else
s = bucket_guess (bucket);
}
return s;
}
slimgb_alg::isDifficultField
BOOLEAN isDifficultField
Definition tgb_internal.h:261
slimgb_alg::eliminationProblem
BOOLEAN eliminationProblem
Definition tgb_internal.h:265
s
const CanonicalForm int s
Definition facAbsFact.cc:51
wlen_type
int64 wlen_type
Definition kutil.h:55
nlQlogSize
static FORCE_INLINE int nlQlogSize(number n, const coeffs r)
only used by slimgb (tgb.cc)
Definition longrat.h:76
pGetCoeff
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
Definition monomials.h:44
nSize
#define nSize(n)
Definition numbers.h:39
NULL
#define NULL
Definition omList.c:12
TEST_V_COEFSTRAT
#define TEST_V_COEFSTRAT
Definition options.h:142
currRing
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition polys.cc:13
rField_is_Q
static BOOLEAN rField_is_Q(const ring r)
Definition ring.h:512
kEBucketLength
wlen_type kEBucketLength(kBucket *b, poly lm, slimgb_alg *ca)
Definition tgb.cc:471
bucket_guess
static int bucket_guess(kBucket *bucket)
Definition tgb.cc:916
kSBucketLength
wlen_type kSBucketLength(kBucket *b, poly lm=NULL)
TODO CoefBuckets bercksichtigen.
Definition tgb.cc:221

## validate()

void red_object::validate | ( |  | ) |

Definition at line 4878 of file tgb.cc.

{
p = kBucketGetLm (bucket);
if(p)
sev = pGetShortExpVector (p);
}
red_object::sev
unsigned long sev
Definition tgb_internal.h:296
pGetShortExpVector
#define pGetShortExpVector(a)
returns the "Short Exponent Vector" – used to speed up divisibility tests (see polys-impl....
Definition polys.h:153

## Field Documentation

## bucket

kBucket_pt red_object::bucket

Definition at line 294 of file tgb_internal.h.

## initial_quality

wlen_type red_object::initial_quality

Definition at line 299 of file tgb_internal.h.

## p

poly red_object::p

Definition at line 295 of file tgb_internal.h.

## sev

unsigned long red_object::sev

Definition at line 296 of file tgb_internal.h.

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

- kernel/GBEngine/tgb_internal.h
- kernel/GBEngine/tgb.cc