QR_MUMPS
Functions/Subroutines
dqrm_elim_tree.F90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine dqrm_elim_tree (graph, cperm, parent)
 This subroutine builds the elimination tree for A'A. More...
 
subroutine add_node (ancestor, parent, k, j)
 

Function/Subroutine Documentation

subroutine dqrm_elim_tree::add_node ( integer, dimension(:), allocatable  ancestor,
integer, dimension(:), allocatable  parent,
integer  k,
integer  j 
)

Definition at line 118 of file dqrm_elim_tree.F90.

Referenced by _qrm_elim_tree(), and dqrm_elim_tree().

subroutine dqrm_elim_tree ( type(dqrm_spmat_type), intent(in)  graph,
integer, dimension(:), intent(in)  cperm,
integer, dimension(:), allocatable  parent 
)

This subroutine builds the elimination tree for A'A.

The graph of A is contained in the "graph" input argument and A's columns are permuted accoridng cperm. This is an implementation of the algorithm described in

Gilbert, J. R., Li, X. S., Ng, E. G., and Peyton, B. W. 2001. "Computing row and column counts for sparse QR and LU factorization." BIT Numer. Math. 41, 4, 693–710.

Parameters
[in]graphthe graph associated to matrix A in CSC format
[in]cpermthe pivotal order (i.e., the column permutation previously computed by the dqrm_do_ordering routine
[out]parentthe elimitation tree. parent(i)=j means that node j is the parent of node i in the elimination tree. The parent of a root node is equal to 0. This tree is of size n where n is the size of the matrix

Definition at line 61 of file dqrm_elim_tree.F90.

References add_node().

Referenced by dqrm_analyse().