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) |
subroutine dqrm_elim_tree::add_node | ( | integer, dimension(:), allocatable | ancestor, |
integer, dimension(:), allocatable | parent, | ||
integer | k, | ||
integer | j | ||
) |
Definition at line 117 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.
[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 dqrm_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 dqrm_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 dqrm_analyse().