58 _qrm_data,
intent(out) :: y(:,:)
59 _qrm_data,
intent(in) :: x(:,:)
60 _qrm_data,
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. _qrm_zero)
then
79 if(alpha .eq. _qrm_zero)
then
89 y(r,k:min(nrhs,k+nb-1)) = y(r,k:min(nrhs,k+nb-1))+alpha*_conjg(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 _qrm_data,
intent(out) :: y(:)
130 _qrm_data,
intent(in) :: x(:)
131 _qrm_data,
intent(in) :: alpha, beta
132 character(len=*) :: transp
134 integer :: c, r,
i, n
140 if(beta .eq. _qrm_zero)
then
147 if(alpha .eq. _qrm_zero)
then
155 y(r) = y(r)+alpha*_conjg(qrm_mat%val(
i))*x(c)
159 y(r) = y(r)+alpha*qrm_mat%val(
i)*x(c)
subroutine _qrm_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 _qrm_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 the definition of the basic sparse matrix type and of the associated methods...
Generif interface for the ::_qrm_pgeti, ::_qrm_pgetr and.
This module contains various string handling routines.