HLIBpro  2.9.1
TBlockClusterTree Class Reference

Represents a block cluster tree.

#include <TBlockClusterTree.hh>

Public Member Functions

 TBlockClusterTree (TBlockCluster *aroot, const TClusterTree *arow_ct, const TClusterTree *acol_ct)
 
virtual ~TBlockClusterTree ()
 delete block cluster tree (but not the cluster trees)
 
const TBlockCluster * root () const
 return root of block cluster tree
 
const TClusterTree * row_ct () const
 return row cluster tree
 
const TClusterTree * col_ct () const
 return column cluster tree
 
uint nnodes () const
 return number of nodes in tree
 
uint depth () const
 return depth of tree
 
uint compute_c_sp () const
 compute sparsity constant of tree
 
uint compute_c_sh (const uint nprocs) const
 compute sharing constant of tree with distribution onto nprocs processors
 
virtual void collect_leaves (std::list< TBlockCluster * > &leaves, const int adepth=-1, const int level=0) const
 collect leaves or nodes with depth adepth in tree
 
virtual size_t byte_size () const
 return size in bytes used by this object
 

Protected Attributes

TBlockCluster * _root
 root of the block cluster tree
 
const TClusterTree * _row_ct
 row cluster tree
 
const TClusterTree * _col_ct
 column cluster tree
 

Constructor & Destructor Documentation

◆ TBlockClusterTree()

TBlockClusterTree ( TBlockCluster *  aroot,
const TClusterTree *  arow_ct,
const TClusterTree *  acol_ct 
)
inline

construct block cluster tree with aroot as root and arow_ct and acol_ct as corresponding cluster trees