Lattice Builder
Software Package for Constructing Rank-1 Lattices
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Groups Pages
LatBuilder Namespace Reference

Lattice Builder namespace. More...

Namespaces

 Functor
 Various functors.
 
 GenSeq
 Sequences of generator values.
 
 IndexedIterator
 Immutable indexed iterators.
 
 Kernel
 Kernels for coordinate-symmetric figures of merit.
 
 LatSeq
 Sequences of Lattices.
 
 MeritCombiner
 Combiner functors for merit values.
 
 MeritSeq
 Sequences of merit values.
 
 Norm
 Normalizations and bounds.
 
 Parser
 String parsing facilities for Lattice Builder objects.
 
 ProjDepMerit
 Projection-dependent figures of merit.
 
 Task
 Standard tasks that can be performed by Lattice Builder.
 
 TextStream
 Overloaded stream operators.
 
 Traversal
 Traversal types for indexable sequences.
 
 Vectorize
 Helpers to vectorize simple operations.
 

Classes

class  Accumulator
 Accumulator template. More...
 
struct  MeritFilterTraits
 Traits class template for filters of merit values. More...
 
struct  BasicMeritFilter
 Abstract base class for filters. More...
 
struct  LatticeRejectedException
 Exception raised by filters upon rejection of a candidate lattice rule. More...
 
struct  MeritFilterTraits< LatType::ORDINARY >
 
struct  MeritFilterTraits< LatType::EMBEDDED >
 
class  BridgeIteratorCached
 Bridge iterator with cached value. More...
 
class  BridgeIteratorCachedPtr
 Bridge iterator with cached value accessible through a pointer. More...
 
class  BridgeIteratorDynamic
 Bridge iterator with dynamically computed value. More...
 
class  BridgeSeq
 Bridge CRTP class for sequence based on another type of sequence, with elements computed by the derived class. More...
 
class  CachedSeq
 Cached sequence wrapper. More...
 
class  ClonePtr
 Copyable alternative to std::unique_ptr<> for cloneable objects. More...
 
class  CombinedWeights
 Combined weights. More...
 
struct  CompressTraits
 Compression types for vectors and matrices. More...
 
struct  CompressTraits< Compress::NONE >
 No compression. More...
 
struct  CompressTraits< Compress::SYMMETRIC >
 Symmetric compression. More...
 
class  CoordSymFigureOfMerit
 Base base class for coordinate-symmetric figures of merit. More...
 
class  Digits
 
class  FigureOfMerit
 Abstract base class for figures of merit. More...
 
class  IndexMap
 Index map. More...
 
class  LatDef
 Definition of a rank-1 lattice. More...
 
class  LFSR113
 LFSR113 pseudo-random generator by L'Ecuyer. More...
 
class  LFSR258
 LFSR258 pseudo-random generator by L'Ecuyer. More...
 
class  MeritFilter
 Generic filter wrapper for merit values. More...
 
class  BasicMeritFilterList
 Container class for merit filters. More...
 
struct  MeritFilterListPolicy
 Policy class template for MeritFilterList. More...
 
class  MeritFilterList
 List of filters for merit values. More...
 
class  MeritFilterListPolicy< LatType::ORDINARY >
 Specialization of MeritFilterListPolicy for ordinary lattices. More...
 
class  MeritFilterListPolicy< LatType::EMBEDDED >
 Specialization of MeritFilterListPolicy for embedded lattices. More...
 
class  CartesianProduct
 Iterator incrementing policy that traverses unidimensional sequences sequentially. More...
 
class  Zip
 Iterator incrementing policy that traverses unidimensional sequences in parallel. More...
 
class  SeqCombiner
 Multidimensional sequence composed of unidimensional sequences. More...
 
class  SizeParam< LatType::EMBEDDED >
 Lattice size type for embedded lattices. More...
 
class  SizeParam< LatType::ORDINARY >
 Ordinary lattice size parameter. More...
 
class  SizeParam
 Lattice size parameter. More...
 
class  BasicSizeParam
 Abstract CRTP base class for lattice size parameter. More...
 
struct  StorageTraits< Storage< LatType::EMBEDDED, COMPRESS > >
 
class  Storage< LatType::EMBEDDED, COMPRESS >
 Vector permutation for embedded lattices. More...
 
struct  StorageTraits< Storage< LatType::ORDINARY, COMPRESS > >
 
class  Storage< LatType::ORDINARY, COMPRESS >
 Storage class for flat vectors. More...
 
class  Storage
 Storage policy. More...
 
struct  StorageTraits
 Storage traits. More...
 
class  BasicStorage
 Base class for storage types. More...
 
struct  TypeInfo
 Framework to specify a human-readable name for data types. More...
 
struct  TypeInfo< boost::accumulators::tag::max >
 
struct  TypeInfo< boost::accumulators::tag::sum >
 
class  WeightedFigureOfMeritEvaluator
 
class  WeightedFigureOfMerit
 Weighted figure of merit. More...
 
class  WeightsDispatcher
 

Typedefs

typedef unsigned long Modulus
 Scalar integer type for modulus (number of points) values.
 
