Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

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)

Description

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)