MADNESS 0.10.1
|
1D convolution with (derivative) Gaussian; coeff and expnt given in simulation coordinates [0,1] More...
#include <convolution1d.h>
Public Member Functions | |
GaussianConvolution1D (int k, Q coeff, double expnt, int m, bool periodic, double arg=0.0) | |
virtual | ~GaussianConvolution1D () |
bool | issmall (Level n, Translation lx) const |
Returns true if the block is expected to be small. | |
virtual Level | natural_level () const |
Returns the level for projection. | |
Tensor< Q > | rnlp (Level n, Translation lx) const |
Compute the projection of the operator onto the double order polynomials. | |
Public Member Functions inherited from madness::Convolution1D< Q > | |
Convolution1D (int k, int npt, int maxR, double arg=0.0) | |
virtual | ~Convolution1D () |
bool | get_issmall (Level n, Translation lx) const |
Returns true if the block of rnlp is expected to be small including periodicity. | |
const Tensor< Q > & | get_rnlp (Level n, Translation lx) const |
const ConvolutionData1D< Q > * | mod_nonstandard (const Key< 2 > &op_key) const |
Returns a pointer to the cached modified make_nonstandard form of the operator. | |
const ConvolutionData1D< Q > * | nonstandard (Level n, Translation lx) const |
Returns a pointer to the cached make_nonstandard form of the operator. | |
Q | phase (double R) const |
Q | phase (double_complex R) const |
const Tensor< Q > & | rnlij (Level n, Translation lx, bool do_transpose=false) const |
Computes the transition matrix elements for the convolution for n,l. | |
Public Attributes | |
const Q | coeff |
Coefficient. | |
const double | expnt |
Exponent. | |
const int | m |
Order of derivative (0, 1, or 2 only) | |
const Level | natlev |
Level to evaluate. | |
Public Attributes inherited from madness::Convolution1D< Q > | |
double | arg |
Tensor< double > | c |
Tensor< double > | hg |
Tensor< double > | hgT |
Tensor< double > | hgT2k |
int | k |
Wavelet order. | |
int | maxR |
Number of lattice translations for sum. | |
SimpleCache< ConvolutionData1D< Q >, 2 > | mod_ns_cache |
int | npt |
Number of quadrature points (is this used?) | |
SimpleCache< ConvolutionData1D< Q >, 1 > | ns_cache |
Tensor< double > | quad_w |
Tensor< double > | quad_x |
SimpleCache< Tensor< Q >, 1 > | rnlij_cache |
SimpleCache< Tensor< Q >, 1 > | rnlp_cache |
Static Private Member Functions | |
static int | maxR (bool periodic, double expnt) |
Additional Inherited Members | |
Public Types inherited from madness::Convolution1D< Q > | |
typedef Q | opT |
The apply function uses this to infer resultT=opT*inputT. | |
1D convolution with (derivative) Gaussian; coeff and expnt given in simulation coordinates [0,1]
Note that the derivative is computed in simulation coordinates so you must be careful to scale the coefficients correctly.
|
inlineexplicit |
References madness::GaussianConvolution1D< Q >::m, and MADNESS_ASSERT.
|
inlinevirtual |
|
inlinevirtual |
Returns true if the block is expected to be small.
Implements madness::Convolution1D< Q >.
References beta, madness::GaussianConvolution1D< Q >::expnt, and pow().
|
inlinestaticprivate |
References madness::GaussianConvolution1D< Q >::expnt.
|
inlinevirtual |
Returns the level for projection.
Reimplemented from madness::Convolution1D< Q >.
References madness::GaussianConvolution1D< Q >::natlev.
|
inlinevirtual |
Compute the projection of the operator onto the double order polynomials.
The returned reference is to a cached tensor ... if you want to modify it, take a copy first.
Return in v
[p] p=0
..2*k-1
The kernel is coeff*exp(-expnt*z^2)*z^m (with m>0). This is equivalent to
where
Implements madness::Convolution1D< Q >.
References std::abs(), beta, madness::GaussianConvolution1D< Q >::coeff, e(), madness::GaussianConvolution1D< Q >::expnt, h(), madness::Convolution1D< Q >::k, madness::legendre_scaling_functions(), madness::GaussianConvolution1D< Q >::m, madness::Convolution1D< Q >::npt, p(), pow(), Q(), madness::Convolution1D< Q >::quad_w, madness::Convolution1D< Q >::quad_x, and v.
Referenced by main().
const Q madness::GaussianConvolution1D< Q >::coeff |
Coefficient.
Referenced by madness::GaussianConvolution1D< Q >::rnlp().
const double madness::GaussianConvolution1D< Q >::expnt |
Exponent.
Referenced by madness::GaussianConvolution1D< Q >::issmall(), madness::GaussianConvolution1D< Q >::maxR(), and madness::GaussianConvolution1D< Q >::rnlp().
const int madness::GaussianConvolution1D< Q >::m |
Order of derivative (0, 1, or 2 only)
Referenced by madness::GaussianConvolution1D< Q >::GaussianConvolution1D(), and madness::GaussianConvolution1D< Q >::rnlp().
const Level madness::GaussianConvolution1D< Q >::natlev |
Level to evaluate.
Referenced by madness::GaussianConvolution1D< Q >::natural_level().