![]() |
My Project
debian-1:4.1.1-p2+ds-4build4
|
Computing syzygies after Schreyer. More...
#include <syzextra.h>
Public Member Functions | |
SchreyerSyzygyComputation (const ideal idLeads, const ideal idTails, const SchreyerSyzygyComputationFlags setting) | |
Construct a global object for given input data (separated into leads & tails) More... | |
SchreyerSyzygyComputation (const ideal idLeads, const ideal idTails, const ideal syzLeads, const SchreyerSyzygyComputationFlags setting) | |
Construct a global object for given input data (separated into leads & tails) More... | |
~SchreyerSyzygyComputation () | |
Destructor should not destruct the resulting m_syzLeads, m_syzTails. More... | |
void | SetUpTailTerms () |
Convert the given ideal of tails into the internal representation (with reducers!) Preprocess m_idTails as well...? More... | |
void | PrintStats () const |
print statistics about the used heuristics More... | |
void | ReadOffResult (ideal &syzL, ideal &syzT) |
Read off the results while detaching them from this object NOTE: no copy! More... | |
void | ComputeSyzygy () |
The main driver function: computes. More... | |
void | ComputeLeadingSyzygyTerms (bool bComputeSecondTerms=true) |
Computes Syz(leads) or only LEAD of it. The result is stored into m_syzLeads. More... | |
poly | SchreyerSyzygyNF (const poly syz_lead, poly syz_2=NULL) const |
Main HybridNF == 1: poly reduce + LOT + LCM? More... | |
poly | TraverseNF (const poly syz_lead, const poly syz_2=NULL) const |
poly | TraverseTail (poly multiplier, const int tail) const |
High level caching function!!! More... | |
poly | TraverseTail (poly multiplier, poly tail) const |
called only from above and from outside (for testing) More... | |
poly | ReduceTerm (poly multiplier, poly term4reduction, poly syztermCheck) const |
TODO: save shortcut (syz: |-.->) LM(m) * "t" -> ? ??? More... | |
poly | ComputeImage (poly multiplier, const int tail) const |
low level computation... More... | |
poly | _FindReducer (const poly product, const poly syzterm) const |
just for testing via the wrapper below More... | |
![]() | |
SchreyerSyzygyComputationFlags (idhdl rootRingHdl) | |
SchreyerSyzygyComputationFlags (const SchreyerSyzygyComputationFlags &attr) | |
void | nextSyzygyLayer () const |
Protected Member Functions | |
ideal | Compute1LeadingSyzygyTerms () |
just leading terms More... | |
ideal | Compute2LeadingSyzygyTerms () |
leading + second terms More... | |
Private Member Functions | |
void | CleanUp () |
Clean up all the accumulated data. More... | |
Private Attributes | |
const ideal | m_idLeads |
input leading terms More... | |
const ideal | m_idTails |
input tails More... | |
ideal | m_syzLeads |
output (syzygy) leading terms (+2nd terms?) More... | |
ideal | m_syzTails |
output (syzygy) tails More... | |
ideal | m_LS |
leading syzygy terms used for reducing syzygy tails More... | |
const CLCM | m_lcm |
Bitmask for variables occuring in leading terms. More... | |
const CReducerFinder | m_div |
Divisor finder. More... | |
CReducerFinder | m_checker |
for checking tail-terms and makeing them irreducible (wrt m_LS!) More... | |
TCache | m_cache |
SBucketFactory | m_sum_bucket_factory |
used for simple summing up More... | |
kBucket_pt | m_spoly_bucket |
for S-Polynomial reductions More... | |
unsigned long | m_stat [9] |
Statistics: 0..3: as in SetUpTailTerms()::PreProcessTerm() // TODO!!?? 4: number of terms discarded due to LOT heuristics 5: number of terms discarded due to LCM heuristics 6, 7: lookups without & with rescale, 8: stores. More... | |
Friends | |
class | CLCM |
class | CReducerFinder |
Additional Inherited Members | |
![]() | |
const int | OPT__DEBUG |
output all the intermediate states More... | |
const int | OPT__LEAD2SYZ |
? More... | |
const int | OPT__TAILREDSYZ |
Reduce syzygy tails wrt the leading syzygy terms. More... | |
const int | OPT__HYBRIDNF |
Use the usual NF's S-poly reduction while dropping lower order terms 2 means - smart selection! More... | |
const int | OPT__IGNORETAILS |
ignore tails and compute the pure Schreyer frame More... | |
int | OPT__SYZNUMBER |
Syzygy level (within a resolution) More... | |
const int | OPT__TREEOUTPUT |
output lifting tree More... | |
const int | OPT__SYZCHECK |
CheckSyzygyProperty: TODO. More... | |
const bool | OPT__PROT |
TEST_OPT_PROT. More... | |
const int | OPT__NOCACHING |
no caching/stores/lookups More... | |
const ring | m_rBaseRing |
global base ring More... | |
Computing syzygies after Schreyer.
Storing/accumulating data during the computation requires some global object, like this class. Ideally the above global functions should not be used in favour of this class.
Definition at line 347 of file syzextra.h.
|
inline |
Construct a global object for given input data (separated into leads & tails)
Definition at line 354 of file syzextra.h.
|
inline |
Construct a global object for given input data (separated into leads & tails)
Definition at line 367 of file syzextra.h.
|
inline |
Destructor should not destruct the resulting m_syzLeads, m_syzTails.
Definition at line 388 of file syzextra.h.
|
inline |
just for testing via the wrapper below
Definition at line 443 of file syzextra.h.
|
private |
Clean up all the accumulated data.
Definition at line 363 of file syzextra.cc.
|
protected |
just leading terms
Definition at line 544 of file syzextra.cc.
|
protected |
leading + second terms
Definition at line 634 of file syzextra.cc.
poly SchreyerSyzygyComputation::ComputeImage | ( | poly | multiplier, |
const int | tail | ||
) | const |
low level computation...
Definition at line 1238 of file syzextra.cc.
void SchreyerSyzygyComputation::ComputeLeadingSyzygyTerms | ( | bool | bComputeSecondTerms = true | ) |
Computes Syz(leads) or only LEAD of it. The result is stored into m_syzLeads.
Definition at line 976 of file syzextra.cc.
void SchreyerSyzygyComputation::ComputeSyzygy | ( | ) |
The main driver function: computes.
Definition at line 806 of file syzextra.cc.
void SchreyerSyzygyComputation::PrintStats | ( | ) | const |
print statistics about the used heuristics
Definition at line 533 of file syzextra.cc.
|
inline |
Read off the results while detaching them from this object NOTE: no copy!
Definition at line 399 of file syzextra.h.
poly SchreyerSyzygyComputation::ReduceTerm | ( | poly | multiplier, |
poly | term4reduction, | ||
poly | syztermCheck | ||
) | const |
TODO: save shortcut (syz: |-.->) LM(m) * "t" -> ? ???
Definition at line 1353 of file syzextra.cc.
Main HybridNF == 1: poly reduce + LOT + LCM?
Definition at line 1013 of file syzextra.cc.
void SchreyerSyzygyComputation::SetUpTailTerms | ( | ) |
Convert the given ideal of tails into the internal representation (with reducers!) Preprocess m_idTails as well...?
Definition at line 474 of file syzextra.cc.
Definition at line 765 of file syzextra.cc.
poly SchreyerSyzygyComputation::TraverseTail | ( | poly | multiplier, |
const int | tail | ||
) | const |
High level caching function!!!
Definition at line 1144 of file syzextra.cc.
poly SchreyerSyzygyComputation::TraverseTail | ( | poly | multiplier, |
poly | tail | ||
) | const |
called only from above and from outside (for testing)
Definition at line 1261 of file syzextra.cc.
|
friend |
Definition at line 349 of file syzextra.h.
|
friend |
Definition at line 350 of file syzextra.h.
|
mutableprivate |
Definition at line 483 of file syzextra.h.
|
private |
for checking tail-terms and makeing them irreducible (wrt m_LS!)
Definition at line 481 of file syzextra.h.
|
private |
Divisor finder.
Definition at line 478 of file syzextra.h.
|
private |
input leading terms
Definition at line 460 of file syzextra.h.
|
private |
input tails
Definition at line 463 of file syzextra.h.
Bitmask for variables occuring in leading terms.
Definition at line 475 of file syzextra.h.
|
private |
leading syzygy terms used for reducing syzygy tails
Definition at line 471 of file syzextra.h.
|
mutableprivate |
for S-Polynomial reductions
Definition at line 489 of file syzextra.h.
|
mutableprivate |
Statistics: 0..3: as in SetUpTailTerms()::PreProcessTerm() // TODO!!?? 4: number of terms discarded due to LOT heuristics 5: number of terms discarded due to LCM heuristics 6, 7: lookups without & with rescale, 8: stores.
Definition at line 497 of file syzextra.h.
|
mutableprivate |
used for simple summing up
Definition at line 486 of file syzextra.h.
|
private |
output (syzygy) leading terms (+2nd terms?)
Definition at line 466 of file syzextra.h.
|
private |
output (syzygy) tails
Definition at line 469 of file syzextra.h.