|
| ComboLattice (std::vector< MRGPeriod< Int > * > &comp, MRGLattice< Int, Real > &lat) |
| Creates a ComboLattice for the set of MRG described in comp with a MRG lattice as described in lat.
|
| ComboLattice (const ComboLattice< Int, Real > &lat) |
| Copy constructor.
|
| ~ComboLattice () |
| Destructor.
|
std::string | toString () const override |
| Prints a string describing all the componenets and the equivalent MRG.
|
std::string & | getCompString (int i) |
| MRGLattice (const Int &m, const IntVec &aa, int64_t maxDim, NormType norm=L2NORM) |
| This constructor takes as input the modulus m, the vector of multipliers aa, and the norm used to measure the vector lengths.
|
| MRGLattice (const MRGLattice< Int, Real > &Lat) |
MRGLattice & | operator= (const MRGLattice< Int, Real > &Lat) |
| Assigns Lat to this object.
|
| ~MRGLattice () |
| Destructor.
|
virtual void | setaa (const IntVec &aa) |
| Sets the vector of multipliers.
|
void | buildBasis (int64_t dim) |
| Builds a basis in dim dimensions.
|
void | buildDualBasis (int64_t dim) |
| Builds the m-dual lower triangular basis directly in dim dimensions.
|
void | incDimBasis () |
| Increases the current dimension of the primal basis by 1 and updates the basis.
|
void | incDimDualBasis () |
| Increases the current dimension of the m-dual basis by 1.
|
void | buildProjection (IntLattice< Int, Real > &projLattice, const Coordinates &proj) override |
| This method overrides its namesake in IntLattice.
|
void | buildProjectionDual (IntLattice< Int, Real > &projLattice, const Coordinates &proj) override |
| Overrides the same function from IntLattice.
|
std::string | toStringCoef () const |
| Returns the first dim components of the generating vector \(\ba\) as a string, where dim is the current lattice dimension.
|
|
virtual void | buildBasis0 (IntMat &basis, int64_t d) |
| The following protected functions take the basis as a parameter for more flexibility.
|
virtual void | buildDualBasis0 (IntMat &basis, int64_t d) |
virtual void | incDimBasis0 (IntMat &basis, int64_t d) |
virtual void | incDimDualBasis0 (IntMat &basis, int64_t d) |
virtual bool | buildProjection0 (IntMat &basis, int64_t dimbasis, IntMat &pbasis, const Coordinates &proj) |
IntMat | m_genTemp |
| This auxiliary matrix is used to store the generating vectors of a projections before reducing them into a triangular basis.
|
IntMat | m_copy_primal_basis |
| For generating the dual basis or increasing its dimension, we need a copy of the the primal basis if we use polynomial arithmetic.
|
int | m_order |
IntVec | m_aCoeff |
| The coefficients \(a_1, ..., a_k\) of the MRG recurrence, a_j stored in m_aCoeff[j].
|
template<typename Int, typename Real>
class LatMRG::ComboLattice< Int, Real >
This class represents a combined MRG.
It stores a vector of MRGPeriod and computes the equivalent MRG to their combination. Note that MRGComponenets do not have to be MRG themselves. This only overrides the toString() method and provides a constructor that populates the MRGLattice super-class to use this class in methods without an overload specific to it.