35 #include "qrm_common.h" 56 character,
optional,
intent(in) :: transp
58 integer :: i, totnnz, info, h
59 real(kind(1.d0)) :: t1, t2
62 integer,
pointer :: tmp(:)
65 character(len=*),
parameter :: name=
'qrm_factorize' 69 __qrm_prnt_dbg(
'("Entering the factorization driver")')
72 if(.not. qrm_mat%adata%ok)
then 78 __qrm_check_ret(name,
'qrm_check_spmat',9999)
81 if(
present(transp))
then 90 qrm_mat%irn => qrm_mat%jcn
95 #if defined(zprec) || defined(cprec) 96 qrm_mat%val = conjg(qrm_mat%val)
102 __qrm_check_ret(name,
'qrm_factorization_init',9998)
107 __qrm_check_ret(name,
'qrm_factorization_core',9998)
113 do i=1, qrm_mat%adata%nnodes
115 & qrm_mat%fdata%front_list(i)%rsize
119 do i=1, qrm_mat%adata%nnodes
121 & qrm_mat%fdata%front_list(i)%hsize
130 qrm_mat%irn => qrm_mat%jcn
133 qrm_mat%m = qrm_mat%n
135 #if defined(zprec) || defined(cprec) 136 qrm_mat%val = conjg(qrm_mat%val)
141 if(info .gt. 0)
goto 9999
144 qrm_mat%fdata%ok = .true.
This module contains generic interfaces for a number of auxiliary tools.
subroutine qrm_err_get(info)
This subroutine return the code of the first error on the stack or zero if the stack is empty...
This module contains the interfaces of all non-typed routines.
subroutine qrm_err_push(code, sub, ied, aed)
This subroutine pushes an error on top of the stack.
This module contains all the generic interfaces for the typed routines in the factorization phase...
subroutine qrm_err_act_save(err_act)
Saves a copy of the qrm_err_act variable.
This module contains all the error management routines and data.
integer, parameter qrm_abort_
Possible actions to be performed upon detection of an error.
subroutine _qrm_factorization_core(qrm_mat)
This is the main factorization routine. It performs the factorization of all the fronts that have bee...
subroutine qrm_err_check()
This subroutine checks the errors stack. If something is found all the entries in the stack are poppe...
subroutine _qrm_factorization_init(qrm_mat)
This subroutine initializes the data structures needed for the actual factorization.
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...
subroutine _qrm_check_spmat(qrm_spmat, op)
Check the compatibility and correctness of icntl and rcntl parameters.
This module contains the definition of all the data related to the factorization phase.
subroutine _qrm_factorize(qrm_mat, transp)
This routine is the main factorization driver.
This module contains various string handling routines.
This type defines a data structure containing all the data related to a front.
subroutine qrm_err_act_restore(err_act)
Restores the value of the qrm_err_act variable.