Lattice Builder Manual
Software Package for Constructing Rank-1 Lattices
|
Implementation of CoordUniformState for product weights. More...
#include <ConcreteCoordUniformState-P.h>
Inherits LatBuilder::MeritSeq::CoordUniformState< LAT, COMPRESS >.
Public Member Functions | |
ConcreteCoordUniformState (const Storage< LAT, COMPRESS > &storage, const LatCommon::ProductWeights &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 the weighted combination state vectors. More... | |
std::unique_ptr< CoordUniformState< LAT, COMPRESS > > | clone () const |
Returns a copy of this instance. More... | |
![]() | |
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. | |
Implementation of CoordUniformState for product weights.
This formulation is as proposed in [4] . Define
\[ \boldsymbol p_s = \left( \prod_{j=1}^s \left[ 1 + \gamma_j \omega(x_{0,j}) \right], \dots, \prod_{j=1}^s \left[ 1 + \gamma_j \omega(x_{n-1,j}) \right] \right), \]
for \(s \geq 1\), with \(\boldsymbol p_0 = \boldsymbol 1\). Then,
\[ \mathcal D_s^2 = \mathcal D_{s-1}^2 + \frac{\gamma_s}{n} \boldsymbol\omega_s \cdot \boldsymbol p_{s-1} \]
and
\[ \boldsymbol p_s = (\boldsymbol 1 + \gamma_s \boldsymbol\omega_s) \odot \boldsymbol p_{s-1}. \]
|
inline |
Constructor.
Sets \(\mathcal D_0^2 = 0\) and \(\boldsymbol p_0 = \boldsymbol 1\).
storage | Storage configuration. |
weights | Product weights \( \gamma_{\mathfrak u} \). |
References LatBuilder::MeritSeq::ConcreteCoordUniformState< LAT, COMPRESS, WEIGHTS >::reset().
|
inlinevirtual |
Returns a copy of this instance.
Implements LatBuilder::MeritSeq::CoordUniformState< LAT, COMPRESS >.
References LatBuilder::MeritSeq::ConcreteCoordUniformState< LAT, COMPRESS, WEIGHTS >::ConcreteCoordUniformState().
|
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 = (\boldsymbol 1 + \gamma_s \boldsymbol\omega_s) \odot \boldsymbol p_{s-1}. \]
Reimplemented from LatBuilder::MeritSeq::CoordUniformState< LAT, COMPRESS >.
|
virtual |
Computes the weighted combination state vectors.
Computes
\[ \boldsymbol q_s = \gamma_{s+1} \boldsymbol p_s. \]
Implements LatBuilder::MeritSeq::CoordUniformState< LAT, COMPRESS >.