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 bloch_k=0.0)
 
bool issmall (Level n, Translation lx) const final
 
virtual Level natural_level () const final
 Returns the level for projection.
 
Tensor< Qrnlp (Level n, Translation lx) const final
 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 bloch_k=0.0, KernelRange rng={})
 
virtual ~Convolution1D ()
 
bool get_issmall (Level n, Translation lx) const
 
const Tensor< Q > & get_rnlp (Level n, Translation lx) const
 
bool lattice_summed () 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
 
bool range_restricted () 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.
 
bool rnlp_is_zero (Level n, Translation l) const
 

Private Attributes

long maxl
 At natural level is l beyond which operator is zero.
 
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.
 
- Public Attributes inherited from madness::Convolution1D< Q >
double bloch_k
 k in exp(i k R) Bloch phase factor folded into lattice sum
 
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
 
KernelRange range
 if range is nonnull, kernel range limited to to range (in simulation cell units), useful for finite-range convolutions with periodic functions
 
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  bloch_k = 0.0 
)
inline

Member Function Documentation

◆ issmall()

template<typename Q , typename opT >
bool madness::GenericConvolution1D< Q, opT >::issmall ( Level  n,
Translation  lx 
) const
inlinefinalvirtual
Returns
true if the block of [r^n_l]_ij 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
inlinefinalvirtual

◆ rnlp()

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

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: