stdlib_sparse_spmv Module

Version experimental

Apply the sparse matrix-vector product Specifications spmv_coo spmv_csr spmv_csc spmv_ell spmv_sellc



Interfaces

public interface spmv

  • private subroutine spmv_coo_1d_sp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(COO_sp_type), intent(in) :: matrix
    real(kind=sp), intent(in) :: vec_x(:)
    real(kind=sp), intent(inout) :: vec_y(:)
    real(kind=sp), intent(in), optional :: alpha
    real(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_csr_1d_sp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(CSR_sp_type), intent(in) :: matrix
    real(kind=sp), intent(in) :: vec_x(:)
    real(kind=sp), intent(inout) :: vec_y(:)
    real(kind=sp), intent(in), optional :: alpha
    real(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_csc_1d_sp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(CSC_sp_type), intent(in) :: matrix
    real(kind=sp), intent(in) :: vec_x(:)
    real(kind=sp), intent(inout) :: vec_y(:)
    real(kind=sp), intent(in), optional :: alpha
    real(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_ell_1d_sp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(ELL_sp_type), intent(in) :: matrix
    real(kind=sp), intent(in) :: vec_x(:)
    real(kind=sp), intent(inout) :: vec_y(:)
    real(kind=sp), intent(in), optional :: alpha
    real(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_coo_2d_sp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(COO_sp_type), intent(in) :: matrix
    real(kind=sp), intent(in) :: vec_x(:,:)
    real(kind=sp), intent(inout) :: vec_y(:,:)
    real(kind=sp), intent(in), optional :: alpha
    real(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_csr_2d_sp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(CSR_sp_type), intent(in) :: matrix
    real(kind=sp), intent(in) :: vec_x(:,:)
    real(kind=sp), intent(inout) :: vec_y(:,:)
    real(kind=sp), intent(in), optional :: alpha
    real(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_csc_2d_sp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(CSC_sp_type), intent(in) :: matrix
    real(kind=sp), intent(in) :: vec_x(:,:)
    real(kind=sp), intent(inout) :: vec_y(:,:)
    real(kind=sp), intent(in), optional :: alpha
    real(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_ell_2d_sp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(ELL_sp_type), intent(in) :: matrix
    real(kind=sp), intent(in) :: vec_x(:,:)
    real(kind=sp), intent(inout) :: vec_y(:,:)
    real(kind=sp), intent(in), optional :: alpha
    real(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_sellc_sp(matrix, vec_x, vec_y, alpha, beta, op)

    This algorithm was gracefully provided by Ivan Privec and adapted by Jose Alves

    Arguments

    Type IntentOptional Attributes Name
    type(SELLC_sp_type), intent(in) :: matrix
    real(kind=sp), intent(in) :: vec_x(:)
    real(kind=sp), intent(inout) :: vec_y(:)
    real(kind=sp), intent(in), optional :: alpha
    real(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_coo_1d_dp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(COO_dp_type), intent(in) :: matrix
    real(kind=dp), intent(in) :: vec_x(:)
    real(kind=dp), intent(inout) :: vec_y(:)
    real(kind=dp), intent(in), optional :: alpha
    real(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_csr_1d_dp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(CSR_dp_type), intent(in) :: matrix
    real(kind=dp), intent(in) :: vec_x(:)
    real(kind=dp), intent(inout) :: vec_y(:)
    real(kind=dp), intent(in), optional :: alpha
    real(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_csc_1d_dp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(CSC_dp_type), intent(in) :: matrix
    real(kind=dp), intent(in) :: vec_x(:)
    real(kind=dp), intent(inout) :: vec_y(:)
    real(kind=dp), intent(in), optional :: alpha
    real(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_ell_1d_dp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(ELL_dp_type), intent(in) :: matrix
    real(kind=dp), intent(in) :: vec_x(:)
    real(kind=dp), intent(inout) :: vec_y(:)
    real(kind=dp), intent(in), optional :: alpha
    real(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_coo_2d_dp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(COO_dp_type), intent(in) :: matrix
    real(kind=dp), intent(in) :: vec_x(:,:)
    real(kind=dp), intent(inout) :: vec_y(:,:)
    real(kind=dp), intent(in), optional :: alpha
    real(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_csr_2d_dp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(CSR_dp_type), intent(in) :: matrix
    real(kind=dp), intent(in) :: vec_x(:,:)
    real(kind=dp), intent(inout) :: vec_y(:,:)
    real(kind=dp), intent(in), optional :: alpha
    real(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_csc_2d_dp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(CSC_dp_type), intent(in) :: matrix
    real(kind=dp), intent(in) :: vec_x(:,:)
    real(kind=dp), intent(inout) :: vec_y(:,:)
    real(kind=dp), intent(in), optional :: alpha
    real(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_ell_2d_dp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(ELL_dp_type), intent(in) :: matrix
    real(kind=dp), intent(in) :: vec_x(:,:)
    real(kind=dp), intent(inout) :: vec_y(:,:)
    real(kind=dp), intent(in), optional :: alpha
    real(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_sellc_dp(matrix, vec_x, vec_y, alpha, beta, op)

    This algorithm was gracefully provided by Ivan Privec and adapted by Jose Alves

    Arguments

    Type IntentOptional Attributes Name
    type(SELLC_dp_type), intent(in) :: matrix
    real(kind=dp), intent(in) :: vec_x(:)
    real(kind=dp), intent(inout) :: vec_y(:)
    real(kind=dp), intent(in), optional :: alpha
    real(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_coo_1d_csp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(COO_csp_type), intent(in) :: matrix
    complex(kind=sp), intent(in) :: vec_x(:)
    complex(kind=sp), intent(inout) :: vec_y(:)
    complex(kind=sp), intent(in), optional :: alpha
    complex(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_csr_1d_csp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(CSR_csp_type), intent(in) :: matrix
    complex(kind=sp), intent(in) :: vec_x(:)
    complex(kind=sp), intent(inout) :: vec_y(:)
    complex(kind=sp), intent(in), optional :: alpha
    complex(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_csc_1d_csp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(CSC_csp_type), intent(in) :: matrix
    complex(kind=sp), intent(in) :: vec_x(:)
    complex(kind=sp), intent(inout) :: vec_y(:)
    complex(kind=sp), intent(in), optional :: alpha
    complex(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_ell_1d_csp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(ELL_csp_type), intent(in) :: matrix
    complex(kind=sp), intent(in) :: vec_x(:)
    complex(kind=sp), intent(inout) :: vec_y(:)
    complex(kind=sp), intent(in), optional :: alpha
    complex(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_coo_2d_csp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(COO_csp_type), intent(in) :: matrix
    complex(kind=sp), intent(in) :: vec_x(:,:)
    complex(kind=sp), intent(inout) :: vec_y(:,:)
    complex(kind=sp), intent(in), optional :: alpha
    complex(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_csr_2d_csp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(CSR_csp_type), intent(in) :: matrix
    complex(kind=sp), intent(in) :: vec_x(:,:)
    complex(kind=sp), intent(inout) :: vec_y(:,:)
    complex(kind=sp), intent(in), optional :: alpha
    complex(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_csc_2d_csp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(CSC_csp_type), intent(in) :: matrix
    complex(kind=sp), intent(in) :: vec_x(:,:)
    complex(kind=sp), intent(inout) :: vec_y(:,:)
    complex(kind=sp), intent(in), optional :: alpha
    complex(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_ell_2d_csp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(ELL_csp_type), intent(in) :: matrix
    complex(kind=sp), intent(in) :: vec_x(:,:)
    complex(kind=sp), intent(inout) :: vec_y(:,:)
    complex(kind=sp), intent(in), optional :: alpha
    complex(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_sellc_csp(matrix, vec_x, vec_y, alpha, beta, op)

    This algorithm was gracefully provided by Ivan Privec and adapted by Jose Alves

    Arguments

    Type IntentOptional Attributes Name
    type(SELLC_csp_type), intent(in) :: matrix
    complex(kind=sp), intent(in) :: vec_x(:)
    complex(kind=sp), intent(inout) :: vec_y(:)
    complex(kind=sp), intent(in), optional :: alpha
    complex(kind=sp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_coo_1d_cdp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(COO_cdp_type), intent(in) :: matrix
    complex(kind=dp), intent(in) :: vec_x(:)
    complex(kind=dp), intent(inout) :: vec_y(:)
    complex(kind=dp), intent(in), optional :: alpha
    complex(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_csr_1d_cdp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(CSR_cdp_type), intent(in) :: matrix
    complex(kind=dp), intent(in) :: vec_x(:)
    complex(kind=dp), intent(inout) :: vec_y(:)
    complex(kind=dp), intent(in), optional :: alpha
    complex(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_csc_1d_cdp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(CSC_cdp_type), intent(in) :: matrix
    complex(kind=dp), intent(in) :: vec_x(:)
    complex(kind=dp), intent(inout) :: vec_y(:)
    complex(kind=dp), intent(in), optional :: alpha
    complex(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_ell_1d_cdp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(ELL_cdp_type), intent(in) :: matrix
    complex(kind=dp), intent(in) :: vec_x(:)
    complex(kind=dp), intent(inout) :: vec_y(:)
    complex(kind=dp), intent(in), optional :: alpha
    complex(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_coo_2d_cdp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(COO_cdp_type), intent(in) :: matrix
    complex(kind=dp), intent(in) :: vec_x(:,:)
    complex(kind=dp), intent(inout) :: vec_y(:,:)
    complex(kind=dp), intent(in), optional :: alpha
    complex(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_csr_2d_cdp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(CSR_cdp_type), intent(in) :: matrix
    complex(kind=dp), intent(in) :: vec_x(:,:)
    complex(kind=dp), intent(inout) :: vec_y(:,:)
    complex(kind=dp), intent(in), optional :: alpha
    complex(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_csc_2d_cdp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(CSC_cdp_type), intent(in) :: matrix
    complex(kind=dp), intent(in) :: vec_x(:,:)
    complex(kind=dp), intent(inout) :: vec_y(:,:)
    complex(kind=dp), intent(in), optional :: alpha
    complex(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_ell_2d_cdp(matrix, vec_x, vec_y, alpha, beta, op)

    Arguments

    Type IntentOptional Attributes Name
    type(ELL_cdp_type), intent(in) :: matrix
    complex(kind=dp), intent(in) :: vec_x(:,:)
    complex(kind=dp), intent(inout) :: vec_y(:,:)
    complex(kind=dp), intent(in), optional :: alpha
    complex(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op
  • private subroutine spmv_sellc_cdp(matrix, vec_x, vec_y, alpha, beta, op)

    This algorithm was gracefully provided by Ivan Privec and adapted by Jose Alves

    Arguments

    Type IntentOptional Attributes Name
    type(SELLC_cdp_type), intent(in) :: matrix
    complex(kind=dp), intent(in) :: vec_x(:)
    complex(kind=dp), intent(inout) :: vec_y(:)
    complex(kind=dp), intent(in), optional :: alpha
    complex(kind=dp), intent(in), optional :: beta
    character(len=1), intent(in), optional :: op