Clustering.hpp File Reference

Main include file for the different clustering/ordering codes. These ordering codes can be used to define a (binary) cluster tree. More...

#include <random>
#include <vector>
#include "structured/ClusterTree.hpp"
#include "dense/DenseMatrix.hpp"
Include dependency graph for Clustering.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  strumpack
 

Enumerations

enum class  strumpack::ClusteringAlgorithm {
  strumpack::NATURAL , strumpack::TWO_MEANS , strumpack::KD_TREE , strumpack::PCA ,
  strumpack::COBBLE
}
 

Functions

std::string strumpack::get_name (ClusteringAlgorithm c)
 
ClusteringAlgorithm strumpack::get_clustering_algorithm (const std::string &c)
 
template<typename T >
void strumpack::pca_partition (DenseMatrix< T > &p, std::vector< std::size_t > &nc, int *perm)
 
template<typename T >
structured::ClusterTree strumpack::recursive_pca (DenseMatrix< T > &p, std::size_t cluster_size, int *perm)
 
template<typename T >
void strumpack::cobble_partition (DenseMatrix< T > &p, std::vector< std::size_t > &nc, int *perm)
 
template<typename T >
structured::ClusterTree strumpack::recursive_cobble (DenseMatrix< T > &p, std::size_t cluster_size, int *perm)
 
template<typename T >
structured::ClusterTree strumpack::recursive_2_means (DenseMatrix< T > &p, std::size_t cluster_size, int *perm, std::mt19937 &generator)
 
template<typename T >
void strumpack::kd_partition (DenseMatrix< T > &p, std::vector< std::size_t > &nc, std::size_t cluster_size, int *perm)
 
template<typename T >
structured::ClusterTree strumpack::recursive_kd (DenseMatrix< T > &p, std::size_t cluster_size, int *perm)
 
template<typename scalar_t >
structured::ClusterTree strumpack::binary_tree_clustering (ClusteringAlgorithm algo, DenseMatrix< scalar_t > &p, std::vector< int > &perm, std::size_t cluster_size)
 

Detailed Description

Main include file for the different clustering/ordering codes. These ordering codes can be used to define a (binary) cluster tree.