MADNESS
version 0.9
|
Provides the common functionality/interface of all 1D convolutions. More...
#include <convolution1d.h>
Public Types | |
typedef Q | opT |
The apply function uses this to infer resultT=opT*inputT. More... | |
Public Member Functions | |
virtual | ~Convolution1D () |
Convolution1D (int k, int npt, int maxR, double arg=0.0) | |
virtual Tensor< Q > | rnlp (Level n, Translation lx) const =0 |
Compute the projection of the operator onto the double order polynomials. More... | |
virtual bool | issmall (Level n, Translation lx) const =0 |
Returns true if the block of rnlp is expected to be small. More... | |
bool | get_issmall (Level n, Translation lx) const |
Returns true if the block of rnlp is expected to be small including periodicity. More... | |
virtual Level | natural_level () const |
Returns the level for projection. More... | |
const Tensor< Q > & | rnlij (Level n, Translation lx, bool do_transpose=false) const |
Computes the transition matrix elements for the convolution for n,l. More... | |
const ConvolutionData1D< Q > * | mod_nonstandard (const Key< 2 > &op_key) const |
Returns a pointer to the cached modified nonstandard form of the operator. More... | |
const ConvolutionData1D< Q > * | nonstandard (Level n, Translation lx) const |
Returns a pointer to the cached nonstandard form of the operator. More... | |
Q | phase (double R) const |
Q | phase (double_complex R) const |
const Tensor< Q > & | get_rnlp (Level n, Translation lx) const |
Public Attributes | |
int | k |
Wavelet order. More... | |
int | npt |
Number of quadrature points (is this used?) More... | |
int | maxR |
Number of lattice translations for sum. More... | |
Tensor< double > | quad_x |
Tensor< double > | quad_w |
Tensor< double > | c |
Tensor< double > | hgT |
Tensor< double > | hg |
Tensor< double > | hgT2k |
double | arg |
SimpleCache< Tensor< Q >, 1 > | rnlp_cache |
SimpleCache< Tensor< Q >, 1 > | rnlij_cache |
SimpleCache< ConvolutionData1D < Q >, 1 > | ns_cache |
SimpleCache< ConvolutionData1D < Q >, 2 > | mod_ns_cache |
Provides the common functionality/interface of all 1D convolutions.
interface for 1 term and for 1 dimension; the actual data are kept in ConvolutionData1D Derived classes must implement rnlp, issmall, natural_level
typedef Q madness::Convolution1D< Q >::opT |
The apply function uses this to infer resultT=opT*inputT.
|
inlinevirtual |
|
inline |
References madness::autoc(), madness::gauss_legendre(), madness::transpose(), and madness::two_scale_hg().
|
inline |
Returns true if the block of rnlp is expected to be small including periodicity.
References madness::Convolution1D< Q >::issmall(), madness::Convolution1D< Q >::maxR, and R.
Referenced by madness::Convolution1D< Q >::get_rnlp(), and madness::Convolution1D< Q >::nonstandard().
|
inline |
References madness::copy(), madness::Convolution1D< Q >::get_issmall(), madness::SimpleCache< Q, NDIM >::getptr(), madness::Convolution1D< Q >::k, madness::Convolution1D< Q >::maxR, madness::Convolution1D< Q >::natural_level(), madness::Convolution1D< Q >::phase(), PROFILE_BLOCK, PROFILE_MEMBER_FUNC, R, madness::Convolution1D< Q >::rnlp(), madness::SimpleCache< Q, NDIM >::set(), and madness::transform().
Referenced by madness::GenericConvolution1D< Q, opT >::GenericConvolution1D(), and madness::Convolution1D< Q >::rnlij().
|
pure virtual |
Returns true if the block of rnlp is expected to be small.
Implemented in madness::GaussianConvolution1D< Q >, and madness::GenericConvolution1D< Q, opT >.
Referenced by madness::Convolution1D< Q >::get_issmall().
|
inline |
Returns a pointer to the cached modified nonstandard form of the operator.
[in] | op_key | holds the scale and the source and target translations |
References madness::copy(), madness::fast_transpose(), madness::SimpleCache< Q, NDIM >::getptr(), madness::Convolution1D< Q >::k, madness::Key< NDIM >::level(), PROFILE_BLOCK, R, madness::Convolution1D< Q >::rnlij(), madness::SimpleCache< Q, NDIM >::set(), std::tr1::T(), madness::transform(), madness::Key< NDIM >::translation(), and madness::vec().
|
inlinevirtual |
Returns the level for projection.
Reimplemented in madness::GaussianConvolution1D< Q >, and madness::GenericConvolution1D< Q, opT >.
Referenced by madness::Convolution1D< Q >::get_rnlp().
|
inline |
Returns a pointer to the cached nonstandard form of the operator.
References madness::fast_transpose(), madness::Convolution1D< Q >::get_issmall(), madness::SimpleCache< Q, NDIM >::getptr(), madness::Convolution1D< Q >::k, PROFILE_BLOCK, PROFILE_MEMBER_FUNC, R, madness::Convolution1D< Q >::rnlij(), madness::SimpleCache< Q, NDIM >::set(), std::tr1::T(), and madness::transform().
|
inline |
Referenced by madness::Convolution1D< Q >::get_rnlp().
|
inline |
References mpfr::exp().
|
inline |
Computes the transition matrix elements for the convolution for n,l.
Returns the tensor
This is computed from the matrix elements over the correlation function which in turn are computed from the matrix elements over the double order legendre polynomials.
References madness::Convolution1D< Q >::get_rnlp(), madness::SimpleCache< Q, NDIM >::getptr(), madness::inner(), madness::Convolution1D< Q >::k, PROFILE_MEMBER_FUNC, R, madness::SimpleCache< Q, NDIM >::set(), and madness::transpose().
Referenced by madness::Convolution1D< Q >::mod_nonstandard(), and madness::Convolution1D< Q >::nonstandard().
|
pure virtual |
Compute the projection of the operator onto the double order polynomials.
Implemented in madness::GaussianConvolution1D< Q >, and madness::GenericConvolution1D< Q, opT >.
Referenced by madness::Convolution1D< Q >::get_rnlp().
double madness::Convolution1D< Q >::arg |
Tensor<double> madness::Convolution1D< Q >::c |
Tensor<double> madness::Convolution1D< Q >::hg |
Tensor<double> madness::Convolution1D< Q >::hgT |
Tensor<double> madness::Convolution1D< Q >::hgT2k |
int madness::Convolution1D< Q >::k |
Wavelet order.
Referenced by madness::Convolution1D< Q >::get_rnlp(), madness::Convolution1D< Q >::mod_nonstandard(), madness::Convolution1D< Q >::nonstandard(), madness::GenericConvolution1D< Q, opT >::Shmoo::operator()(), madness::Convolution1D< Q >::rnlij(), and madness::GaussianConvolution1D< Q >::rnlp().
int madness::Convolution1D< Q >::maxR |
Number of lattice translations for sum.
Referenced by madness::Convolution1D< Q >::get_issmall(), and madness::Convolution1D< Q >::get_rnlp().
|
mutable |
int madness::Convolution1D< Q >::npt |
Number of quadrature points (is this used?)
Referenced by madness::GenericConvolution1D< Q, opT >::rnlp(), and madness::GaussianConvolution1D< Q >::rnlp().
|
mutable |
Tensor<double> madness::Convolution1D< Q >::quad_w |
Tensor<double> madness::Convolution1D< Q >::quad_x |
|
mutable |
|
mutable |