MADNESS  0.10.1
Classes | Public Member Functions | Private Attributes | List of all members
madness::GenericConvolution1D< Q, opT > Class Template Reference

Generic 1D convolution using brute force (i.e., slow) adaptive quadrature for rnlp. More...

#include <convolution1d.h>

Inheritance diagram for madness::GenericConvolution1D< Q, opT >:
Inheritance graph
[legend]
Collaboration diagram for madness::GenericConvolution1D< Q, opT >:
Collaboration graph
[legend]

Classes

struct  Shmoo
 

Public Member Functions

 GenericConvolution1D ()
 
 GenericConvolution1D (int k, const opT &op, int maxR, double arg=0.0)
 
bool issmall (Level n, Translation lx) const
 Returns true if the block of rnlp is expected to be small. More...
 
virtual Level natural_level () const
 Returns the level for projection. More...
 
Tensor< Qrnlp (Level n, Translation lx) const
 Compute the projection of the operator onto the double order polynomials. More...
 
- 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. More...
 
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. More...
 
const ConvolutionData1D< Q > * nonstandard (Level n, Translation lx) const
 Returns a pointer to the cached make_nonstandard form of the operator. More...
 
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. More...
 

Private Attributes

long maxl
 At natural level is l beyond which operator is zero. More...
 
opT op
 

Additional Inherited Members

- Public Types inherited from madness::Convolution1D< Q >
typedef Q opT
 The apply function uses this to infer resultT=opT*inputT. More...
 
- 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. More...
 
int maxR
 Number of lattice translations for sum. More...
 
SimpleCache< ConvolutionData1D< Q >, 2 > mod_ns_cache
 
int npt
 Number of quadrature points (is this used?) More...
 
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
 

Detailed Description

template<typename Q, typename opT>
class madness::GenericConvolution1D< Q, opT >

Generic 1D convolution using brute force (i.e., slow) adaptive quadrature for rnlp.

Calls op(x) with x in simulation coordinates to evaluate the function.

Constructor & Destructor Documentation

◆ GenericConvolution1D() [1/2]

template<typename Q , typename opT >
madness::GenericConvolution1D< Q, opT >::GenericConvolution1D ( )
inline

◆ GenericConvolution1D() [2/2]

template<typename Q , typename opT >
madness::GenericConvolution1D< Q, opT >::GenericConvolution1D ( int  k,
const opT op,
int  maxR,
double  arg = 0.0 
)
inline

Member Function Documentation

◆ issmall()

template<typename Q , typename opT >
bool madness::GenericConvolution1D< Q, opT >::issmall ( Level  n,
Translation  lx 
) const
inlinevirtual

Returns true if the block of rnlp is expected to be small.

Implements madness::Convolution1D< Q >.

References madness::GenericConvolution1D< Q, opT >::maxl, and madness::GenericConvolution1D< Q, opT >::natural_level().

◆ natural_level()

template<typename Q , typename opT >
virtual Level madness::GenericConvolution1D< Q, opT >::natural_level ( ) const
inlinevirtual

◆ rnlp()

template<typename Q , typename opT >
Tensor<Q> madness::GenericConvolution1D< Q, opT >::rnlp ( Level  n,
Translation  lx 
) const
inlinevirtual

Compute the projection of the operator onto the double order polynomials.

Implements madness::Convolution1D< Q >.

References madness::adq1(), e(), madness::Convolution1D< Q >::npt, madness::Tensor< T >::ptr(), and madness::Convolution1D< Q >::quad_x.

Referenced by main().

Member Data Documentation

◆ maxl

template<typename Q , typename opT >
long madness::GenericConvolution1D< Q, opT >::maxl
private

At natural level is l beyond which operator is zero.

Referenced by madness::GenericConvolution1D< Q, opT >::GenericConvolution1D(), and madness::GenericConvolution1D< Q, opT >::issmall().

◆ op

template<typename Q , typename opT >
opT madness::GenericConvolution1D< Q, opT >::op
private

The documentation for this class was generated from the following file: