MADNESS 0.10.1
madness::ConvolutionData1D< Q > Struct Template Reference

!!! Note that if Rnormf is zero then ALL of the tensors are empty More...

#include <convolution1d.h>

Collaboration diagram for madness::ConvolutionData1D< Q >:

Public Member Functions

 ConvolutionData1D (const Tensor< Q > &R, const Tensor< Q > &T)
 ConvolutionData1D (const Tensor< Q > &R, const Tensor< Q > &T, const bool modified)
void make_approx (const Tensor< Q > &R, Tensor< Q > &RU, Tensor< typename Tensor< Q >::scalar_type > &Rs, Tensor< Q > &RVT, double &norm)

Public Attributes

double N_diff
double N_F
 the norms according to Beylkin 2008, Eq. (21) ff
double N_up
double NSnormf
Tensor< Q > R
double Rnorm
double Rnormf
Tensor< typename Tensor< Q >::scalar_type > Rs
Tensor< Q > RU
Tensor< Q > RVT
Tensor< Q > T
 if NS: R=ns, T=T part of ns; if modified NS: T=\uparrow r^(n-1)
double Tnorm
double Tnormf
Tensor< typename Tensor< Q >::scalar_type > Ts
 hold relative errors, NOT the singular values..
Tensor< Q > TU
Tensor< Q > TVT
 SVD approximations to R and T.

Detailed Description

template<typename Q>
struct madness::ConvolutionData1D< Q >

!!! Note that if Rnormf is zero then ALL of the tensors are empty

actual data for 1 dimension and for 1 term and for 1 displacement for a convolution operator here we keep the transformation matrices

Constructor & Destructor Documentation

◆ ConvolutionData1D() [1/2]

template<typename Q>
madness::ConvolutionData1D< Q >::ConvolutionData1D ( const Tensor< Q > & R,
const Tensor< Q > & T )
inline

ctor for NS form make the operator matrices r^n and \uparrow r^(n-1)

Parameters
[in]Roperator matrix of the requested level; NS: unfilter(r^(n+1)); modified NS: r^n
[in]Tupsampled operator matrix from level n-1; NS: r^n; modified NS: filter( r^(n-1) )

References madness::copy(), e(), madness::FunctionDefaults< NDIM >::k, make_approx(), N_diff, N_F, N_up, madness::Tensor< T >::normf(), NSnormf, R, Rnorm, Rnormf, Rs, RU, RVT, T, Tnorm, Tnormf, Ts, TU, and TVT.

◆ ConvolutionData1D() [2/2]

template<typename Q>
madness::ConvolutionData1D< Q >::ConvolutionData1D ( const Tensor< Q > & R,
const Tensor< Q > & T,
const bool modified )
inline

ctor for modified NS form make the operator matrices r^n and \uparrow r^(n-1)

Parameters
[in]Roperator matrix of the requested level; NS: unfilter(r^(n+1)); modified NS: r^n
[in]Tupsampled operator matrix from level n-1; NS: r^n; modified NS: filter( r^(n-1) )
[in]modifieduse (un) modified NS form

References e(), make_approx(), N_diff, N_F, N_up, R, Rnorm, Rnormf, Rs, RU, RVT, T, Tnorm, Tnormf, Ts, TU, and TVT.

Member Function Documentation

◆ make_approx()

template<typename Q>
void madness::ConvolutionData1D< Q >::make_approx ( const Tensor< Q > & R,
Tensor< Q > & RU,
Tensor< typename Tensor< Q >::scalar_type > & Rs,
Tensor< Q > & RVT,
double & norm )
inline

approximate the operator matrices using SVD, and abuse Rs to hold the error instead of the singular values (seriously, who named this??)

References norm(), R, Rs, RU, RVT, and madness::svd().

Referenced by ConvolutionData1D(), and ConvolutionData1D().

Member Data Documentation

◆ N_diff

◆ N_F

template<typename Q>
double madness::ConvolutionData1D< Q >::N_F

the norms according to Beylkin 2008, Eq. (21) ff

Referenced by ConvolutionData1D(), ConvolutionData1D(), and madness::SeparatedConvolution< double, 3 >::munorm2_modified().

◆ N_up

◆ NSnormf

template<typename Q>
double madness::ConvolutionData1D< Q >::NSnormf

Referenced by ConvolutionData1D().

◆ R

◆ Rnorm

template<typename Q>
double madness::ConvolutionData1D< Q >::Rnorm

◆ Rnormf

template<typename Q>
double madness::ConvolutionData1D< Q >::Rnormf

◆ Rs

◆ RU

◆ RVT

template<typename Q>
Tensor<Q> madness::ConvolutionData1D< Q >::RVT

◆ T

template<typename Q>
Tensor<Q> madness::ConvolutionData1D< Q >::T

if NS: R=ns, T=T part of ns; if modified NS: T=\uparrow r^(n-1)

Referenced by ConvolutionData1D(), and ConvolutionData1D().

◆ Tnorm

template<typename Q>
double madness::ConvolutionData1D< Q >::Tnorm

◆ Tnormf

template<typename Q>
double madness::ConvolutionData1D< Q >::Tnormf

◆ Ts

template<typename Q>
Tensor<typename Tensor<Q>::scalar_type> madness::ConvolutionData1D< Q >::Ts

hold relative errors, NOT the singular values..

Referenced by ConvolutionData1D(), and ConvolutionData1D().

◆ TU

template<typename Q>
Tensor<Q> madness::ConvolutionData1D< Q >::TU

◆ TVT

template<typename Q>
Tensor<Q> madness::ConvolutionData1D< Q >::TVT

SVD approximations to R and T.

Referenced by ConvolutionData1D(), and ConvolutionData1D().


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