SRC/sp_colorder.c File Reference

Permutes the columns of the original matrix. More...

#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)


Detailed Description

 -- Distributed SuperLU routine (version 1.0) --
 Lawrence Berkeley National Lab, Univ. of California Berkeley.
 September 1, 1999
 

Function Documentation

int check_perm_dist ( char *  what,
int_t  n,
int_t perm 
)

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.
 


Generated on Wed Nov 24 18:17:32 2010 for SuperLUDistributed by  doxygen 1.5.5