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
Classes | Public Types | Public Member Functions | List of all members
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 FigureOfMerit & | figureOfMerit () 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 LatDef & | baseLat () 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

  LAT | Type of lattice.
  COMPRESS | Type of compression.
  KERNEL | Kernel of the coordinate-uniform figure of merit; should derive from Kernel::Base.
  PROD | Type 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

  storage | Storage configuration.
  figure | Coordinate-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

  genSeq | Sequence 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

  it | Iterator on the element of the sequence to be selected.

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

- latbuilder/include/latbuilder/MeritSeq/CoordUniformCBC.h