Zoltan2
|
The class containing ordering solutions. More...
#include <Zoltan2_OrderingSolution.hpp>
Public Member Functions | |
OrderingSolution (index_t perm_size) | |
Constructor allocates memory for the solution. More... | |
bool | havePerm () const |
Do we have the direct permutation? More... | |
void | setHavePerm (bool status) |
Set havePerm (intended for ordering algorithms only) More... | |
bool | haveInverse () const |
Do we have the inverse permutation? More... | |
void | setHaveInverse (bool status) |
Set haveInverse (intended for ordering algorithms only) More... | |
void | setHaveSeparator (bool status) |
set all separator flags. More... | |
bool | haveSeparatorRange () const |
Do we have the separator range? More... | |
void | setHaveSeparatorRange (bool status) |
Set haveSeparatorRange (intended for ordering algorithms only) More... | |
bool | haveSeparatorTree () const |
Do we have the separator tree? More... | |
bool | haveSeparators () const |
Do we have the separators? More... | |
void | setHaveSeparatorTree (bool status) |
Set haveSeparatorTree (intended for ordering algorithms only) More... | |
void | computePerm () |
Compute direct permutation from inverse. More... | |
void | computeInverse () |
Compute inverse permutation. More... | |
void | setNumSeparatorBlocks (index_t nblks) |
Set number of separator column blocks. More... | |
size_t | getPermutationSize () const |
Get (local) size of permutation. More... | |
index_t | getNumSeparatorBlocks () const |
Get number of separator column blocks. More... | |
const ArrayRCP< index_t > & | getPermutationRCP (bool inverse=false) const |
Get (local) permuted GIDs by RCP. More... | |
bool | getVertexSeparator (index_t &numBlocks, index_t *range, index_t *tree) const |
return vertex separator variables by reference. More... | |
const ArrayRCP< index_t > & | getSeparatorRangeRCP () const |
Get (local) separator range by RCP. More... | |
const ArrayRCP< index_t > & | getSeparatorTreeRCP () const |
Get (local) separator tree by RCP. More... | |
ArrayRCP< index_t > & | getPermutationRCPConst (bool inverse=false) const |
Get (local) permuted GIDs by const RCP. More... | |
ArrayRCP< index_t > & | getSeparatorRangeRCPConst () const |
Get separator range by const RCP. More... | |
ArrayRCP< index_t > & | getSeparatorTreeRCPConst () const |
Get separator tree by const RCP. More... | |
index_t * | getPermutationView (bool inverse=false) const |
Get pointer to permutation. If inverse = true, return inverse permutation. By default, perm[i] is where new index i can be found in the old ordering. When inverse==true, perm[i] is where old index i can be found in the new ordering. More... | |
index_t * | getSeparatorRangeView () const |
Get pointer to separator range. More... | |
index_t * | getSeparatorTreeView () const |
Get pointer to separator tree. More... | |
index_t & | NumSeparatorBlocks () |
Get reference to separator column block. More... | |
int | validatePerm () |
returns 0 if permutation is valid, negative if invalid. More... | |
Public Member Functions inherited from Zoltan2::Solution | |
virtual | ~Solution () |
Protected Attributes | |
size_t | perm_size_ |
bool | havePerm_ |
bool | haveInverse_ |
bool | haveSeparatorRange_ |
bool | haveSeparatorTree_ |
ArrayRCP< index_t > | perm_ |
ArrayRCP< index_t > | invperm_ |
ArrayRCP< index_t > | separatorRange_ |
ArrayRCP< index_t > | separatorTree_ |
index_t | separatorColBlocks_ |
The class containing ordering solutions.
Template parameters: \li \c index_t index type index_t will be lno_t (local) or gno_t (global)
The ordering solution always contains the permutation and the inverse permutation. These should be accessed through the accessor methods defined in this class, such as getPermutation(). Some ordering algorithms may compute and store other information. Currently, only serial ordering of the local data is supported.
In Zoltan2, perm[i]=j means index i in the reordered vector/matrix corresponds to index j in the old ordering. In Matlab notation, A(perm,perm) is the reordered matrix. This is consistent with SuiteSparse (AMD) and several other ordering packages. Unfortunately, this notation may conflict with a few other packages (such as Ifpack2).
Definition at line 70 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Constructor allocates memory for the solution.
Definition at line 76 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Do we have the direct permutation?
Definition at line 93 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Set havePerm (intended for ordering algorithms only)
Definition at line 100 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Do we have the inverse permutation?
Definition at line 108 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Set haveInverse (intended for ordering algorithms only)
Definition at line 115 of file Zoltan2_OrderingSolution.hpp.
|
inline |
set all separator flags.
Definition at line 122 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Do we have the separator range?
Definition at line 130 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Set haveSeparatorRange (intended for ordering algorithms only)
Definition at line 137 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Do we have the separator tree?
Definition at line 144 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Do we have the separators?
Definition at line 151 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Set haveSeparatorTree (intended for ordering algorithms only)
Definition at line 158 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Compute direct permutation from inverse.
Definition at line 165 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Compute inverse permutation.
Definition at line 181 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Set number of separator column blocks.
Definition at line 197 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Get (local) size of permutation.
Definition at line 206 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Get number of separator column blocks.
Definition at line 210 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Get (local) permuted GIDs by RCP.
Get (local) permutation by RCP. If inverse = true, return inverse permutation. By default, perm[i] is where new index i can be found in the old ordering. When inverse==true, perm[i] is where old index i can be found in the new ordering.
Definition at line 221 of file Zoltan2_OrderingSolution.hpp.
|
inline |
return vertex separator variables by reference.
Definition at line 231 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Get (local) separator range by RCP.
Definition at line 247 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Get (local) separator tree by RCP.
Definition at line 254 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Get (local) permuted GIDs by const RCP.
Get (local) permutation by const RCP. If inverse = true, return inverse permutation. By default, perm[i] is where new index i can be found in the old ordering. When inverse==true, perm[i] is where old index i can be found in the new ordering.
Definition at line 271 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Get separator range by const RCP.
Definition at line 281 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Get separator tree by const RCP.
Definition at line 288 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Get pointer to permutation. If inverse = true, return inverse permutation. By default, perm[i] is where new index i can be found in the old ordering. When inverse==true, perm[i] is where old index i can be found in the new ordering.
Definition at line 299 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Get pointer to separator range.
Definition at line 313 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Get pointer to separator tree.
Definition at line 323 of file Zoltan2_OrderingSolution.hpp.
|
inline |
Get reference to separator column block.
Definition at line 333 of file Zoltan2_OrderingSolution.hpp.
|
inline |
returns 0 if permutation is valid, negative if invalid.
Definition at line 340 of file Zoltan2_OrderingSolution.hpp.
|
protected |
Definition at line 373 of file Zoltan2_OrderingSolution.hpp.
|
protected |
Definition at line 374 of file Zoltan2_OrderingSolution.hpp.
|
protected |
Definition at line 375 of file Zoltan2_OrderingSolution.hpp.
|
protected |
Definition at line 376 of file Zoltan2_OrderingSolution.hpp.
|
protected |
Definition at line 377 of file Zoltan2_OrderingSolution.hpp.
|
protected |
Definition at line 378 of file Zoltan2_OrderingSolution.hpp.
|
protected |
Definition at line 379 of file Zoltan2_OrderingSolution.hpp.
|
protected |
Definition at line 380 of file Zoltan2_OrderingSolution.hpp.
|
protected |
Definition at line 381 of file Zoltan2_OrderingSolution.hpp.
|
protected |
Definition at line 382 of file Zoltan2_OrderingSolution.hpp.