QR_MUMPS
 All Classes Files Functions Variables Enumerations Enumerator Pages
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 60 of file qrm_elim_tree.F90.

References add_node(), i, qrm_error_mod::qrm_err_act_restore(), qrm_error_mod::qrm_err_act_save(), and qrm_error_mod::qrm_err_check().

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 117 of file qrm_elim_tree.F90.