Lattice Builder Manual Software Package for Constructing Rank-1 Lattices
LatBuilder::ProjDepMerit::CoordUniform< KERNEL > Class Template Reference

Coordinate-uniform projection-dependent figure of merit. More...

#include <CoordUniform.h>

## Public Member Functions

CoordUniform (KERNEL kernel=KERNEL())
Constructor. More...

bool symmetric () const

const KERNEL & kernel () const

std::string name () const

template<LatType LAT, Compress COMPRESS>
Evaluator< CoordUniform, LAT, COMPRESS > evaluator (Storage< LAT, COMPRESS > storage) const
Creates an evaluator for the projection-dependent figure of merit. Public Member Functions inherited from LatBuilder::ProjDepMerit::Base< CoordUniform< KERNEL > >
Storage< LAT, COMPRESS >::MeritValue operator() (const Storage< LAT, COMPRESS > &storage, const LatDef< LAT > &lat, const LatCommon::Coordinates &projection) const
Computes the value of the figure of merit of lattice lat for projection projection.

std::string name () const
Returns the name of the figure of merit.

bool symmetric () const
Returns true if the value of the figure of merit is invariant under a reflection of the generating vector $$\boldsymbol a=(a_1, \dots, a_s)$$ along any axis such that $$a_j \mapsto n - a_j$$, where $$n$$ is the number of points in the lattice point set.

Evaluator< CoordUniform< KERNEL >, LAT, COMPRESS > evaluator (const Storage< LAT, COMPRESS > &storage) const
Creates an evaluator for the projection-dependent figure of merit.

CoordUniform< KERNEL > & derived ()

const CoordUniform< KERNEL > & derived () const

## Static Public Member Functions

static constexpr Compress suggestedCompression ()

## Detailed Description

### template<class KERNEL> class LatBuilder::ProjDepMerit::CoordUniform< KERNEL >

Coordinate-uniform projection-dependent figure of merit.

This type of projection-dependent figure of merit is base on a kernel $$\omega$$ such that, for number of points $$n$$ and generating vector $$\boldsymbol a = (a_1, \dots, a_s)$$, the merit value for a projection on coordinates in $$\mathfrak u$$ is

$\frac1n \sum_{i=0}^{n-1} \prod_{j \in \mathfrak u} \omega((i a_j / n) \bmod 1)$

Template Parameters
 KERNEL Kernel $$\omega$$.

## Constructor & Destructor Documentation

template<class KERNEL >
 LatBuilder::ProjDepMerit::CoordUniform< KERNEL >::CoordUniform ( KERNEL kernel = KERNEL() )
inline

Constructor.

Parameters
 kernel Kernel $$\omega$$.

The documentation for this class was generated from the following file:
• latbuilder/include/latbuilder/ProjDepMerit/CoordUniform.h