LatNet Builder Manual
2.0.1-11
Software Package for Constructing Highly Uniform Point Sets
|
Class to represent interlaced projection-dependent weights. More...
#include <IPODWeights.h>
Inherits LatticeTester::Weights.
Public Member Functions | |
IPODWeights (std::unique_ptr< LatticeTester::ProductWeights > weights, const KERNEL &kernel) | |
Constructor. More... | |
IPODWeights (std::unique_ptr< LatticeTester::OrderDependentWeights > weights, const KERNEL &kernel) | |
Constructor. More... | |
IPODWeights (std::unique_ptr< LatticeTester::PODWeights > weights, const KERNEL &kernel) | |
Constructor. More... | |
double | getWeight (const Coordinates &projection) const override |
Returns the weight of the projection specified by projection . | |
virtual unsigned int | interlacingFactor () const override |
Returns the interlacing factor. | |
double | getCorrectionProductWeightForCoordinate (Coordinates::size_type coordinate) const |
Returns the correction product weight \(\delta_j\). More... | |
const LatticeTester::PODWeights & | getBaseWeights () const |
Returns a const reference to the corrected base weights. More... | |
double | getWeightForOrder (Coordinates::size_type order) const |
double | getWeightForCoordinate (Coordinates::size_type coordinate) const |
Public Member Functions inherited from LatticeTester::Weights | |
virtual | ~Weights () |
Destructor. | |
Protected Member Functions | |
void | format (std::ostream &os) const override |
Identifies the type of weights, formats them and outputs them on os . More... | |
Additional Inherited Members | |
Related Functions inherited from LatticeTester::Weights | |
std::ostream & | operator<< (std::ostream &os, const Weights &o) |
Class to represent interlaced projection-dependent weights.
Uses operator \(w\) defined in Corollary 1. of [10] to transform weights in dimension \(s\) into weights in dimension \(ds\). If \( \mathfrak u \subseteq \{1, \dots, ds\}\):
\[ w(\mathfrak u) = \{ \lceil j/d \rceil, j \in \mathfrak u\}. \]
Additionally, depending on the kernel, corrections must be made. This corresponds to the correction product weights \(\delta\) and the correction order-dependent weight \(\Gamma\). The kernel implements methods to compute these correction weights. To wrap it up, the formula for the interlaced weights \(\bar{\gamma}\) is as follows:
\[ \bar{\gamma}_{\mathfrak u} = \gamma_{w(\mathfrak u)} \prod_{j \in \mathfrak u} \delta_j \Gamma_{|w(\mathfrak u)|}. \]
for \( \mathfrak u \subseteq \{1, \dots, d s\} \).
KERNEL | Kernel. |
LatBuilder::Interlaced::IPODWeights< KERNEL >::IPODWeights | ( | std::unique_ptr< LatticeTester::ProductWeights > | weights, |
const KERNEL & | kernel | ||
) |
Constructor.
weights | Base weights. |
kernel | Kernel. |
LatBuilder::Interlaced::IPODWeights< KERNEL >::IPODWeights | ( | std::unique_ptr< LatticeTester::OrderDependentWeights > | weights, |
const KERNEL & | kernel | ||
) |
Constructor.
weights | Base weights. |
kernel | Kernel. |
LatBuilder::Interlaced::IPODWeights< KERNEL >::IPODWeights | ( | std::unique_ptr< LatticeTester::PODWeights > | weights, |
const KERNEL & | kernel | ||
) |
Constructor.
weights | Base weights. |
kernel | Kernel. |
|
overrideprotectedvirtual |
Identifies the type of weights, formats them and outputs them on os
.
Implements LatticeTester::Weights.
const LatticeTester::PODWeights& LatBuilder::Interlaced::IPODWeights< KERNEL >::getBaseWeights | ( | ) | const |
Returns a const reference to the corrected base weights.
More precisely these weights equal:
\[ \{1, \dots, s \} \supseteq \mathfrak u \mapsto gamma_{\mathfrak u} \Gamma_{|\mathfrak u|} \]
double LatBuilder::Interlaced::IPODWeights< KERNEL >::getCorrectionProductWeightForCoordinate | ( | Coordinates::size_type | coordinate | ) | const |
Returns the correction product weight \(\delta_j\).
coordinate | Value of \(j\). |