36 #include "qrm_common.h" 61 real(kind(1.d0)),
intent(inout) :: b(:,:)
62 real(kind(1.d0)),
intent(out) :: x(:,:)
63 character(len=*) :: transp
65 integer :: i, nb, nrhs, rhs_nthreads
68 character(len=*),
parameter :: name=
'qrm_solve' 72 if(.not. qrm_mat%fdata%ok)
then 81 call qrm_get(qrm_mat,
'qrm_rhsnb', nb)
82 call qrm_get(qrm_mat,
'qrm_rhsnthreads', rhs_nthreads)
90 call qrm_solve_rt(qrm_mat, b(:,i:min(nrhs,i+nb-1)), x(:,i:min(nrhs,i+nb-1)))
93 __qrm_check_ret(name,
'qrm_solve_rt',9999)
97 call qrm_solve_r(qrm_mat, b(:,i:min(nrhs,i+nb-1)), x(:,i:min(nrhs,i+nb-1)))
100 __qrm_check_ret(name,
'qrm_solve_r',9999)
140 real(kind(1.d0)),
intent(in) :: b(:)
141 real(kind(1.d0)),
intent(out) :: x(:)
142 character(len=*) :: transp
144 real(kind(1.d0)),
pointer :: pntb(:,:), pntx(:,:)
148 character(len=*),
parameter :: name=
'qrm_solve1d' 152 if( qrm_mat%fdata%done .eq. 0)
then 167 __qrm_check_ret(name,
'qrm_solve_rt',9999)
170 __qrm_check_ret(name,
'qrm_solve_r',9999)
This module contains generic interfaces for a number of auxiliary tools.
subroutine dqrm_solve2d(qrm_mat, transp, b, x)
This function solves for R or R' against multiple vectors.
subroutine qrm_err_push(code, sub, ied, aed)
This subroutine pushes an error on top of the stack.
Generif interface for the ::dqrm_pgeti, ::dqrm_pgetr and.
Generic interface for the ::dqrm_solve_r routine.
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.
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.
This module contains the definition of all the data related to the factorization phase.
subroutine dqrm_remap_pnt(arr1d, pnt2d, n)
This function makes a 2D pointer point to a 1D array.
Generic interface for the ::dqrm_solve_rt routine.
subroutine dqrm_solve1d(qrm_mat, transp, b, x)
This function solves for R or R' against a single vector.
This module contains all the interfaces for the typed routines in the solve phase.
This module contains various string handling routines.
subroutine qrm_err_act_restore(err_act)
Restores the value of the qrm_err_act variable.