Template Class FmmScaleInvariant¶
Defined in File fmm_scale_invariant.h
Inheritance Relationships¶
Base Type¶
public exafmm_t::FmmBase< T >
(Template Class FmmBase)
Class Documentation¶
-
template<typename T>
class exafmm_t::FmmScaleInvariant : public exafmm_t::FmmBase<T>¶ Public Functions
-
inline FmmScaleInvariant()¶
-
inline FmmScaleInvariant(int p_, int ncrit_, std::string filename_ = std::string())¶
-
inline void initialize_matrix()¶
Setup the sizes of precomputation matrices.
-
inline void precompute_M2M()¶
Precompute M2M and L2L.
-
inline void precompute_check2equiv()¶
Precompute UC2UE and DC2DE matrices.
-
inline void precompute_M2L()¶
Precompute M2L.
-
inline void save_matrix()¶
Save precomputation matrices.
-
inline void load_matrix()¶
Check and load precomputation matrices.
-
inline void precompute()¶
Precompute.
-
inline void hadamard_product(std::vector<size_t> &interaction_count_offset, std::vector<size_t> &interaction_offset_f, AlignedVec &fft_in, AlignedVec &fft_out)¶
-
inline void fft_up_equiv(std::vector<size_t> &fft_offset, RealVec &all_up_equiv, AlignedVec &fft_in)¶
-
inline void ifft_dn_check(std::vector<size_t> &ifft_offset, RealVec &ifft_scal, AlignedVec &fft_out, RealVec &all_dn_equiv)¶
-
template<>
void precompute_check2equiv()¶ Below are member function specializations
-
template<>
void precompute_check2equiv()
-
template<>
void precompute_M2L()¶ member function specialization for real type
-
template<>
void fft_up_equiv(std::vector<size_t> &fft_offset, RealVec &all_up_equiv, AlignedVec &fft_in)¶
-
template<>
void ifft_dn_check(std::vector<size_t> &ifft_offset, RealVec &ifft_scal, AlignedVec &fft_out, RealVec &all_dn_equiv)¶
Public Members
-
std::vector<T> matrix_UC2E_U¶
First component of the pseudo-inverse of upward check to upward equivalent kernel matrix.
For the variables from base class that do not template parameter T, we need to use this-> to tell compilers to lookup nondependent names in the base class. Eg. p, nsurf, r0, kernel_matrix etc. https://isocpp.org/wiki/faq/templates#nondependent-name-lookup-members/
-
std::vector<T> matrix_UC2E_V¶
Second component of the pseudo-inverse of upward check to upward equivalent kernel matrix.
-
std::vector<T> matrix_DC2E_U¶
First component of the pseudo-inverse of downward check to downward equivalent kernel matrix.
-
std::vector<T> matrix_DC2E_V¶
Second component of the pseudo-inverse of downward check to downward equivalent kernel matrix.
-
std::vector<AlignedVec> matrix_M2L¶
The pseudo-inverse of M2L kernel matrix.
-
inline FmmScaleInvariant()¶