Lattice Builder Manual
Software Package for Constructing Rank-1 Lattices
|
FFT-based implementation of the inner product for a circulant sequence of vector with a single vector. More...
#include <CoordUniformInnerProdFast.h>
Classes | |
class | Seq |
Sequence of inner product values. More... | |
Public Types | |
typedef Storage < LatType::EMBEDDED, COMPRESS > | InternalStorage |
typedef CoordUniformStateList < LatType::EMBEDDED, COMPRESS > | StateList |
typedef Storage< LAT, COMPRESS > ::MeritValue | MeritValue |
Public Member Functions | |
template<class K > | |
CoordUniformInnerProdFast (Storage< LAT, COMPRESS > storage, const Kernel::Base< K > &kernel) | |
Constructor. More... | |
const Storage< LAT, COMPRESS > & | storage () const |
Returns the storage configuration instance. | |
const InternalStorage & | internalStorage () const |
Returns the internal storage configuration instance. | |
const RealVector & | kernelValues () const |
Returns the vector of kernel values. | |
const std::vector < boost::numeric::ublas::range > & | levelRanges () const |
Returns the vector of per-level ranges of indices. | |
const std::vector < FFTComplexVector > & | circulantFFT () const |
Returns the FFT's of the first column of each circulant submatrix in the horizontal block-circulant matrix. | |
template<class GENSEQ , class E > | |
Seq< GENSEQ > | prodSeq (const GENSEQ &genSeq, const boost::numeric::ublas::vector_expression< E > &vec) const |
Creates a new sequence of inner product values by applying a stride permutation based on genSeq to the vector of kernel values, then by computing the inner product with vec . More... | |
Protected Types | |
typedef fftw< Real >::real_vector | FFTRealVector |
typedef fftw< Real > ::complex_vector | FFTComplexVector |
FFT-based implementation of the inner product for a circulant sequence of vector with a single vector.
Implemented for integer powers of prime bases, as proposed in [4] .
Computes the inner product with a second vector for all vectors in the sequence at once.
|
inline |
|
inline |
Creates a new sequence of inner product values by applying a stride permutation based on genSeq
to the vector of kernel values, then by computing the inner product with vec
.
genSeq | Sequence of generator values. |
vec | Second operand in the inner product. |