Far field matrix F. More...

#include <f02.hh>

Inheritance diagram for cluster::F02< NodeX, NodeY >:
cluster::ClstF< NodeX, NodeY > concepts::OutputOperator

Classes

class  Ffld
 Class to store the far field coefficients. More...
 

Public Types

typedef ClstF< NodeX, NodeY >::FX FX
 
typedef ClstF< NodeX, NodeY >::FY FY
 
typedef ClstF< NodeX, NodeY >::NfldNodes NfldNodes
 
typedef ClstF< NodeX, NodeY >::NfldScan NfldScan
 
typedef ClstF< NodeX, NodeY >::TraitsX TraitsX
 Interface of the far field. More...
 
typedef ClstF< NodeX, NodeY >::TraitsY TraitsY
 

Public Member Functions

 F02 (const Tree< NodeX > &treeX, const Tree< NodeY > &treeY, const ExpansionF< FX > &exp, concepts::Real eps, concepts::Real s, uint minsz)
 
std::ostream & info (std::ostream &os, uint idxX, uint idxY) const
 
float memory () const
 Memory used by F02 in bytes. More...
 
void operator() (const ClstY< NodeY > &vecY, ClstX< NodeX > &vecX) const
 Application operator. More...
 
NfldScanscan () const
 
 ~F02 ()
 

Protected Member Functions

std::ostream & info (std::ostream &os) const
 Some basic informations. More...
 

Private Member Functions

void constructor_ (const NodeX *clstX, const NodeY *clstY)
 Constructor for recursive calls. More...
 
template<class Trts , class Nd >
uint info_ (uint idx, const Nd *clst, std::unordered_map< uint, uint > &nlf) const
 

Private Attributes

concepts::Real eps_
 
const ExpansionF< FX > & exp_
 Kernel expansion. More...
 
Ffldffld_
 Far field entries. More...
 
uint m_
 Expansion order. More...
 
uint minsz_
 Minimal size for a cluster pair in the far field. More...
 
uint nffld_
 Number of far field entries. More...
 
uint nffldval_
 
concepts::Joiner< NfldNodes, 1 > * nfld_
 Near field entries. More...
 
uint nnfld_
 Number of near field entries. More...
 
concepts::Real s_
 
const Tree< NodeX > & treeX_
 Cluster trees. More...
 
const Tree< NodeY > & treeY_
 

Detailed Description

template<class NodeX, class NodeY>
class cluster::F02< NodeX, NodeY >

Far field matrix F.

Expansion order m, $\eta^m/(c-r)^s < \epsilon$

Parameters
NodeXCluster node
NodeYCluster node

Definition at line 23 of file f02.hh.

Member Typedef Documentation

◆ FX

template<class NodeX , class NodeY >
typedef ClstF<NodeX, NodeY>::FX cluster::F02< NodeX, NodeY >::FX

Definition at line 28 of file f02.hh.

◆ FY

template<class NodeX , class NodeY >
typedef ClstF<NodeX, NodeY>::FY cluster::F02< NodeX, NodeY >::FY

Definition at line 29 of file f02.hh.

◆ NfldNodes

template<class NodeX , class NodeY >
typedef ClstF<NodeX, NodeY>::NfldNodes cluster::F02< NodeX, NodeY >::NfldNodes

Definition at line 30 of file f02.hh.

◆ NfldScan

template<class NodeX , class NodeY >
typedef ClstF<NodeX, NodeY>::NfldScan cluster::F02< NodeX, NodeY >::NfldScan

Definition at line 31 of file f02.hh.

◆ TraitsX

template<class NodeX , class NodeY >
typedef ClstF<NodeX, NodeY>::TraitsX cluster::F02< NodeX, NodeY >::TraitsX

Interface of the far field.

Definition at line 26 of file f02.hh.

◆ TraitsY

template<class NodeX , class NodeY >
typedef ClstF<NodeX, NodeY>::TraitsY cluster::F02< NodeX, NodeY >::TraitsY

Definition at line 27 of file f02.hh.

Constructor & Destructor Documentation

◆ F02()

template<class NodeX , class NodeY >
cluster::F02< NodeX, NodeY >::F02 ( const Tree< NodeX > &  treeX,
const Tree< NodeY > &  treeY,
const ExpansionF< FX > &  exp,
concepts::Real  eps,
concepts::Real  s,
uint  minsz 
)

