| 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