QR_MUMPS
Functions/Subroutines
qrm_elim_tree.F90 File Reference

This file contains the routine that computes the eliimation tree. More...

Go to the source code of this file.

Functions/Subroutines

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

Detailed Description

This file contains the routine that computes the eliimation tree.

Date
2016-01-29 22:22:30 +0100 (Fri, 29 Jan 2016)
Author
abuttari
Version
1.1
Revision
2075

Definition in file qrm_elim_tree.F90.

Function/Subroutine Documentation

subroutine _qrm_elim_tree ( type(_qrm_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 _qrm_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 qrm_elim_tree.F90.

References add_node().

Referenced by _qrm_analyse().

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

Definition at line 118 of file qrm_elim_tree.F90.