Classes | Functions
internal Namespace Reference

Classes

struct  colamd_col
 
struct  Colamd_Row
 

Functions

template<typename Index >
static Index clear_mark (Index n_row, Colamd_Row< Index > Row [])
 
template<typename Index >
static bool colamd (Index n_row, Index n_col, Index Alen, Index *A, Index *p, double knobs[COLAMD_KNOBS], Index stats[COLAMD_STATS])
 Computes a column ordering using the column approximate minimum degree ordering. More...
 
template<typename Index >
Index colamd_c (Index n_col)
 
template<typename Index >
Index colamd_r (Index n_row)
 
template<typename Index >
Index colamd_recommended (Index nnz, Index n_row, Index n_col)
 Returns the recommended value of Alen. More...
 
static void colamd_set_defaults (double knobs[COLAMD_KNOBS])
 set default parameters The use of this routine is optional. More...
 
template<typename Index >
static void detect_super_cols (colamd_col< Index > Col [], Index A [], Index head [], Index row_start, Index row_length)
 
template<typename Index >
static Index find_ordering (Index n_row, Index n_col, Index Alen, Colamd_Row< Index > Row [], colamd_col< Index > Col [], Index A [], Index head [], Index n_col2, Index max_deg, Index pfree)
 
template<typename Index >
static Index garbage_collection (Index n_row, Index n_col, Colamd_Row< Index > Row [], colamd_col< Index > Col [], Index A [], Index *pfree)
 
template<typename Index >
static Index init_rows_cols (Index n_row, Index n_col, Colamd_Row< Index > Row [], colamd_col< Index > col [], Index A [], Index p [], Index stats[COLAMD_STATS])
 
template<typename Index >
static void init_scoring (Index n_row, Index n_col, Colamd_Row< Index > Row [], colamd_col< Index > Col [], Index A [], Index head [], double knobs[COLAMD_KNOBS], Index *p_n_row2, Index *p_n_col2, Index *p_max_deg)
 
template<typename Index >
static void order_children (Index n_col, colamd_col< Index > Col [], Index p [])
 

Function Documentation

◆ clear_mark()

template<typename Index >
static Index internal::clear_mark ( Index  n_row,
Colamd_Row< Index >  Row[] 
)
inlinestatic

Definition at line 1827 of file Eigen_Colamd.h.

◆ colamd()

template<typename Index >
static bool internal::colamd ( Index  n_row,
Index  n_col,
Index  Alen,
Index *  A,
Index *  p,
double  knobs[COLAMD_KNOBS],
Index  stats[COLAMD_STATS] 
)
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.

Parameters
n_rownumber of rows in A
n_colnumber of columns in A
Alen,sizeof the array A
Arow indices of the matrix, of size ALen
pcolumn pointers of A, of size n_col+1
knobsparameter settings for colamd
statscolamd output statistics and error codes

Definition at line 329 of file Eigen_Colamd.h.

◆ colamd_c()

template<typename Index >
Index internal::colamd_c ( Index  n_col)
inline

Definition at line 209 of file Eigen_Colamd.h.

◆ colamd_r()

template<typename Index >
Index internal::colamd_r ( Index  n_row)
inline

Definition at line 213 of file Eigen_Colamd.h.

◆ colamd_recommended()

template<typename Index >
Index internal::colamd_recommended ( Index  nnz,
Index  n_row,
Index  n_col 
)
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.

Parameters
nnznonzeros in A
n_rownumber of rows in A
n_colnumber of columns in A
Returns
recommended value of Alen for use by colamd

Definition at line 264 of file Eigen_Colamd.h.

◆ colamd_set_defaults()

static void internal::colamd_set_defaults ( double  knobs[COLAMD_KNOBS])
inlinestatic

set default parameters The use of this routine is optional.

Colamd: rows with more than (knobs [COLAMD_DENSE_ROW] * n_col) entries are removed prior to ordering. Columns with more than (knobs [COLAMD_DENSE_COL] * n_row) entries are removed prior to ordering, and placed last in the output column ordering.

COLAMD_DENSE_ROW and COLAMD_DENSE_COL 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.

Parameters
knobsparameter settings for colamd

Definition at line 293 of file Eigen_Colamd.h.

◆ detect_super_cols()

template<typename Index >
static void internal::detect_super_cols ( colamd_col< Index >  Col[],
Index  A[],
Index  head[],
Index  row_start,
Index  row_length 
)
static

Definition at line 1555 of file Eigen_Colamd.h.

◆ find_ordering()

template<typename Index >
static Index internal::find_ordering ( Index  n_row,
Index  n_col,
Index  Alen,
Colamd_Row< Index >  Row[],
colamd_col< Index >  Col[],
Index  A[],
Index  head[],
Index  n_col2,
Index  max_deg,
Index  pfree 
)
static

Definition at line 943 of file Eigen_Colamd.h.

◆ garbage_collection()

template<typename Index >
static Index internal::garbage_collection ( Index  n_row,
Index  n_col,
Colamd_Row< Index >  Row[],
colamd_col< Index >  Col[],
Index  A[],
Index *  pfree 
)
static

Definition at line 1706 of file Eigen_Colamd.h.

◆ init_rows_cols()

template<typename Index >
static Index internal::init_rows_cols ( Index  n_row,
Index  n_col,
Colamd_Row< Index >  Row[],
colamd_col< Index >  col[],
Index  A[],
Index  p[],
Index  stats[COLAMD_STATS] 
)
static

Definition at line 490 of file Eigen_Colamd.h.

◆ init_scoring()

template<typename Index >
static void internal::init_scoring ( Index  n_row,
Index  n_col,
Colamd_Row< Index >  Row[],
colamd_col< Index >  Col[],
Index  A[],
Index  head[],
double  knobs[COLAMD_KNOBS],
Index *  p_n_row2,
Index *  p_n_col2,
Index *  p_max_deg 
)
static

Definition at line 706 of file Eigen_Colamd.h.

◆ order_children()

template<typename Index >
static void internal::order_children ( Index  n_col,
colamd_col< Index >  Col[],
Index  p[] 
)
inlinestatic

Definition at line 1454 of file Eigen_Colamd.h.



tuw_aruco
Author(s): Lukas Pfeifhofer
autogenerated on Mon Feb 28 2022 23:58:23