Lattice Builder Manual Software Package for Constructing Rank-1 Lattices
LatBuilder::MeritSeq::ConcreteCoordUniformState< LAT, COMPRESS, LatCommon::OrderDependentWeights > Class Template Reference

Implementation of CoordUniformState for order-dependent weights. More...

#include <ConcreteCoordUniformState-OD.h>

## Public Member Functions

ConcreteCoordUniformState (const Storage< LAT, COMPRESS > &storage, const LatCommon::OrderDependentWeights &weights)
Constructor. More...

void reset ()
Resets the state to dimension 0 with new specified storage configuration.

void update (const RealVector &kernelValues, Modulus gen)
Updates the current state using the specified row of the permuted matrix of kernel values. More...

RealVector weightedState () const
Computes and returns the weighted state vector $$\boldsymbol q_s$$. More...

std::unique_ptr< CoordUniformState< LAT, COMPRESS > > clone () const
Returns a copy of this instance. More...

Public Member Functions inherited from LatBuilder::MeritSeq::CoordUniformState< LAT, COMPRESS >
CoordUniformState (Storage< LAT, COMPRESS > storage)

const Storage< LAT, COMPRESS > & storage () const
Returns a pointer to the storage configuration.

Dimension dimension () const
Returns the value of the internal dimension counter.

## Detailed Description

### template<LatType LAT, Compress COMPRESS> class LatBuilder::MeritSeq::ConcreteCoordUniformState< LAT, COMPRESS, LatCommon::OrderDependentWeights >

Implementation of CoordUniformState for order-dependent weights.

This formulation is as proposed in [4] . Define

$\boldsymbol p_{s,\ell} = \left( \sum_{\substack{\mathfrak u \subseteq \{1, \dots, s\} \\ |\mathfrak u| = \ell}} \prod_{j \in \mathfrak u} \omega(x_{0,j}), \dots, \sum_{\substack{\mathfrak u \subseteq \{1, \dots, s\} \\ |\mathfrak u| = \ell}} \prod_{j \in \mathfrak u} \omega(x_{n-1,j}) \right),$

for $$s \geq 1$$ and $$1 \leq \ell \leq s$$, with $$\boldsymbol p_{0,\ell} = \boldsymbol 1$$ and $$\boldsymbol p_{s,s+1} = \boldsymbol 0$$. Then,

$\mathcal D_s^2 = \mathcal D_{s-1}^2 + \frac1n \boldsymbol\omega_s \cdot \sum_{\ell=1}^s \Gamma_\ell \boldsymbol p_{s-1,\ell-1}$

and

$\boldsymbol p_{s,\ell} = \boldsymbol p_{s-1,\ell} + \boldsymbol\omega_s \odot \boldsymbol p_{s-1,\ell-1}.$

## Constructor & Destructor Documentation

template<LatType LAT, Compress COMPRESS>
 LatBuilder::MeritSeq::ConcreteCoordUniformState< LAT, COMPRESS, LatCommon::OrderDependentWeights >::ConcreteCoordUniformState ( const Storage< LAT, COMPRESS > & storage, const LatCommon::OrderDependentWeights & weights )
inline

Constructor.

Sets $$\mathcal D_0^2 = 0$$ and $$\boldsymbol p_{0,\ell} = \boldsymbol 1$$.

Parameters
 storage Storage configuration. weights Order-dependent weights $$\Gamma_\ell$$.

## Member Function Documentation

template<LatType LAT, Compress COMPRESS>
 std::unique_ptr > LatBuilder::MeritSeq::ConcreteCoordUniformState< LAT, COMPRESS, LatCommon::OrderDependentWeights >::clone ( ) const
inlinevirtual

Returns a copy of this instance.

template<LatType LAT, Compress COMPRESS>
 void LatBuilder::MeritSeq::ConcreteCoordUniformState< LAT, COMPRESS, LatCommon::OrderDependentWeights >::update ( const RealVector & kernelValues, Modulus gen )
virtual

Updates the current state using the specified row of the permuted matrix of kernel values.

This corresponds to appending a component $$a_j$$ to the generating vector $$\boldsymbol a = (a_1, \dots, a_{j-1})$$. To each possible value of $$a_j$$ corresponds a distinct row of the matrix $$\boldsymbol\Omega$$ of kernel values.

This increases the internal dimension counter.

Computes

$\boldsymbol p_{s,\ell} = \boldsymbol p_{s-1,\ell} + \boldsymbol\omega_s \odot \boldsymbol p_{s-1,\ell-1}.$

Reimplemented from LatBuilder::MeritSeq::CoordUniformState< LAT, COMPRESS >.

template<LatType LAT, Compress COMPRESS>
 RealVector LatBuilder::MeritSeq::ConcreteCoordUniformState< LAT, COMPRESS, LatCommon::OrderDependentWeights >::weightedState ( ) const
virtual

Computes and returns the weighted state vector $$\boldsymbol q_s$$.

Computes

$\boldsymbol q_s = \sum_{\ell=0}^s \Gamma_{\ell+1} \boldsymbol p_{s,\ell}.$

The documentation for this class was generated from the following file:
• latbuilder/include/latbuilder/MeritSeq/ConcreteCoordUniformState-OD.h