|
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. |