◆ ~F02()

template<class NodeX , class NodeY >
cluster::F02< NodeX, NodeY >::~F02 ( )

Member Function Documentation

◆ constructor_()

template<class NodeX , class NodeY >
void cluster::F02< NodeX, NodeY >::constructor_ ( const NodeX *  clstX,
const NodeY *  clstY 
)
private

Constructor for recursive calls.

◆ info() [1/2]

template<class NodeX , class NodeY >
std::ostream& cluster::F02< NodeX, NodeY >::info ( std::ostream &  os) const
protectedvirtual

Some basic informations.

Reimplemented from concepts::OutputOperator.

◆ info() [2/2]

template<class NodeX , class NodeY >
std::ostream& cluster::F02< NodeX, NodeY >::info ( std::ostream &  os,
uint  idxX,
uint  idxY 
) const

◆ info_()

template<class NodeX , class NodeY >
template<class Trts , class Nd >
uint cluster::F02< NodeX, NodeY >::info_ ( uint  idx,
const Nd *  clst,
std::unordered_map< uint, uint > &  nlf 
) const
private

◆ memory()

template<class NodeX , class NodeY >
float cluster::F02< NodeX, NodeY >::memory
inline

Memory used by F02 in bytes.

Definition at line 117 of file f02.hh.

◆ operator()()

template<class NodeX , class NodeY >
void cluster::F02< NodeX, NodeY >::operator() ( const ClstY< NodeY > &  vecY,
ClstX< NodeX > &  vecX 
) const
virtual

Application operator.

Implements cluster::ClstF< NodeX, NodeY >.

◆ scan()

template<class NodeX , class NodeY >
NfldScan* cluster::F02< NodeX, NodeY >::scan ( ) const
inlinevirtual

Implements cluster::ClstF< NodeX, NodeY >.

Definition at line 108 of file f02.hh.

Member Data Documentation

◆ eps_

template<class NodeX , class NodeY >
concepts::Real cluster::F02< NodeX, NodeY >::eps_
private

Definition at line 74 of file f02.hh.

◆ exp_

template<class NodeX , class NodeY >
const ExpansionF<FX>& cluster::F02< NodeX, NodeY >::exp_
private

Kernel expansion.

Definition at line 70 of file f02.hh.

◆ ffld_

template<class NodeX , class NodeY >
Ffld* cluster::F02< NodeX, NodeY >::ffld_
private

Far field entries.

Definition at line 80 of file f02.hh.

◆ m_

template<class NodeX , class NodeY >
uint cluster::F02< NodeX, NodeY >::m_
private

Expansion order.

Definition at line 73 of file f02.hh.

◆ minsz_

template<class NodeX , class NodeY >
uint cluster::F02< NodeX, NodeY >::minsz_
private

Minimal size for a cluster pair in the far field.

Definition at line 77 of file f02.hh.

◆ nffld_

template<class NodeX , class NodeY >
uint cluster::F02< NodeX, NodeY >::nffld_
private

Number of far field entries.

Definition at line 82 of file f02.hh.

◆ nffldval_

template<class NodeX , class NodeY >
uint cluster::F02< NodeX, NodeY >::nffldval_
private

Definition at line 83 of file f02.hh.

◆ nfld_

template<class NodeX , class NodeY >
concepts::Joiner<NfldNodes, 1>* cluster::F02< NodeX, NodeY >::nfld_
private

Near field entries.

Definition at line 85 of file f02.hh.

◆ nnfld_

template<class NodeX , class NodeY >
uint cluster::F02< NodeX, NodeY >::nnfld_
private

Number of near field entries.

Definition at line 87 of file f02.hh.

◆ s_

template<class NodeX , class NodeY >
concepts::Real cluster::F02< NodeX, NodeY >::s_
private

Definition at line 75 of file f02.hh.

◆ treeX_

template<class NodeX , class NodeY >
const Tree<NodeX>& cluster::F02< NodeX, NodeY >::treeX_
private

Cluster trees.

Definition at line 66 of file f02.hh.

◆ treeY_

template<class NodeX , class NodeY >
const Tree<NodeY>& cluster::F02< NodeX, NodeY >::treeY_
private

Definition at line 67 of file f02.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