typedef double Real
 Scalar floating-point type.
 
typedef
boost::numeric::ublas::vector
< Real
RealVector
 Vector of floating-point values.
 
typedef RealVector::size_type Level
 Scalar integer type for level of embedding.
 
typedef std::vector< ModulusGeneratingVector
 Generating vector type.
 
typedef GeneratingVector::size_type Dimension
 Dimension type.
 

Enumerations

enum  LatType { ORDINARY, EMBEDDED }
 Types of lattices.
 
enum  Compress { NONE, SYMMETRIC }
 Types of compression.
 

Functions

template<Compress COMPRESS, class E >
Storage< LatType::ORDINARY,
COMPRESS >::MeritValue 
compressedSum (const Storage< LatType::ORDINARY, COMPRESS > &storage, const boost::numeric::ublas::vector_expression< E > &e)
 Sum of all the elements of a (possibly compressed) vector. More...
 
template<Compress COMPRESS, class E >
Storage< LatType::EMBEDDED,
COMPRESS >::MeritValue 
compressedSum (const Storage< LatType::EMBEDDED, COMPRESS > &storage, const boost::numeric::ublas::vector_expression< E > &e)
 Returns the per-level sums of the elements of the compressed multilevel vector expression e.
 
template<typename INT >
std::ostream & operator<< (std::ostream &os, Digits< INT > &digits)
 
std::ostream & operator<< (std::ostream &os, const FigureOfMerit &merit)
 Formats merit and outputs it on os.
 
template<LatType LAT>
std::ostream & operator<< (std::ostream &os, const LatDef< LAT > &lat)
 Formats lat and outputs it to os.
 
template<LatType LAT>
LatDef< LAT > createLatDef (SizeParam< LAT > sizeParam=SizeParam< LAT >(), GeneratingVector gen=GeneratingVector())
 Returns a lattice definition instance with the proper type of size parameter.
 
std::ostream & operator<< (std::ostream &, const BasicMeritFilterList< LatType::ORDINARY > &)
 Formats and outputs filters to os.
 
std::ostream & operator<< (std::ostream &, const BasicMeritFilterList< LatType::EMBEDDED > &)
 
std::ostream & operator<< (std::ostream &os, const MeritFilterList< LatType::ORDINARY > &filters)
 Formats and outputs filters to os.
 
std::ostream & operator<< (std::ostream &os, const MeritFilterList< LatType::EMBEDDED > &filters)
 
template<class D >
std::ostream & operator<< (std::ostream &os, const BasicSizeParam< D > &sizeParam)
 
 DECLARE_TYPEINFO (float)
 
 DECLARE_TYPEINFO (double)
 
 DECLARE_TYPEINFO (int)
 
 DECLARE_TYPEINFO (unsigned int)
 
 DECLARE_TYPEINFO (long)
 
 DECLARE_TYPEINFO (unsigned long long)
 
std::ostream & operator<< (std::ostream &os, LatType latType)
 
template<typename T >
intPow (T base, unsigned int exponent)
 Integer exponentiation. More...
 
Modulus modularPow (Modulus base, Modulus exponent, Modulus modulus)
 Modular exponentiation. More...
 
std::vector< ModulusprimeFactors (Modulus n, bool raise=false)
 Prime factorization using the naive "trial division" algorithm. More...
 
std::map< Modulus, ModulusprimeFactorsMap (Modulus n)
 Prime factorization using the naive "trial division" algorithm. More...
 
std::pair< long long, long long > egcd (Modulus a, Modulus b)
 Extended Euclidian algorithm. More...
 

Detailed Description

Lattice Builder namespace.

Class and type definitions that are specific to Lattice Builder.

Function Documentation

template<Compress COMPRESS, class E >
Storage<LatType::ORDINARY, COMPRESS>::MeritValue LatBuilder::compressedSum ( const Storage< LatType::ORDINARY, COMPRESS > &  storage,
const boost::numeric::ublas::vector_expression< E > &  e 
)

Sum of all the elements of a (possibly compressed) vector.

In an compressed vector some elements are implicitly repeated.

Referenced by LatBuilder::ProjDepMerit::Evaluator< CoordSym< KERNEL >, LAT, COMPRESS >::operator()().

std::pair<long long, long long> LatBuilder::egcd ( Modulus  a,
Modulus  b 
)
std::vector<Modulus> LatBuilder::primeFactors ( Modulus  n,
bool  raise = false 
)

Prime factorization using the naive "trial division" algorithm.

Returns a list of prime factors, without their multiplicity if raise is false, or raised to their multiplicity if it is true.

Referenced by LatBuilder::GenSeq::CyclicGroup< COMPRESS, TRAV, ORDER >::smallestGenerator().

std::map<Modulus, Modulus> LatBuilder::primeFactorsMap ( Modulus  n)

Prime factorization using the naive "trial division" algorithm.

Returns a map of (factor, multiplicity) pairs.

Referenced by LatBuilder::GenSeq::CoprimeIntegers< COMPRESS, TRAV >::CoprimeIntegers().