12 #ifndef _C_LINEAR_OPERATOR_C_LINEAR_OPERATOR_H_
13 #define _C_LINEAR_OPERATOR_C_LINEAR_OPERATOR_H_
19 #include "../_definitions/types.h"
39 template <
typename DataType>
60 const DataType* known_parameters,
61 const DataType known_eigenvalue,
62 const DataType* inquiry_parameters)
const = 0;
65 const DataType* vector,
66 DataType* product) = 0;
69 const DataType* vector,
70 DataType* product) = 0;
Base class for linear operators. This class serves as interface for all derived classes.
LongIndexType get_num_columns() const
virtual DataType get_eigenvalue(const DataType *known_parameters, const DataType known_eigenvalue, const DataType *inquiry_parameters) const =0
virtual void transpose_dot(const DataType *vector, DataType *product)=0
virtual void dot(const DataType *vector, DataType *product)=0
virtual ~cLinearOperator()
const LongIndexType num_rows
FlagType eigenvalue_relation_known
cLinearOperator()
Default constructor.
const LongIndexType num_columns
void set_parameters(DataType *parameters_)
Sets the scalar parameter this->parameters. Parameter is initialized to NULL. However,...
LongIndexType get_num_rows() const
FlagType is_eigenvalue_relation_known() const
Returns a flag that determines whether a relation between the parameters of the operator and its eige...
IndexType get_num_parameters() const