sp_preorder - permutes the columns of the original sparse matrix.
#include <sunperf.h> void sp_preorder(superlu_options_t *options, SuperMatrix *A, int *perm_c, int *etree, SuperMatrix *AC) void sp_preorder_64(superlu_options_t_64 *options, SuperMatrix_64 *A, long *perm_c, long *etree, SuperMatrix_64 *AC)
Oracle Solaris Studio Performance Library sp_preorder(3P) NAME sp_preorder - permutes the columns of the original sparse matrix. SYNOPSIS #include <sunperf.h> void sp_preorder(superlu_options_t *options, SuperMatrix *A, int *perm_c, int *etree, SuperMatrix *AC) void sp_preorder_64(superlu_options_t_64 *options, SuperMatrix_64 *A, long *perm_c, long *etree, SuperMatrix_64 *AC) PURPOSE sp_preorder permutes the columns of the original sparse 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 Compute column elimination tree etree[] of AC'AC Post order etree[] to get a postordered elimination tree etree[], and a postorder permutation post[] Apply post[] permutation to columns of AC Overwrite perm_c[] with the product perm_c * post. ARGUMENTS superlu_options_t *options (input) Specifies whether or not the elimination tree will be re-used. If options->Fact == DOFACT, this means first time factor A, etree is computed, postered, and output. Otherwise, re-factor A; etree is input; unchanged on exit. SuperMatrix *A (input) Matrix A in A*X=B, of dimension (A->nrow, A->ncol). The number of linear equations is A->nrow. Currently, the type of A can be: Stype = SLU_NC; Dtype = SLU_S; Mtype = SLU_GE. In the future, more general A may be handled. int *perm_c (input/output) 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. Other- wise, perm_c is input. int *etree (input) Elimination tree of Pc'*A'*A*Pc, dimension A->ncol. If options->Fact == DOFACT, etree is an output argument, other- wise 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. SuperMatrix *AC (output) 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. SEE ALSO SuperMatrix set_default_options http://crd.lbl.gov/~xiaoye/SuperLU/ James W. Demmel, Stanley C. Eisenstat, John R. Gilbert, Xiaoye S. Li and Joseph W. H. Liu, "A supernodal approach to sparse partial pivot- ing", SIAM J. Matrix Analysis and Applications, Vol. 20, Num. 3, 1999, pp. 720-755. 7 Nov 2015 sp_preorder(3P)