cluster::CebysevKF< K, Fspc > Class Template Referenceabstract

$F$ part of the Cebysev expansion for arbitrary kernels. More...

#include <cebysevK.hh>

Inheritance diagram for cluster::CebysevKF< K, Fspc >:
cluster::ExpansionF< concepts::Real >

Public Types

typedef Traits::Fkrnl Fkrnl
 
typedef CebysevKFTraits< K > Traits
 

Public Member Functions

virtual void apply (uint m, const FColExp *Fexp, const concepts::Real src[], concepts::Real dst[]) const=0
 Application of the expansion. More...
 
void apply (uint m, const FColExp *Fexp, const Fspc src[], Fspc dst[]) const
 
void apply (uint m, const FColF< Fkrnl > Fexp[], const Fspc src[], Fspc dst[]) const
 
uint blksz (uint m) const
 Size of memory used for the expansion. More...
 
void ceby2poly (uint m, const concepts::Real3d &z, Fkrnl F[]) const
 Conversion from Cebysev to monomial basis of interpolation polynom. More...
 
 CebysevKF (K &krnl, uint m, concepts::Real eta)
 Constructor. More...
 
void evaluate (uint m, const concepts::Real3d &z, FColExp *Fexp) const
 
void evaluate (uint m, const concepts::Real3d &z, FColF< Fkrnl > Fexp[]) const
 
void fit (uint m, const concepts::Real3d &z, Fkrnl F[]) const
 Interpolation. More...
 
virtual FColF< Fkrnl > * getCol (uint blksz) const
 Allocates memory for the expansion coefficients. More...
 
uint m () const
 
virtual uint m () const=0
 Order of the expansion. More...
 
virtual ~CebysevKF ()
 

Private Member Functions

int index_ (int ix, int iy, int iz) const
 

Private Attributes

concepts::Real ** cebysev_
 Values of the Cebysev polynomials. More...
 
Fkrnld_
 Auxiliary vectors. More...
 
Fkrnldd_
 
concepts::Real eta_
 Interpolation coefficient. More...
 
Fkrnlkernel_
 values of the kernel function More...
 
K & krnl_
 Kernel function. More...
 
uint m_
 Expansion order. More...
 
concepts::Realx_
 Interpolation points. More...
 
concepts::Realy_
 
concepts::Realz_
 

Detailed Description

template<class K = bem::Laplace, class Fspc = concepts::Real>
class cluster::CebysevKF< K, Fspc >

$F$ part of the Cebysev expansion for arbitrary kernels.

Parameters
KKernel function
FspcField of the space (Real or Cmplx)

Definition at line 35 of file cebysevK.hh.

Member Typedef Documentation

◆ Fkrnl

template<class K = bem::Laplace, class Fspc = concepts::Real>
typedef Traits::Fkrnl cluster::CebysevKF< K, Fspc >::Fkrnl

Definition at line 38 of file cebysevK.hh.

◆ Traits

template<class K = bem::Laplace, class Fspc = concepts::Real>
typedef CebysevKFTraits<K> cluster::CebysevKF< K, Fspc >::Traits

Definition at line 37 of file cebysevK.hh.

Constructor & Destructor Documentation

◆ CebysevKF()

template<class K = bem::Laplace, class Fspc = concepts::Real>
cluster::CebysevKF< K, Fspc >::CebysevKF ( K &  krnl,
uint  m,
concepts::Real  eta 
)

Constructor.

Parameters
krnlKernel function
mExpansion order
etaSize of interpolation domain $0<\eta<1$

◆ ~CebysevKF()

template<class K = bem::Laplace, class Fspc = concepts::Real>
virtual cluster::CebysevKF< K, Fspc >::~CebysevKF ( )
virtual

Member Function Documentation

◆ apply() [1/3]

virtual void cluster::ExpansionF< concepts::Real >::apply ( uint  m,
const FColExp Fexp,
const concepts::Real  src[],
concepts::Real  dst[] 
) const
pure virtualinherited

Application of the expansion.

Exceptions
MissingFeature
Parameters
mExpansion order
FExpansion coefficients
srcSource
dstDestination (output)

◆ apply() [2/3]

template<class K , class Fspc >
void cluster::CebysevKF< K, Fspc >::apply ( uint  m,
const FColExp Fexp,
const Fspc  src[],
Fspc  dst[] 
) const
inline
Exceptions
MissingFeature

Definition at line 123 of file cebysevK.hh.

◆ apply() [3/3]

template<class K = bem::Laplace, class Fspc = concepts::Real>
void cluster::CebysevKF< K, Fspc >::apply ( uint  m,
const FColF< Fkrnl Fexp[],
const Fspc  src[],
Fspc  dst[] 
) const

◆ blksz()

