monolish
0.14.0
MONOlithic LIner equation Solvers for Highly-parallel architecture
|
Go to the documentation of this file.
18 template <
typename Float>
class vector;
20 template <
typename Float>
class Dense;
21 template <
typename Float>
class COO;
22 template <
typename Float>
class CRS;
30 template <
typename Float>
class LinearOperator {
93 const size_t M,
const size_t N,
109 const size_t M,
const size_t N,
235 std::string
type()
const {
return "LinearOperator"; }
void set_rmatvec(const std::function< vector< Float >(const vector< Float > &)> &RMATVEC)
set multiplication function of (Hermitian) transposed matrix and vector
Linear Operator imitating Matrix.
bool gpu_status
true: sended, false: not send
std::string type() const
get format name "LinearOperator"
std::function< vector< Float >const vector< Float > &)> matvec
pseudo multiplication function of matrix and vector
void set_device_mem_stat(bool status)
void operator=(const LinearOperator< Float > &mat)
operator copy
void send() const
send data to GPU
bool get_device_mem_stat() const
true: sended, false: not send
void convert_to_Dense(Dense< Float > &dense) const
size_t get_col() const
get # of col
~LinearOperator()
destructor of LinearOperator, free GPU memory
bool get_matvec_init_flag() const
get flag that shows matvec is defined or not
std::function< vector< Float >const vector< Float > &)> rmatvec
pseudo multiplication function of (Hermitian) transposed matrix and vector
LinearOperator(COO< Float > &coo)
Create LinearOperator from COO.
size_t get_row() const
get # of row
void convert(COO< Float > &coo)
Convert LinearOperator from COO.
Coodinate (COO) format Matrix (need to sort)
void nonfree_recv() const
recv. data to GPU (w/o free)
LinearOperator(CRS< Float > &crs)
void recv() const
recv. data to GPU, and free data on GPU
std::function< vector< Float >const vector< Float > &)> get_rmatvec() const
get multiplication function of (Hermitian) transposed matrix and vector C = A;
bool matvec_init_flag
flag that shows matvec is defined or not
void set_matvec(const std::function< vector< Float >(const vector< Float > &)> &MATVEC)
set multiplication function of matrix and vector
void device_free() const
free data on GPU
std::function< vector< Float >const vector< Float > &)> get_matvec() const
get multiplication function of matrix and vector
Compressed Row Storage (CRS) format Matrix.
bool get_rmatvec_init_flag() const
get flag that shows rmatvec is defined or not
bool rmatvec_init_flag
flag that shows rmatvec is defined or not