stdlib_sparse_spmv Module

Version experimental

Apply the sparse matrix-vector product Specifications Version experimental

Apply the COO sparse matrix-vector product Specifications Version experimental

Apply the CSC sparse matrix-vector product Specifications Version experimental

Apply the CSR sparse matrix-vector product Specifications Version experimental

Apply the ELL sparse matrix-vector product Specifications Version experimental

Apply the SELLC sparse matrix-vector product Specifications



Interfaces

public interface spmv

  • private module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module 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 module subroutine spmv_sellc_cdp(matrix, vec_x, vec_y, alpha, beta, op)

    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
  • private module subroutine spmv_sellc_csp(matrix, vec_x, vec_y, alpha, beta, op)

    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 module subroutine spmv_sellc_dp(matrix, vec_x, vec_y, alpha, beta, op)

    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 module subroutine spmv_sellc_sp(matrix, vec_x, vec_y, alpha, beta, op)

    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

public interface spmv_kernel_coo

  • private module subroutine spmv_kernel_coo_1d_cdp(op, alpha, data, index, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=dp), intent(in) :: alpha
    complex(kind=dp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: index(:,:)
    integer, intent(in) :: storage
    complex(kind=dp), intent(in), contiguous :: vec_x(:)
    complex(kind=dp), intent(in) :: beta
    complex(kind=dp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_coo_1d_csp(op, alpha, data, index, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=sp), intent(in) :: alpha
    complex(kind=sp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: index(:,:)
    integer, intent(in) :: storage
    complex(kind=sp), intent(in), contiguous :: vec_x(:)
    complex(kind=sp), intent(in) :: beta
    complex(kind=sp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_coo_1d_dp(op, alpha, data, index, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=dp), intent(in) :: alpha
    real(kind=dp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: index(:,:)
    integer, intent(in) :: storage
    real(kind=dp), intent(in), contiguous :: vec_x(:)
    real(kind=dp), intent(in) :: beta
    real(kind=dp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_coo_1d_sp(op, alpha, data, index, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=sp), intent(in) :: alpha
    real(kind=sp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: index(:,:)
    integer, intent(in) :: storage
    real(kind=sp), intent(in), contiguous :: vec_x(:)
    real(kind=sp), intent(in) :: beta
    real(kind=sp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_coo_2d_cdp(op, alpha, data, index, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=dp), intent(in) :: alpha
    complex(kind=dp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: index(:,:)
    integer, intent(in) :: storage
    complex(kind=dp), intent(in), contiguous :: vec_x(:,:)
    complex(kind=dp), intent(in) :: beta
    complex(kind=dp), intent(inout), contiguous :: vec_y(:,:)
  • private module subroutine spmv_kernel_coo_2d_csp(op, alpha, data, index, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=sp), intent(in) :: alpha
    complex(kind=sp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: index(:,:)
    integer, intent(in) :: storage
    complex(kind=sp), intent(in), contiguous :: vec_x(:,:)
    complex(kind=sp), intent(in) :: beta
    complex(kind=sp), intent(inout), contiguous :: vec_y(:,:)
  • private module subroutine spmv_kernel_coo_2d_dp(op, alpha, data, index, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=dp), intent(in) :: alpha
    real(kind=dp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: index(:,:)
    integer, intent(in) :: storage
    real(kind=dp), intent(in), contiguous :: vec_x(:,:)
    real(kind=dp), intent(in) :: beta
    real(kind=dp), intent(inout), contiguous :: vec_y(:,:)
  • private module subroutine spmv_kernel_coo_2d_sp(op, alpha, data, index, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=sp), intent(in) :: alpha
    real(kind=sp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: index(:,:)
    integer, intent(in) :: storage
    real(kind=sp), intent(in), contiguous :: vec_x(:,:)
    real(kind=sp), intent(in) :: beta
    real(kind=sp), intent(inout), contiguous :: vec_y(:,:)

public interface spmv_kernel_csc

  • private module subroutine spmv_kernel_csc_1d_cdp(op, alpha, data, colptr, row, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=dp), intent(in) :: alpha
    complex(kind=dp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: colptr(:)

    matrix column pointer

    integer(kind=ilp), intent(in), contiguous :: row(:)

    matrix row pointer

    integer, intent(in) :: storage

    storage

    complex(kind=dp), intent(in), contiguous :: vec_x(:)
    complex(kind=dp), intent(in) :: beta
    complex(kind=dp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_csc_1d_csp(op, alpha, data, colptr, row, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=sp), intent(in) :: alpha
    complex(kind=sp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: colptr(:)

    matrix column pointer

    integer(kind=ilp), intent(in), contiguous :: row(:)

    matrix row pointer

    integer, intent(in) :: storage

    storage

    complex(kind=sp), intent(in), contiguous :: vec_x(:)
    complex(kind=sp), intent(in) :: beta
    complex(kind=sp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_csc_1d_dp(op, alpha, data, colptr, row, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=dp), intent(in) :: alpha
    real(kind=dp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: colptr(:)

    matrix column pointer

    integer(kind=ilp), intent(in), contiguous :: row(:)

    matrix row pointer

    integer, intent(in) :: storage

    storage

    real(kind=dp), intent(in), contiguous :: vec_x(:)
    real(kind=dp), intent(in) :: beta
    real(kind=dp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_csc_1d_sp(op, alpha, data, colptr, row, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=sp), intent(in) :: alpha
    real(kind=sp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: colptr(:)

    matrix column pointer

    integer(kind=ilp), intent(in), contiguous :: row(:)

    matrix row pointer

    integer, intent(in) :: storage

    storage

    real(kind=sp), intent(in), contiguous :: vec_x(:)
    real(kind=sp), intent(in) :: beta
    real(kind=sp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_csc_2d_cdp(op, alpha, data, colptr, row, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=dp), intent(in) :: alpha
    complex(kind=dp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: colptr(:)

    matrix column pointer

    integer(kind=ilp), intent(in), contiguous :: row(:)

    matrix row pointer

    integer, intent(in) :: storage

    storage

    complex(kind=dp), intent(in), contiguous :: vec_x(:,:)
    complex(kind=dp), intent(in) :: beta
    complex(kind=dp), intent(inout), contiguous :: vec_y(:,:)
  • private module subroutine spmv_kernel_csc_2d_csp(op, alpha, data, colptr, row, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=sp), intent(in) :: alpha
    complex(kind=sp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: colptr(:)

    matrix column pointer

    integer(kind=ilp), intent(in), contiguous :: row(:)

    matrix row pointer

    integer, intent(in) :: storage

    storage

    complex(kind=sp), intent(in), contiguous :: vec_x(:,:)
    complex(kind=sp), intent(in) :: beta
    complex(kind=sp), intent(inout), contiguous :: vec_y(:,:)
  • private module subroutine spmv_kernel_csc_2d_dp(op, alpha, data, colptr, row, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=dp), intent(in) :: alpha
    real(kind=dp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: colptr(:)

    matrix column pointer

    integer(kind=ilp), intent(in), contiguous :: row(:)

    matrix row pointer

    integer, intent(in) :: storage

    storage

    real(kind=dp), intent(in), contiguous :: vec_x(:,:)
    real(kind=dp), intent(in) :: beta
    real(kind=dp), intent(inout), contiguous :: vec_y(:,:)
  • private module subroutine spmv_kernel_csc_2d_sp(op, alpha, data, colptr, row, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=sp), intent(in) :: alpha
    real(kind=sp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: colptr(:)

    matrix column pointer

    integer(kind=ilp), intent(in), contiguous :: row(:)

    matrix row pointer

    integer, intent(in) :: storage

    storage

    real(kind=sp), intent(in), contiguous :: vec_x(:,:)
    real(kind=sp), intent(in) :: beta
    real(kind=sp), intent(inout), contiguous :: vec_y(:,:)

public interface spmv_kernel_csr

  • private module subroutine spmv_kernel_csr_1d_cdp(op, alpha, data, col, rowptr, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=dp), intent(in) :: alpha
    complex(kind=dp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: col(:)

    matrix column pointer

    integer(kind=ilp), intent(in), contiguous :: rowptr(:)

    matrix row pointer

    integer, intent(in) :: storage

    storage

    complex(kind=dp), intent(in), contiguous :: vec_x(:)
    complex(kind=dp), intent(in) :: beta
    complex(kind=dp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_csr_1d_csp(op, alpha, data, col, rowptr, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=sp), intent(in) :: alpha
    complex(kind=sp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: col(:)

    matrix column pointer

    integer(kind=ilp), intent(in), contiguous :: rowptr(:)

    matrix row pointer

    integer, intent(in) :: storage

    storage

    complex(kind=sp), intent(in), contiguous :: vec_x(:)
    complex(kind=sp), intent(in) :: beta
    complex(kind=sp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_csr_1d_dp(op, alpha, data, col, rowptr, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=dp), intent(in) :: alpha
    real(kind=dp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: col(:)

    matrix column pointer

    integer(kind=ilp), intent(in), contiguous :: rowptr(:)

    matrix row pointer

    integer, intent(in) :: storage

    storage

    real(kind=dp), intent(in), contiguous :: vec_x(:)
    real(kind=dp), intent(in) :: beta
    real(kind=dp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_csr_1d_sp(op, alpha, data, col, rowptr, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=sp), intent(in) :: alpha
    real(kind=sp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: col(:)

    matrix column pointer

    integer(kind=ilp), intent(in), contiguous :: rowptr(:)

    matrix row pointer

    integer, intent(in) :: storage

    storage

    real(kind=sp), intent(in), contiguous :: vec_x(:)
    real(kind=sp), intent(in) :: beta
    real(kind=sp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_csr_2d_cdp(op, alpha, data, col, rowptr, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=dp), intent(in) :: alpha
    complex(kind=dp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: col(:)

    matrix column pointer

    integer(kind=ilp), intent(in), contiguous :: rowptr(:)

    matrix row pointer

    integer, intent(in) :: storage

    storage

    complex(kind=dp), intent(in), contiguous :: vec_x(:,:)
    complex(kind=dp), intent(in) :: beta
    complex(kind=dp), intent(inout), contiguous :: vec_y(:,:)
  • private module subroutine spmv_kernel_csr_2d_csp(op, alpha, data, col, rowptr, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=sp), intent(in) :: alpha
    complex(kind=sp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: col(:)

    matrix column pointer

    integer(kind=ilp), intent(in), contiguous :: rowptr(:)

    matrix row pointer

    integer, intent(in) :: storage

    storage

    complex(kind=sp), intent(in), contiguous :: vec_x(:,:)
    complex(kind=sp), intent(in) :: beta
    complex(kind=sp), intent(inout), contiguous :: vec_y(:,:)
  • private module subroutine spmv_kernel_csr_2d_dp(op, alpha, data, col, rowptr, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=dp), intent(in) :: alpha
    real(kind=dp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: col(:)

    matrix column pointer

    integer(kind=ilp), intent(in), contiguous :: rowptr(:)

    matrix row pointer

    integer, intent(in) :: storage

    storage

    real(kind=dp), intent(in), contiguous :: vec_x(:,:)
    real(kind=dp), intent(in) :: beta
    real(kind=dp), intent(inout), contiguous :: vec_y(:,:)
  • private module subroutine spmv_kernel_csr_2d_sp(op, alpha, data, col, rowptr, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=sp), intent(in) :: alpha
    real(kind=sp), intent(in), contiguous :: data(:)
    integer(kind=ilp), intent(in), contiguous :: col(:)

    matrix column pointer

    integer(kind=ilp), intent(in), contiguous :: rowptr(:)

    matrix row pointer

    integer, intent(in) :: storage

    storage

    real(kind=sp), intent(in), contiguous :: vec_x(:,:)
    real(kind=sp), intent(in) :: beta
    real(kind=sp), intent(inout), contiguous :: vec_y(:,:)

public interface spmv_kernel_ell

  • private module subroutine spmv_kernel_ell_1d_cdp(op, alpha, data, index, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=dp), intent(in) :: alpha
    complex(kind=dp), intent(in), contiguous :: data(:,:)
    integer(kind=ilp), intent(in), contiguous :: index(:,:)
    integer, intent(in) :: storage
    complex(kind=dp), intent(in), contiguous :: vec_x(:)
    complex(kind=dp), intent(in) :: beta
    complex(kind=dp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_ell_1d_csp(op, alpha, data, index, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=sp), intent(in) :: alpha
    complex(kind=sp), intent(in), contiguous :: data(:,:)
    integer(kind=ilp), intent(in), contiguous :: index(:,:)
    integer, intent(in) :: storage
    complex(kind=sp), intent(in), contiguous :: vec_x(:)
    complex(kind=sp), intent(in) :: beta
    complex(kind=sp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_ell_1d_dp(op, alpha, data, index, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=dp), intent(in) :: alpha
    real(kind=dp), intent(in), contiguous :: data(:,:)
    integer(kind=ilp), intent(in), contiguous :: index(:,:)
    integer, intent(in) :: storage
    real(kind=dp), intent(in), contiguous :: vec_x(:)
    real(kind=dp), intent(in) :: beta
    real(kind=dp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_ell_1d_sp(op, alpha, data, index, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=sp), intent(in) :: alpha
    real(kind=sp), intent(in), contiguous :: data(:,:)
    integer(kind=ilp), intent(in), contiguous :: index(:,:)
    integer, intent(in) :: storage
    real(kind=sp), intent(in), contiguous :: vec_x(:)
    real(kind=sp), intent(in) :: beta
    real(kind=sp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_ell_2d_cdp(op, alpha, data, index, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=dp), intent(in) :: alpha
    complex(kind=dp), intent(in), contiguous :: data(:,:)
    integer(kind=ilp), intent(in), contiguous :: index(:,:)
    integer, intent(in) :: storage
    complex(kind=dp), intent(in), contiguous :: vec_x(:,:)
    complex(kind=dp), intent(in) :: beta
    complex(kind=dp), intent(inout), contiguous :: vec_y(:,:)
  • private module subroutine spmv_kernel_ell_2d_csp(op, alpha, data, index, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=sp), intent(in) :: alpha
    complex(kind=sp), intent(in), contiguous :: data(:,:)
    integer(kind=ilp), intent(in), contiguous :: index(:,:)
    integer, intent(in) :: storage
    complex(kind=sp), intent(in), contiguous :: vec_x(:,:)
    complex(kind=sp), intent(in) :: beta
    complex(kind=sp), intent(inout), contiguous :: vec_y(:,:)
  • private module subroutine spmv_kernel_ell_2d_dp(op, alpha, data, index, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=dp), intent(in) :: alpha
    real(kind=dp), intent(in), contiguous :: data(:,:)
    integer(kind=ilp), intent(in), contiguous :: index(:,:)
    integer, intent(in) :: storage
    real(kind=dp), intent(in), contiguous :: vec_x(:,:)
    real(kind=dp), intent(in) :: beta
    real(kind=dp), intent(inout), contiguous :: vec_y(:,:)
  • private module subroutine spmv_kernel_ell_2d_sp(op, alpha, data, index, storage, vec_x, beta, vec_y)

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=sp), intent(in) :: alpha
    real(kind=sp), intent(in), contiguous :: data(:,:)
    integer(kind=ilp), intent(in), contiguous :: index(:,:)
    integer, intent(in) :: storage
    real(kind=sp), intent(in), contiguous :: vec_x(:,:)
    real(kind=sp), intent(in) :: beta
    real(kind=sp), intent(inout), contiguous :: vec_y(:,:)

public interface spmv_kernel_sellc

  • private module subroutine spmv_kernel_sellc_cdp(op, alpha, data, ia, ja, storage, vec_x, beta, vec_y)

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

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=dp), intent(in) :: alpha
    complex(kind=dp), intent(in), contiguous :: data(:,:)
    integer(kind=ilp), intent(in), contiguous :: ia(:)
    integer(kind=ilp), intent(in), contiguous :: ja(:,:)
    integer, intent(in) :: storage
    complex(kind=dp), intent(in), contiguous :: vec_x(:)
    complex(kind=dp), intent(in) :: beta
    complex(kind=dp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_sellc_csp(op, alpha, data, ia, ja, storage, vec_x, beta, vec_y)

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

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    complex(kind=sp), intent(in) :: alpha
    complex(kind=sp), intent(in), contiguous :: data(:,:)
    integer(kind=ilp), intent(in), contiguous :: ia(:)
    integer(kind=ilp), intent(in), contiguous :: ja(:,:)
    integer, intent(in) :: storage
    complex(kind=sp), intent(in), contiguous :: vec_x(:)
    complex(kind=sp), intent(in) :: beta
    complex(kind=sp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_sellc_dp(op, alpha, data, ia, ja, storage, vec_x, beta, vec_y)

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

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=dp), intent(in) :: alpha
    real(kind=dp), intent(in), contiguous :: data(:,:)
    integer(kind=ilp), intent(in), contiguous :: ia(:)
    integer(kind=ilp), intent(in), contiguous :: ja(:,:)
    integer, intent(in) :: storage
    real(kind=dp), intent(in), contiguous :: vec_x(:)
    real(kind=dp), intent(in) :: beta
    real(kind=dp), intent(inout), contiguous :: vec_y(:)
  • private module subroutine spmv_kernel_sellc_sp(op, alpha, data, ia, ja, storage, vec_x, beta, vec_y)

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

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: op
    real(kind=sp), intent(in) :: alpha
    real(kind=sp), intent(in), contiguous :: data(:,:)
    integer(kind=ilp), intent(in), contiguous :: ia(:)
    integer(kind=ilp), intent(in), contiguous :: ja(:,:)
    integer, intent(in) :: storage
    real(kind=sp), intent(in), contiguous :: vec_x(:)
    real(kind=sp), intent(in) :: beta
    real(kind=sp), intent(inout), contiguous :: vec_y(:)