#include "superlu_ddefs.h"
Functions/Subroutines | |
| int | check_perm_dist (char *, int_t, int_t *) |
| void | sp_colorder (superlu_options_t *options, SuperMatrix *A, int_t *perm_c, int_t *etree, SuperMatrix *AC) |
-- Distributed SuperLU routine (version 1.0) -- Lawrence Berkeley National Lab, Univ. of California Berkeley. September 1, 1999
| void sp_colorder | ( | superlu_options_t * | options, | |
| SuperMatrix * | A, | |||
| int_t * | perm_c, | |||
| int_t * | etree, | |||
| SuperMatrix * | AC | |||
| ) |
Purpose =======
sp_colorder() permutes the columns of the original matrix. It performs the following steps:
1. Apply column permutation perm_c[] to A's column pointers to form AC;
2. If options->Fact = DOFACT, then
(1) Compute column elimination tree etree[] of AC'AC;
(2) Post order etree[] to get a postordered elimination tree etree[],
and a postorder permutation post[];
(3) Apply post[] permutation to columns of AC;
(4) Overwrite perm_c[] with the product perm_c * post.
Arguments =========
options (input) superlu_options_t*
Specifies whether or not the elimination tree will be re-used.
If options->Fact == DOFACT, this means first time factor A,
etree is computed and output.
Otherwise, re-factor A, etree is input, unchanged on exit.
A (input) SuperMatrix*
Matrix A in A*X=B, of dimension (A->nrow, A->ncol). The number
of the linear equations is A->nrow. Currently, the type of A can be:
Stype = SLU_NC or SLU_NCP; Dtype = SLU__D; Mtype = SLU_GE.
In the future, more general A can be handled.
perm_c (input/output) int*
Column permutation vector of size A->ncol, which defines the
permutation matrix Pc; perm_c[i] = j means column i of A is
in position j in A*Pc.
If options->Fact == DOFACT, perm_c is both input and output.
On output, it is changed according to a postorder of etree.
Otherwise, perm_c is input.
etree (input/output) int*
Elimination tree of Pc*(A'+A)*Pc', dimension A->ncol.
If options->Fact == DOFACT, etree is an output argument,
otherwise it is an input argument.
Note: etree is a vector of parent pointers for a forest whose
vertices are the integers 0 to A->ncol-1; etree[root]==A->ncol.
AC (output) SuperMatrix*
The resulting matrix after applied the column permutation
perm_c[] to matrix A. The type of AC can be:
Stype = SLU_NCP; Dtype = A->Dtype; Mtype = SLU_GE.
1.5.5