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) |
This file contains the routine that computes the eliimation tree.
Definition in file qrm_elim_tree.F90.
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.
[in] | graph | the graph associated to matrix A in CSC format |
[in] | cperm | the pivotal order (i.e., the column permutation previously computed by the _qrm_do_ordering routine |
[out] | parent | the 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.