Lattice Builder Manual Software Package for Constructing Rank-1 Lattices

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
LatCommon::Rank1Lattice Class Reference

`#include <Rank1Lattice.h>`

Inherits LatCommon::IntLattice.

## Public Member Functions
| Rank1Lattice (const MScal &n, const MVect &a, int d, NormType norm=L2NORM)
| Constructor. More...
| Rank1Lattice (const Rank1Lattice &Lat)
| Copy constructor.
Rank1Lattice & | operator= (const Rank1Lattice &Lat)
| Assigns `Lat` to this object.
| ~Rank1Lattice ()
| Destructor.
std::string | toStringCoef () const
| Returns the vector of multipliers \(a\) as a string.
void | buildBasis (int d)
| Builds the basis in dimension \(d\).
void | incDim ()
| Increases the dimension by 1.
Public Member Functions inherited from LatCommon::IntLattice
| IntLattice (const MScal &m, int k, int maxDim, NormType norm=L2NORM)
| Constructor. More...
| IntLattice (const IntLattice &Lat)
| Copy constructor. More...
IntLattice & | operator= (const IntLattice &Lat)
| Assigns `Lat` to this object. More...
virtual | ~IntLattice ()
| Destructor.
void | copy (const IntLattice &lattice)
| Same as assignment operator above.
int | getDim () const
| Returns actual dimension `Dim`.
void | setDim (int d)
| Sets actual dimension to \(d\).
int | getMaxDim () const
| Returns the maximal dimension of the lattice.
NormType | getNorm () const
| Returns the norm used by the lattice.
MScal | getM () const
| Returns the value of the modulus \(m\) of the recurrence (the number of points of the lattice).
NScal | getM2 () const
| Returns the square number of points in the lattice.
int | getOrder () const
| Returns the order.
Normalizer * | getNormalizer (NormaType norma, int alpha)
| Creates and returns the normalizer corresponding to criterion `norma`. More...
Base & | getPrimalBasis ()
| Returns the primal basis `V`.
Base & | getDualBasis ()
| Returns the dual basis `W`.
void | calcLgVolDual2 (bool dualF)
| Computes the logarithm of the normalization factor `m_lgVolDual2` for the merit in all dimensions % \(\le \) `maxDim` for the dual lattice if `dualF` is `true`, and for the primal lattice if `dualF` is `false`.
double | getLgVolDual2 (int i) const
bool | getXX (int i) const
void | setXX (bool val, int i)
void | sort (int d)
| Sorts the basis vectors with indices from \(d+1\) to the dimension of the basis by increasing length. More...
void | permute (int i, int j)
| Exchanges vectors \(i\) and \(j\) in the basis and in the dual basis.
void | write (const char *filename) const
| Writes this basis in file named `filename`.
void | trace (char *msg)
| For debugging purposes.
void | write (int flag)
| Writes this basis on standard output. More...
void | dualize ()
| Exchanges basis \(V\) and its dual \(W\).
bool | checkDuality ()
| Checks that the bases satisfy the duality relation \(V[i]\cdot W[j] = m\,\delta_{ij}\). More...
bool | baseEquivalence (IntLattice &Lat)
| Checks that `Lat's` basis and this basis are equivalent. More...
void | buildProjection (IntLattice *lattice, const Coordinates &proj)
| Builds the basis (and dual basis) of the projection `proj` for this lattice. More...

## Protected Member Functions
void | init ()
| Initializes the rank 1 lattice.
Protected Member Functions inherited from LatCommon::IntLattice
void | init ()
void | kill ()
| Cleans and releases all the memory allocated for this lattice.

## Protected Attributes
MVect | m_a
| The multipliers of the rank 1 lattice rule.
Protected Attributes inherited from LatCommon::IntLattice
int | m_order
| The order of the basis.
MScal | m_m
| Number of points per unit volume (`m_m`) and its square (`m_m2`).
NScal | m_m2
double | m_lgm2
| The logarithm \(\log_2 (m^2)\).
Base | m_v
| Primal basis of the lattice.
Base | m_w
| Dual basis of the lattice.
double * | m_lgVolDual2
bool * | m_xx
| Work variables.
MScal | m_t1
MScal | m_t2
MScal | m_t3
BMat | m_vSI
Base | m_vTemp

## Detailed Description

Note
  Pierre (hidden): Il faut pouvoir choisir chaque \(a_i\) ind\'ependamment

This class implements a general rank 1 lattice basis. For the values \(a_1, a_2, \ldots, a_{d}\) given, the \(d\)-dimensional lattice basis is formed as:

\[ \mathbf{b_1} = (a_1, a_2, \ldots, a_{d}),\quad \mathbf{b_2} = (0, n, 0, \ldots, 0),\quad \ldots, \quad \mathbf{b_d} = (0, \ldots, 0, n) \]

Without loss of generality, one may choose \(a_1 = 1\).

## Constructor & Destructor Documentation

LatCommon::Rank1Lattice::Rank1Lattice | ( | const MScal & | n,
|  | const MVect & | a,
|  | int | d,
|  | NormType | norm = `L2NORM`
| ) |  |

Constructor.

\(d\) represents the number of multipliers in the array `a`.

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

- latcommon/include/latcommon/Rank1Lattice.h