MADNESS  version 0.9
Public Member Functions | Public Attributes | List of all members
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 >:
Collaboration graph
[legend]

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

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

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

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 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 madness::copy(), k, and madness::ConvolutionData1D< Q >::make_approx().

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 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 madness::ConvolutionData1D< Q >::make_approx(), madness::ConvolutionData1D< Q >::Rnormf, madness::ConvolutionData1D< Q >::T, and madness::ConvolutionData1D< Q >::Tnormf.

Member Function Documentation

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 madness::norm(), madness::ConvolutionData1D< Q >::RVT, and madness::svd().

Referenced by madness::ConvolutionData1D< Q >::ConvolutionData1D().

Member Data Documentation

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

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

template<typename Q>
double madness::ConvolutionData1D< Q >::N_up
template<typename Q>
double madness::ConvolutionData1D< Q >::NSnormf
template<typename Q>
Tensor<Q> madness::ConvolutionData1D< Q >::R
template<typename Q>
double madness::ConvolutionData1D< Q >::Rnorm
template<typename Q>
double madness::ConvolutionData1D< Q >::Rnormf
template<typename Q>
Tensor<typename Tensor<Q>::scalar_type> madness::ConvolutionData1D< Q >::Rs
template<typename Q>
Tensor<Q> madness::ConvolutionData1D< Q >::RU
template<typename Q>
Tensor<Q> madness::ConvolutionData1D< Q >::RVT
template<typename Q>
Tensor<Q> madness::ConvolutionData1D< Q >::T

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

Referenced by madness::ConvolutionData1D< Q >::ConvolutionData1D().

template<typename Q>
double madness::ConvolutionData1D< Q >::Tnorm
template<typename Q>
double madness::ConvolutionData1D< Q >::Tnormf
template<typename Q>
Tensor<typename Tensor<Q>::scalar_type> madness::ConvolutionData1D< Q >::Ts

hold relative errors, NOT the singular values..

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

SVD approximations to R and T.


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