LatNet Builder Manual  2.0.1-11
Software Package for Constructing Highly Uniform Point Sets
LatBuilder::Kernel::Base< DERIVED > Class Template Reference

Base base class for factories of kernel values. More...

#include <Base.h>

Public Member Functions

template<LatticeType LR, EmbeddingType L, Compress C, PerLevelOrder P>
RealVector valuesVector (const Storage< LR, L, C, P > &storage) const
 Creates a new vector of kernel values. More...
 
bool symmetric () const
 Returns true if the kernel takes the same value at points \(x\) and \(1 - x\) for \(x \in [0,1)\).
 
std::string name () const
 Returns the name of the kernel.
 
DERIVED & derived ()
 
const DERIVED & derived () const
 

Detailed Description

template<class DERIVED>
class LatBuilder::Kernel::Base< DERIVED >

Base base class for factories of kernel values.

Member Function Documentation

◆ valuesVector()

template<class DERIVED>
template<LatticeType LR, EmbeddingType L, Compress C, PerLevelOrder P>
RealVector LatBuilder::Kernel::Base< DERIVED >::valuesVector ( const Storage< LR, L, C, P > &  storage) const
inline

Creates a new vector of kernel values.

The values of the kernel evaluated at sizeParam.numPoints() regular intervals in \([0,1)\) are stored in a linear vector. The intervals are of size 1/sizeParam.numPoints() and the first point is at 0.

the \(i^{\text{th}}\) element \(\omega_i\) is:

  • \(\omega(i/n)\) in the case of an ordinary lattice with modulus \(n\).
  • \(\omega((\nu_m(\frac{i(z)}{P(z)}))\) in the case of a polynomial lattice of modulus \(P(z)\) ( \( i(z) = \sum a_iz^i\) where \(i =\sum a_i2^i\)).

    Returns
    The newly created vector.

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