cluster::Tree03< CNode > Class Template Reference

Cluster tree. More...

#include <tree03.hh>

Inheritance diagram for cluster::Tree03< CNode >:
cluster::Tree< CNode >

Public Types

typedef Traits::F F
 
typedef CNode Node
 Node type of the tree used for the interface of the far field matrices. More...
 
typedef TreeTraits03< CNode > Traits
 Interface of the tree. More...
 

Public Member Functions

virtual std::ostream & info (std::ostream &os) const
 
uint nclst () const
 Number of clusters. More...
 
uint nleaf () const
 Number of leafs. More...
 
const CNode * root () const
 Root node of the tree. More...
 
void sketch (std::ostream &os, const CNode *lnk=0, uint l=0)
 Sketch of a subtree. More...
 
const concepts::Space< F > & space () const
 Space of the tree. More...
 
 Tree03 (const concepts::Space< F > &spc, const BBall< F > &ball, uint nlfmin=1)
 Constructor. More...
 
 ~Tree03 ()
 

Private Member Functions

CNode * concat_ (CNode *a, CNode *b)
 Concats two lists. More...
 
CNode * constructor_ (CNode *lfset, CebyCenter< CNode > &cby)
 Constructor used for recursive calls. More...
 
void destructor_ (CNode *clst)
 Destructor used for recursive calls. More...
 
void info_ (const Node *clst, concepts::Real &rhomin, concepts::Real &rhomax, concepts::Real &taumin, concepts::Real &taumax, uint &h) const
 Computes some information used by info() More...
 

Private Attributes

uint nclst_
 Number of clusters in the tree. More...
 
uint nlf_
 Number of leafs in the tree. More...
 
uint nlfmin_
 Minimal leafs contained in a cluster. More...
 
CNode * root_
 Root of the cluster tree. More...
 
const concepts::Space< F > & spc_
 Space of the tree. More...
 

Detailed Description

template<class CNode>
class cluster::Tree03< CNode >

Cluster tree.

The clusters are approximated by the Cebysev ball. The subdivision is done by cutting the ball by a plane perpendicular to the longest vector in between two extremal points.

Parameters
CNodeNode type of the cluster tree

Definition at line 93 of file tree03.hh.

Member Typedef Documentation

◆ F

template<class CNode >
typedef Traits::F cluster::Tree03< CNode >::F

Definition at line 97 of file tree03.hh.

◆ Node

template<class CNode >
typedef CNode cluster::Tree< CNode >::Node
inherited

Node type of the tree used for the interface of the far field matrices.

Definition at line 294 of file tree.hh.

◆ Traits

template<class CNode >
typedef TreeTraits03<CNode> cluster::Tree03< CNode >::Traits

Interface of the tree.

Definition at line 96 of file tree03.hh.

Constructor & Destructor Documentation

◆ Tree03()

template<class CNode >
cluster::Tree03< CNode >::Tree03 ( const concepts::Space< F > &  spc,
const BBall< F > &  ball,
uint  nlfmin = 1 
)

Constructor.

Exceptions
MissingFeature
Parameters
spcSpace which elements should be clusterd
ballBounding ball for the elements of the space
nlfminMinimal leafs contained in a cluster

◆ ~Tree03()

template<class CNode >
cluster::Tree03< CNode >::~Tree03 ( )
inline

Definition at line 107 of file tree03.hh.

Member Function Documentation

◆ concat_()

template<class CNode >
CNode* cluster::Tree03< CNode >::concat_ ( CNode *  a,
CNode *  b 
)
private

Concats two lists.

◆ constructor_()

template<class CNode >
CNode* cluster::Tree03< CNode >::constructor_ ( CNode *  lfset,
CebyCenter< CNode > &  cby 
)
private

Constructor used for recursive calls.

Exceptions
MissingFeature

◆ destructor_()

template<class CNode >
void cluster::Tree03< CNode >::destructor_ ( CNode *  clst)
private

Destructor used for recursive calls.

◆ info()

template<class CNode >
std::ostream & cluster::Tree< CNode >::info ( std::ostream &  os) const
virtualinherited

Definition at line 364 of file tree.hh.

◆ info_()

template<class CNode >
void cluster::Tree< CNode >::info_ ( const Node clst,
concepts::Real rhomin,
concepts::Real rhomax,
concepts::Real taumin,
concepts::Real taumax,
uint &  h 
) const
privateinherited

Computes some information used by info()

Parameters
clstNode of the tree
rhominRatio of child radius divided by cluster radius
rhomaxRatio of child radius divided by cluster radius
tauminRatio of number of leafs of the child divided by the number of leafs of the cluster
hLongest path in the tree from clst to the leafs

Definition at line 330 of file tree.hh.

◆ nclst()

template<class CNode >
uint cluster::Tree03< CNode >::nclst ( ) const
inlinevirtual

Number of clusters.

Implements cluster::Tree< CNode >.

Definition at line 110 of file tree03.hh.

◆ nleaf()

template<class CNode >
uint cluster::Tree03< CNode >::nleaf ( ) const
inlinevirtual

Number of leafs.

Implements cluster::Tree< CNode >.

Definition at line 112 of file tree03.hh.

◆ root()

template<class CNode >
const CNode* cluster::Tree03< CNode >::root ( ) const
inlinevirtual

Root node of the tree.

Implements cluster::Tree< CNode >.

Definition at line 114 of file tree03.hh.

◆ sketch()

template<class CNode >
void cluster::Tree03< CNode >::sketch ( std::ostream &  os,
const CNode *  lnk = 0,
uint  l = 0 
)

Sketch of a subtree.

Parameters
osOutput stream
lnkRoot of the subtree which is sketched
lLevel, number of blanks printed on the left side

◆ space()

template<class CNode >
const concepts::Space<F>& cluster::Tree< CNode >::space ( ) const
inlineinherited

Space of the tree.

Definition at line 310 of file tree.hh.

Member Data Documentation

◆ nclst_

template<class CNode >
uint cluster::Tree03< CNode >::nclst_
private

Number of clusters in the tree.

Definition at line 129 of file tree03.hh.

◆ nlf_

template<class CNode >
uint cluster::Tree03< CNode >::nlf_
private

Number of leafs in the tree.

Definition at line 127 of file tree03.hh.

◆ nlfmin_

template<class CNode >
uint cluster::Tree03< CNode >::nlfmin_
private

Minimal leafs contained in a cluster.

Definition at line 125 of file tree03.hh.

◆ root_

template<class CNode >
CNode* cluster::Tree03< CNode >::root_
private

Root of the cluster tree.

Definition at line 131 of file tree03.hh.

◆ spc_

template<class CNode >
const concepts::Space<F>& cluster::Tree< CNode >::spc_
privateinherited

Space of the tree.

Definition at line 314 of file tree.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