monolish  0.16.2
MONOlithic LInear equation Solvers for Highly-parallel architecture
Functions
monolish::blas::matvec_N (CRS)

CRS format sparse matrix and vector multiplication: y = A^N x. More...

Functions

void monolish::blas::matvec_N (const matrix::CRS< double > &A, const vector< double > &x, vector< double > &y)
 CRS format sparse matrix and vector multiplication: y = A^N x. More...
 
void monolish::blas::matvec_N (const matrix::CRS< double > &A, const vector< double > &x, view1D< matrix::Dense< double >, double > &y)
 
void monolish::blas::matvec_N (const matrix::CRS< double > &A, const vector< double > &x, view1D< vector< double >, double > &y)
 
void monolish::blas::matvec_N (const matrix::CRS< double > &A, const view1D< matrix::Dense< double >, double > &x, vector< double > &y)
 
void monolish::blas::matvec_N (const matrix::CRS< double > &A, const view1D< matrix::Dense< double >, double > &x, view1D< matrix::Dense< double >, double > &y)
 
void monolish::blas::matvec_N (const matrix::CRS< double > &A, const view1D< matrix::Dense< double >, double > &x, view1D< vector< double >, double > &y)
 
void monolish::blas::matvec_N (const matrix::CRS< double > &A, const view1D< vector< double >, double > &x, vector< double > &y)
 
void monolish::blas::matvec_N (const matrix::CRS< double > &A, const view1D< vector< double >, double > &x, view1D< matrix::Dense< double >, double > &y)
 
void monolish::blas::matvec_N (const matrix::CRS< double > &A, const view1D< vector< double >, double > &x, view1D< vector< double >, double > &y)
 
void monolish::blas::matvec_N (const matrix::CRS< float > &A, const vector< float > &x, vector< float > &y)
 
void monolish::blas::matvec_N (const matrix::CRS< float > &A, const vector< float > &x, view1D< matrix::Dense< float >, float > &y)
 
void monolish::blas::matvec_N (const matrix::CRS< float > &A, const vector< float > &x, view1D< vector< float >, float > &y)
 
void monolish::blas::matvec_N (const matrix::CRS< float > &A, const view1D< matrix::Dense< float >, float > &x, vector< float > &y)
 
void monolish::blas::matvec_N (const matrix::CRS< float > &A, const view1D< matrix::Dense< float >, float > &x, view1D< matrix::Dense< float >, float > &y)
 
void monolish::blas::matvec_N (const matrix::CRS< float > &A, const view1D< matrix::Dense< float >, float > &x, view1D< vector< float >, float > &y)
 
void monolish::blas::matvec_N (const matrix::CRS< float > &A, const view1D< vector< float >, float > &x, vector< float > &y)
 
void monolish::blas::matvec_N (const matrix::CRS< float > &A, const view1D< vector< float >, float > &x, view1D< matrix::Dense< float >, float > &y)
 
void monolish::blas::matvec_N (const matrix::CRS< float > &A, const view1D< vector< float >, float > &x, view1D< vector< float >, float > &y)
 

Detailed Description

CRS format sparse matrix and vector multiplication: y = A^N x.

Function Documentation

◆ matvec_N() [1/18]

void monolish::blas::matvec_N ( const matrix::CRS< double > &  A,
const vector< double > &  x,
vector< double > &  y 
)

CRS format sparse matrix and vector multiplication: y = A^N x.

Parameters
ACRS matrix (size M x N)
xmonolish vector (size M)
ymonolish vector (size M)
Note
  • # of computation: 2nnz
  • Multi-threading: true
  • GPU acceleration: true
    • # of data transfer: 0

◆ matvec_N() [2/18]

void monolish::blas::matvec_N ( const matrix::CRS< double > &  A,
const vector< double > &  x,
view1D< matrix::Dense< double >, double > &  y 
)

◆ matvec_N() [3/18]

void monolish::blas::matvec_N ( const matrix::CRS< double > &  A,
const vector< double > &  x,
view1D< vector< double >, double > &  y 
)

◆ matvec_N() [4/18]

void monolish::blas::matvec_N ( const matrix::CRS< double > &  A,
const view1D< matrix::Dense< double >, double > &  x,
vector< double > &  y 
)

◆ matvec_N() [5/18]

void monolish::blas::matvec_N ( const matrix::CRS< double > &  A,
const view1D< matrix::Dense< double >, double > &  x,
view1D< matrix::Dense< double >, double > &  y 
)

◆ matvec_N() [6/18]

void monolish::blas::matvec_N ( const matrix::CRS< double > &  A,
const view1D< matrix::Dense< double >, double > &  x,
view1D< vector< double >, double > &  y 
)

◆ matvec_N() [7/18]

void monolish::blas::matvec_N ( const matrix::CRS< double > &  A,
const view1D< vector< double >, double > &  x,
vector< double > &  y 
)

◆ matvec_N() [8/18]

void monolish::blas::matvec_N ( const matrix::CRS< double > &  A,
const view1D< vector< double >, double > &  x,
view1D< matrix::Dense< double >, double > &  y 
)

◆ matvec_N() [9/18]

void monolish::blas::matvec_N ( const matrix::CRS< double > &  A,
const view1D< vector< double >, double > &  x,
view1D< vector< double >, double > &  y 
)

◆ matvec_N() [10/18]

void monolish::blas::matvec_N ( const matrix::CRS< float > &  A,
const vector< float > &  x,
vector< float > &  y 
)

◆ matvec_N() [11/18]

void monolish::blas::matvec_N ( const matrix::CRS< float > &  A,
const vector< float > &  x,
view1D< matrix::Dense< float >, float > &  y 
)

◆ matvec_N() [12/18]

void monolish::blas::matvec_N ( const matrix::CRS< float > &  A,
const vector< float > &  x,
view1D< vector< float >, float > &  y 
)

◆ matvec_N() [13/18]

void monolish::blas::matvec_N ( const matrix::CRS< float > &  A,
const view1D< matrix::Dense< float >, float > &  x,
vector< float > &  y 
)

◆ matvec_N() [14/18]

void monolish::blas::matvec_N ( const matrix::CRS< float > &  A,
const view1D< matrix::Dense< float >, float > &  x,
view1D< matrix::Dense< float >, float > &  y 
)

◆ matvec_N() [15/18]

void monolish::blas::matvec_N ( const matrix::CRS< float > &  A,
const view1D< matrix::Dense< float >, float > &  x,
view1D< vector< float >, float > &  y 
)

◆ matvec_N() [16/18]

void monolish::blas::matvec_N ( const matrix::CRS< float > &  A,
const view1D< vector< float >, float > &  x,
vector< float > &  y 
)

◆ matvec_N() [17/18]

void monolish::blas::matvec_N ( const matrix::CRS< float > &  A,
const view1D< vector< float >, float > &  x,
view1D< matrix::Dense< float >, float > &  y 
)

◆ matvec_N() [18/18]

void monolish::blas::matvec_N ( const matrix::CRS< float > &  A,
const view1D< vector< float >, float > &  x,
view1D< vector< float >, float > &  y 
)