35 #include "qrm_common.h" 67 integer,
intent(in) :: cperm(:)
68 integer,
allocatable :: parent(:)
70 integer,
allocatable :: ancestor(:), prev_col(:)
71 integer :: iidx, jidx, i, j, k
74 character(len=*),
parameter :: name=
'qrm_elim_tree' 76 call qrm_err_act_save(err_act)
82 __qrm_check_ret(name,
'qrm_aalloc',9999)
91 do iidx = graph%jptr(j), graph%jptr(j+1)-1
94 if(k .ne. 0)
call add_node(ancestor, parent, k, j)
101 __qrm_check_ret(name,
'qrm_adealloc',9999)
103 call qrm_err_act_restore(err_act)
107 call qrm_err_act_restore(err_act)
108 if(err_act .eq. qrm_abort_)
then 117 subroutine add_node(ancestor, parent, k, j)
119 integer,
allocatable :: parent(:)
120 integer,
allocatable :: ancestor(:)
Generic interface for the qrm_adealloc_i, qrm_adealloc_2i, qrm_adealloc_s, qrm_adealloc_2s, qrm_adealloc_3s, qrm_adealloc_d, qrm_adealloc_2d, qrm_adealloc_3d, qrm_adealloc_c, qrm_adealloc_2c, qrm_adealloc_3c, qrm_adealloc_z, qrm_adealloc_2z, qrm_adealloc_3z, routines.
Generic interface for the qrm_aalloc_i, qrm_aalloc_2i, qrm_aalloc_s, qrm_aalloc_2s, qrm_aalloc_3s, qrm_aalloc_d, qrm_aalloc_2d, qrm_aalloc_3d, qrm_aalloc_c, qrm_aalloc_2c, qrm_aalloc_3c, qrm_aalloc_z, qrm_aalloc_2z, qrm_aalloc_3z, routines.
This type defines the data structure used to store a matrix.
This module contains the definition of the basic sparse matrix type and of the associated methods...
Generic interface for the qrm_arealloc_i qrm_arealloc_s qrm_arealloc_d qrm_arealloc_c qrm_arealloc_z...
subroutine _qrm_elim_tree(graph, cperm, parent)
This subroutine builds the elimination tree for A'A.
subroutine add_node(ancestor, parent, k, j)
This module implements the memory handling routines. Pretty mucch allocations and deallocations...