LatNet Builder Manual
2.0.1-11
Software Package for Constructing Highly Uniform Point Sets
|
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< LR, EmbeddingType::MULTILEVEL, COMPRESS, PerLevelOrder::CYCLIC > | InternalStorage |
typedef CoordUniformStateList< LR, EmbeddingType::MULTILEVEL, COMPRESS, PerLevelOrder::CYCLIC > | StateList |
typedef Storage< LR, ET, COMPRESS >::MeritValue | MeritValue |
Public Member Functions | |
template<class K > | |
CoordUniformInnerProdFast (Storage< LR, ET, COMPRESS, PLO > storage, const Kernel::Base< K > &kernel) | |
Constructor. More... | |
const Storage< LR, ET, COMPRESS, PLO > & | 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. |