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)