MPQC
3.0.0-alpha
|
Determines the clustering of shells based on k-means clustering. More...
#include <chemistry/qc/basis/shellorder.hpp>
Public Types | |
using | Shell = sc::GaussianBasisSet::Shell |
using | Atom = KCluster::Atom |
using | ShellRange = std::vector< std::size_t > |
Each element represents the shell a new tile starts on. More... | |
using | Vector3 = KCluster::Vector3 |
Public Member Functions | |
ShellOrder (const sc::Ref< sc::GaussianBasisSet > &basis) | |
Initializes ShellOrder with the atoms from the molecule and the shells from the basis. | |
std::vector< Shell > | ordered_shells (std::size_t nclusters, const sc::GaussianBasisSet *new_parent_basis) |
Returns a list of shells ordered by which cluster they belong to. More... | |
std::vector< KCluster > & | get_clusters (std::size_t nclusters) |
ShellRange | shell_ranges () const |
Returns a a ShellRange which specifies what shell each tile starts on. | |
Determines the clustering of shells based on k-means clustering.
using mpqc::TA::ShellOrder::ShellRange = std::vector<std::size_t> |
Each element represents the shell a new tile starts on.
So if the vector looks like | 0, 5, 6 ) then tile 0 is from 0-4, tile 1 has 5, tile 3 has 6.
|
inline |
Returns a list of shells ordered by which cluster they belong to.
Must pass in the new basis so the shells get the correct parent.