Classes | |
struct | ColStructure |
struct | RowStructure |
Enumerations | |
enum | ColumnStatus { DeadPrincipal = -1, DeadNonPrincipal = -2 } |
enum | KnobsStatsIndex { DenseRow = 0, DenseCol = 1, DefragCount = 2, Status = 3, Info1 = 4, Info2 = 5, Info3 = 6 } |
enum | RowColumnStatus { Alive = 0, Dead = -1 } |
enum | Status { Ok = 0, OkButJumbled = 1, ErrorANotPresent = -1, ErrorPNotPresent = -2, ErrorNrowNegative = -3, ErrorNcolNegative = -4, ErrorNnzNegative = -5, ErrorP0Nonzero = -6, ErrorATooSmall = -7, ErrorColLengthNegative = -8, ErrorRowIndexOutOfBounds = -9, ErrorOutOfMemory = -10, ErrorInternalError = -999 } |
Functions | |
template<typename IndexType > | |
static IndexType | clear_mark (IndexType n_row, RowStructure< IndexType > Row[]) |
template<typename IndexType > | |
IndexType | colamd_c (IndexType n_col) |
template<typename IndexType > | |
IndexType | colamd_r (IndexType n_row) |
template<typename IndexType > | |
static bool | compute_ordering (IndexType n_row, IndexType n_col, IndexType Alen, IndexType *A, IndexType *p, double knobs[NKnobs], IndexType stats[NStats]) |
Computes a column ordering using the column approximate minimum degree ordering. More... | |
template<typename IndexType > | |
static void | detect_super_cols (ColStructure< IndexType > Col[], IndexType A[], IndexType head[], IndexType row_start, IndexType row_length) |
template<typename IndexType > | |
static IndexType | find_ordering (IndexType n_row, IndexType n_col, IndexType Alen, RowStructure< IndexType > Row[], ColStructure< IndexType > Col[], IndexType A[], IndexType head[], IndexType n_col2, IndexType max_deg, IndexType pfree) |
template<typename IndexType > | |
static IndexType | garbage_collection (IndexType n_row, IndexType n_col, RowStructure< IndexType > Row[], ColStructure< IndexType > Col[], IndexType A[], IndexType *pfree) |
template<typename IndexType > | |
static IndexType | init_rows_cols (IndexType n_row, IndexType n_col, RowStructure< IndexType > Row[], ColStructure< IndexType > col[], IndexType A[], IndexType p[], IndexType stats[NStats]) |
template<typename IndexType > | |
static void | init_scoring (IndexType n_row, IndexType n_col, RowStructure< IndexType > Row[], ColStructure< IndexType > Col[], IndexType A[], IndexType head[], double knobs[NKnobs], IndexType *p_n_row2, IndexType *p_n_col2, IndexType *p_max_deg) |
template<typename IndexType > | |
IndexType | ones_complement (const IndexType r) |
template<typename IndexType > | |
static void | order_children (IndexType n_col, ColStructure< IndexType > Col[], IndexType p[]) |
template<typename IndexType > | |
IndexType | recommended (IndexType nnz, IndexType n_row, IndexType n_col) |
Returns the recommended value of Alen. More... | |
static void | set_defaults (double knobs[NKnobs]) |
set default parameters The use of this routine is optional. More... | |
Variables | |
const int | Empty = -1 |
const int | NKnobs = 20 |
const int | NStats = 20 |
Enumerator | |
---|---|
DeadPrincipal | |
DeadNonPrincipal |
Definition at line 125 of file Eigen_Colamd.h.
Enumerator | |
---|---|
DenseRow | |
DenseCol | |
DefragCount | |
Status | |
Info1 | |
Info2 | |
Info3 |
Definition at line 71 of file Eigen_Colamd.h.
Enumerator | |
---|---|
Alive | |
Dead |
Definition at line 119 of file Eigen_Colamd.h.
Definition at line 91 of file Eigen_Colamd.h.
|
inlinestatic |
Definition at line 1839 of file Eigen_Colamd.h.
|
inline |
Definition at line 222 of file Eigen_Colamd.h.
|
inline |
Definition at line 226 of file Eigen_Colamd.h.
|
static |
Computes a column ordering using the column approximate minimum degree ordering.
Computes a column ordering (Q) of A such that P(AQ)=LU or (AQ)'AQ=LL' have less fill-in and require fewer floating point operations than factorizing the unpermuted matrix A or A'A, respectively.
n_row | number of rows in A |
n_col | number of columns in A |
Alen,size | of the array A |
A | row indices of the matrix, of size ALen |
p | column pointers of A, of size n_col+1 |
knobs | parameter settings for colamd |
stats | colamd output statistics and error codes |
Definition at line 342 of file Eigen_Colamd.h.
|
static |
Definition at line 1567 of file Eigen_Colamd.h.
|
static |
Definition at line 955 of file Eigen_Colamd.h.
|
static |
Definition at line 1718 of file Eigen_Colamd.h.
|
static |
Definition at line 502 of file Eigen_Colamd.h.
|
static |
Definition at line 718 of file Eigen_Colamd.h.
IndexType internal::Colamd::ones_complement | ( | const IndexType | r | ) |
Definition at line 111 of file Eigen_Colamd.h.
|
inlinestatic |
Definition at line 1466 of file Eigen_Colamd.h.
|
inline |
Returns the recommended value of Alen.
Returns recommended value of Alen for use by colamd. Returns -1 if any input argument is negative. The use of this routine or macro is optional. Note that the macro uses its arguments more than once, so be careful for side effects, if you pass expressions as arguments to COLAMD_RECOMMENDED.
Definition at line 277 of file Eigen_Colamd.h.
|
inlinestatic |
set default parameters The use of this routine is optional.
Colamd: rows with more than (knobs [DenseRow] * n_col) entries are removed prior to ordering. Columns with more than (knobs [DenseCol] * n_row) entries are removed prior to ordering, and placed last in the output column ordering.
DenseRow and DenseCol are defined as 0 and 1, respectively, in colamd.h. Default values of these two knobs are both 0.5. Currently, only knobs [0] and knobs [1] are used, but future versions may use more knobs. If so, they will be properly set to their defaults by the future version of colamd_set_defaults, so that the code that calls colamd will not need to change, assuming that you either use colamd_set_defaults, or pass a (double *) NULL pointer as the knobs array to colamd or symamd.
knobs | parameter settings for colamd |
Definition at line 306 of file Eigen_Colamd.h.
const int internal::Colamd::Empty = -1 |
Definition at line 116 of file Eigen_Colamd.h.
const int internal::Colamd::NKnobs = 20 |
Definition at line 65 of file Eigen_Colamd.h.
const int internal::Colamd::NStats = 20 |
Definition at line 68 of file Eigen_Colamd.h.