58 real(kind(1.d0)),
intent(out) :: y(:,:)
59 real(kind(1.d0)),
intent(in) :: x(:,:)
60 real(kind(1.d0)),
intent(in) :: alpha, beta
61 character(len=*) :: transp
63 integer :: nb, nrhs, j, c, r, k,
i, rhs_nthreads
65 call
qrm_get(qrm_mat,
'qrm_rhsnb', nb)
66 call
qrm_get(qrm_mat,
'qrm_rhsnthreads', rhs_nthreads)
72 if(beta .eq. 0.d0)
then
79 if(alpha .eq. 0.d0)
then
89 y(r,k:min(nrhs,k+nb-1)) = y(r,k:min(nrhs,k+nb-1))+alpha*(qrm_mat%val(
i))*x(c,k:min(nrhs,k+nb-1))
93 y(r,k:min(nrhs,k+nb-1)) = y(r,k:min(nrhs,k+nb-1))+alpha*qrm_mat%val(
i)*x(c,k:min(nrhs,k+nb-1))
129 real(kind(1.d0)),
intent(out) :: y(:)
130 real(kind(1.d0)),
intent(in) :: x(:)
131 real(kind(1.d0)),
intent(in) :: alpha, beta
132 character(len=*) :: transp
134 integer :: c, r,
i, n
140 if(beta .eq. 0.d0)
then
147 if(alpha .eq. 0.d0)
then
155 y(r) = y(r)+alpha*(qrm_mat%val(
i))*x(c)
159 y(r) = y(r)+alpha*qrm_mat%val(
i)*x(c)
Generif interface for the ::dqrm_pgeti, ::dqrm_pgetr and.
This module contains the definition of the basic sparse matrix type and of the associated methods...
subroutine dqrm_matmul2d(qrm_mat, transp, alpha, x, beta, y)
This subroutine computes the product y=beta*y+alpha*op(A)*x where op(A) is either A or A' depending o...
This type defines the data structure used to store a matrix.
subroutine dqrm_matmul1d(qrm_mat, transp, alpha, x, beta, y)
This subroutine computes the product y=beta*y+alpha*op(A)*x where op(A) is either A or A' depending o...
This module contains various string handling routines.