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.
subroutine dqrm_factorization_core(qrm_mat)
This is the main factorization routine. It performs the factorization of all the fronts that have bee...
This module contains all the error management routines and data.
This module contains the definition of the basic sparse matrix type and of the associated methods...
integer, parameter qrm_abort_
Possible actions to be performed upon detection of an error.
subroutine qrm_err_check()
This subroutine checks the errors stack. If something is found all the entries in the stack are poppe...
This type defines the data structure used to store a matrix.
subroutine dqrm_check_spmat(qrm_spmat, op)
Check the compatibility and correctness of icntl and rcntl parameters.
subroutine dqrm_factorization_init(qrm_mat)
This subroutine initializes the data structures needed for the actual factorization.
This type defines a data structure containing all the data related to a front.
This module contains the definition of all the data related to the factorization phase.
This module contains various string handling routines.
subroutine qrm_err_act_restore(err_act)
Restores the value of the qrm_err_act variable.
subroutine dqrm_factorize(qrm_mat, transp)
This routine is the main factorization driver.