template<class K = bem::Laplace, class Fspc = concepts::Real>
uint cluster::CebysevKF< K, Fspc >::blksz ( uint  m) const
inlinevirtual

Size of memory used for the expansion.

Parameters
mExpansion order

Implements cluster::ExpansionF< concepts::Real >.

Definition at line 71 of file cebysevK.hh.

◆ ceby2poly()

template<class K = bem::Laplace, class Fspc = concepts::Real>
void cluster::CebysevKF< K, Fspc >::ceby2poly ( uint  m,
const concepts::Real3d z,
Fkrnl  F[] 
) const

Conversion from Cebysev to monomial basis of interpolation polynom.

◆ evaluate() [1/2]

template<class K , class Fspc >
void cluster::CebysevKF< K, Fspc >::evaluate ( uint  m,
const concepts::Real3d z,
FColExp Fexp 
) const
inlinevirtual
Exceptions
MissingFeature

Implements cluster::ExpansionF< concepts::Real >.

Definition at line 102 of file cebysevK.hh.

◆ evaluate() [2/2]

template<class K , class Fspc >
void cluster::CebysevKF< K, Fspc >::evaluate ( uint  m,
const concepts::Real3d z,
FColF< Fkrnl Fexp[] 
) const
inline

Definition at line 116 of file cebysevK.hh.

◆ fit()

template<class K = bem::Laplace, class Fspc = concepts::Real>
void cluster::CebysevKF< K, Fspc >::fit ( uint  m,
const concepts::Real3d z,
Fkrnl  F[] 
) const

Interpolation.

◆ getCol()

template<class K = bem::Laplace, class Fspc = concepts::Real>
virtual FColF<Fkrnl>* cluster::CebysevKF< K, Fspc >::getCol ( uint  blksz) const
inlinevirtual

Allocates memory for the expansion coefficients.

Implements cluster::ExpansionF< concepts::Real >.

Definition at line 74 of file cebysevK.hh.

◆ index_()

template<class K , class Fspc >
int cluster::CebysevKF< K, Fspc >::index_ ( int  ix,
int  iy,
int  iz 
) const
inlineprivate

Definition at line 96 of file cebysevK.hh.

◆ m() [1/2]

template<class K = bem::Laplace, class Fspc = concepts::Real>
uint cluster::CebysevKF< K, Fspc >::m ( ) const
inline

Definition at line 72 of file cebysevK.hh.

◆ m() [2/2]

virtual uint cluster::ExpansionF< concepts::Real >::m
pure virtualinherited

Order of the expansion.

Member Data Documentation

◆ cebysev_

template<class K = bem::Laplace, class Fspc = concepts::Real>
concepts::Real** cluster::CebysevKF< K, Fspc >::cebysev_
private

Values of the Cebysev polynomials.

Definition at line 46 of file cebysevK.hh.

◆ d_

template<class K = bem::Laplace, class Fspc = concepts::Real>
Fkrnl* cluster::CebysevKF< K, Fspc >::d_
private

Auxiliary vectors.

Definition at line 56 of file cebysevK.hh.

◆ dd_

template<class K = bem::Laplace, class Fspc = concepts::Real>
Fkrnl* cluster::CebysevKF< K, Fspc >::dd_
private

Definition at line 57 of file cebysevK.hh.

◆ eta_

template<class K = bem::Laplace, class Fspc = concepts::Real>
concepts::Real cluster::CebysevKF< K, Fspc >::eta_
private

Interpolation coefficient.

Definition at line 44 of file cebysevK.hh.

◆ kernel_

template<class K = bem::Laplace, class Fspc = concepts::Real>
Fkrnl* cluster::CebysevKF< K, Fspc >::kernel_
private

values of the kernel function

Definition at line 52 of file cebysevK.hh.

◆ krnl_

template<class K = bem::Laplace, class Fspc = concepts::Real>
K& cluster::CebysevKF< K, Fspc >::krnl_
private

Kernel function.

Definition at line 54 of file cebysevK.hh.

◆ m_

template<class K = bem::Laplace, class Fspc = concepts::Real>
uint cluster::CebysevKF< K, Fspc >::m_
private

Expansion order.

Definition at line 42 of file cebysevK.hh.

◆ x_

template<class K = bem::Laplace, class Fspc = concepts::Real>
concepts::Real* cluster::CebysevKF< K, Fspc >::x_
private

Interpolation points.

Definition at line 48 of file cebysevK.hh.

◆ y_

template<class K = bem::Laplace, class Fspc = concepts::Real>
concepts::Real* cluster::CebysevKF< K, Fspc >::y_
private

Definition at line 49 of file cebysevK.hh.

◆ z_

template<class K = bem::Laplace, class Fspc = concepts::Real>
concepts::Real* cluster::CebysevKF< K, Fspc >::z_
private

Definition at line 50 of file cebysevK.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich