Lattice Builder Manual
Software Package for Constructing Rank-1 Lattices
LatBuilder::MeritSeq::CoordUniformCBC< LAT, COMPRESS, KERNEL, PROD > Class Template Reference

Sequence of lattice merit for weighted coordinate-uniform figures of merit. More...

#include <CoordUniformCBC.h>

Classes

class  Seq
 Output sequence from the coordinate-uniform CBC algorithm. More...
 

Public Types

typedef PROD< LAT, COMPRESS > CoordUniformInnerProd
 
typedef Storage< LAT, COMPRESS >::MeritValue MeritValue
 
typedef LatBuilder::LatDef< LAT > LatDef
 
typedef CoordUniformFigureOfMerit< KERNEL > FigureOfMerit
 
typedef CoordUniformInnerProd::StateList StateList
 
typedef MeritValue value_type
 

Public Member Functions

 CoordUniformCBC (Storage< LAT, COMPRESS > storage, const FigureOfMerit &figure)
 Constructor. More...
 
void reset ()
 Resets the state of the CBC algorithm to dimension 0.
 
const Storage< LAT, COMPRESS > & storage () const
 Returns the storage configuration instance.
 
const FigureOfMeritfigureOfMerit () const
 Returns the coordinate-uniform figure of merit.
 
const CoordUniformInnerProd & innerProd () const
 Returns the inner product instance.
 
const StateList & states () const
 Returns the states.
 
RealVector weightedState () const
 Returns the total weighted state.
 
const LatDefbaseLat () const
 Returns the base lattice. More...
 
const MeritValue & baseMerit () const
 Returns the base merit value. More...
 
template<typename GENSEQ >
Seq< GENSEQ > meritSeq (const GENSEQ &genSeq) const
 Creates a new sequence of merit values by appending the values in genSeq to the generating vector of the base lattice. More...
 
template<typename IT >
void select (const IT &it)
 Selects the element pointed to by the iterator. More...
 

Detailed Description

template<LatType LAT, Compress COMPRESS, class KERNEL, template< LatType, Compress > class PROD = CoordUniformInnerProd>
class LatBuilder::MeritSeq::CoordUniformCBC< LAT, COMPRESS, KERNEL, PROD >

Sequence of lattice merit for weighted coordinate-uniform figures of merit.

A weighted coordinate-uniform figure of merit is of the form:

\[ \mathcal D^2 = \sum_{\emptyset \neq \mathfrak u \subseteq \{1, \dots, s\}} \gamma_{\mathfrak u} \frac1n \sum_{i=0}^{n-1} \prod_{j \in \mathfrak u} \omega(x_{i,j}), \]

for some function \(\omega: [0,1) \to [0,\infty)\).

Template Parameters
LATType of lattice.
COMPRESSType of compression.
KERNELKernel of the coordinate-uniform figure of merit; should derive from Kernel::Base.
PRODType of inner product; either CoordUniformInnerProd or CoordUniformInnerProdFast.

Constructor & Destructor Documentation

template<LatType LAT, Compress COMPRESS, class KERNEL, template< LatType, Compress > class PROD = CoordUniformInnerProd>
LatBuilder::MeritSeq::CoordUniformCBC< LAT, COMPRESS, KERNEL, PROD >::CoordUniformCBC ( Storage< LAT, COMPRESS >  storage,
const FigureOfMerit figure 
)
inline

Constructor.

Parameters
storageStorage configuration.
figureCoordinate-uniform figure of merit.

Member Function Documentation

template<LatType LAT, Compress COMPRESS, class KERNEL, template< LatType, Compress > class PROD = CoordUniformInnerProd>
const LatDef& LatBuilder::MeritSeq::CoordUniformCBC< LAT, COMPRESS, KERNEL, PROD >::baseLat ( ) const
inline

Returns the base lattice.

This sequence extends on the lattice base by increasing its dimension by one.

See also
baseMerit()
template<LatType LAT, Compress COMPRESS, class KERNEL, template< LatType, Compress > class PROD = CoordUniformInnerProd>
const MeritValue& LatBuilder::MeritSeq::CoordUniformCBC< LAT, COMPRESS, KERNEL, PROD >::baseMerit ( ) const
inline

Returns the base merit value.

The merit values contained in this sequence are based on the value returned by this function.

See also
baseLat()
template<LatType LAT, Compress COMPRESS, class KERNEL, template< LatType, Compress > class PROD = CoordUniformInnerProd>
template<typename GENSEQ >
Seq<GENSEQ> LatBuilder::MeritSeq::CoordUniformCBC< LAT, COMPRESS, KERNEL, PROD >::meritSeq ( const GENSEQ &  genSeq) const
inline

Creates a new sequence of merit values by appending the values in genSeq to the generating vector of the base lattice.

Parameters
genSeqSequence of generator values.
template<LatType LAT, Compress COMPRESS, class KERNEL, template< LatType, Compress > class PROD = CoordUniformInnerProd>
template<typename IT >
void LatBuilder::MeritSeq::CoordUniformCBC< LAT, COMPRESS, KERNEL, PROD >::select ( const IT &  it)
inline

Selects the element pointed to by the iterator.

Returns true if and only if the sequence of generator sequences is not exhausted.

Parameters
itIterator on the element of the sequence to be selected.

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