12#ifndef _CU_LINEAR_OPERATOR_CU_MATRIX_H_
13#define _CU_LINEAR_OPERATOR_CU_MATRIX_H_
20#include "../_definitions/types.h"
43template <
typename DataType>
58 const DataType* known_parameters,
59 const DataType known_eigenvalue,
60 const DataType* inquiry_parameters)
const;
67 const DataType* vector,
69 DataType* product) = 0;
72 const DataType* vector,
74 DataType* product) = 0;
Base class for linear operators. This class serves as interface for all derived classes.
Base class for constant matrices.
virtual void dot_plus(const DataType *vector, const DataType alpha, DataType *product)=0
virtual void transpose_dot_plus(const DataType *vector, const DataType alpha, DataType *product)=0
cuMatrix()
Default constructor.
virtual ~cuMatrix()
Destructor.
virtual void copy_host_to_device()=0
virtual FlagType is_identity_matrix() const =0
DataType get_eigenvalue(const DataType *known_parameters, const DataType known_eigenvalue, const DataType *inquiry_parameters) const
This virtual function is implemented from its pure virtual function of the base class....
virtual void set_symmetry(const FlagType symmetric)
Specify whether the matrix is symmetic or non-symmetric.