GBEnv
© 2010 Anna Bigatti
GNU Free Documentation License, Version 1.2
index page
User documentation
This class contains some information needed for the computation of
a GBasis (with Buchberger's algorithm)
At the moment the file contains instead the class GRingInfo
which
was defined in TmpGPoly.H
Maintainer documentation
As one class should do one thing GRingInfo
should split into
GBEnv
and GBMill
(should avoid multiple inheritance)
Partial steps:
- use member function in ctor for common assignments (done)
- transform functions with
GRingInfo
as argument into GRingInfo
member functions (wip)
Good to know:
- reduce.C uses only "env" info
- SPoly creates a GPoly with "env" info, only sugar needs "mill"
- GRingInfo has many fields, completely unused in the basic case (ie
GB for polys). Some are set with a default value which is
different for some "concrete classes" (eg modules)
GBEnv will know
- the SparsePolyRing involved
- the DivMaskRule
- the PPMonoid for LPP
- the ring of coefficients (field or FrFldOfGCDDomain)
- if it represents a module computation
- the "module/ring" embeddings (or GBHom ???)
- ---> inheritance for the module case?
GBMill will know
Mill: //A building equipped with machinery for processing raw
materials into finished products//
- if the input was homogeneous (for interreduction?)
- alg homog/aff/sat/hdriven...
- the kind of sugar function to use
- active criteria (Weyl/module). Now crit are in
GReductor
- ...
GBData (?) -- was GReductor
the "frozen computation"; it knows:
- the input polynomials
- list of pairs
- list of reducers
- list for output
- reducing SPolynomial (or atomic ???)
- stats
- ...
Bugs, shortcomings and other ideas
Everything so far is just work in progress.
Recent changes
2010
- moved definition of class
GRingInfo
into GBEnv.H,C