imate
C++/CUDA Reference
|
Base class for linear operators. This class serves as interface for all derived classes. More...
#include <c_linear_operator.h>
Public Member Functions | |
cLinearOperator () | |
Default constructor. More... | |
cLinearOperator (const LongIndexType num_rows_, const LongIndexType num_columns_) | |
Constructor with setting num_rows and num_columns . More... | |
virtual | ~cLinearOperator () |
LongIndexType | get_num_rows () const |
LongIndexType | get_num_columns () const |
void | set_parameters (DataType *parameters_) |
Sets the scalar parameter this->parameters . Parameter is initialized to NULL . However, before calling dot or transpose_dot functions, the parameters must be set. More... | |
IndexType | get_num_parameters () const |
FlagType | is_eigenvalue_relation_known () const |
Returns a flag that determines whether a relation between the parameters of the operator and its eigenvalue(s) is known. More... | |
virtual DataType | get_eigenvalue (const DataType *known_parameters, const DataType known_eigenvalue, const DataType *inquiry_parameters) const =0 |
virtual void | dot (const DataType *vector, DataType *product)=0 |
virtual void | transpose_dot (const DataType *vector, DataType *product)=0 |
Protected Attributes | |
const LongIndexType | num_rows |
const LongIndexType | num_columns |
FlagType | eigenvalue_relation_known |
DataType * | parameters |
IndexType | num_parameters |
Base class for linear operators. This class serves as interface for all derived classes.
The prefix c
in this class's name (and its derivatves), stands for the cpp
code, intrast to the cu
prefix, which stands for the cuda code. Most derived classes have a cuda counterpart.
Definition at line 40 of file c_linear_operator.h.
cLinearOperator< DataType >::cLinearOperator |
Default constructor.
Definition at line 28 of file c_linear_operator.cpp.
cLinearOperator< DataType >::cLinearOperator | ( | const LongIndexType | num_rows_, |
const LongIndexType | num_columns_ | ||
) |
Constructor with setting num_rows
and num_columns
.
Definition at line 50 of file c_linear_operator.cpp.
|
virtual |
Definition at line 69 of file c_linear_operator.cpp.
|
pure virtual |
Implemented in cuDenseAffineMatrixFunction< DataType >, cuCSRAffineMatrixFunction< DataType >, cuCSCAffineMatrixFunction< DataType >, cDenseMatrix< DataType >, cDenseAffineMatrixFunction< DataType >, cCSRMatrix< DataType >, cCSRAffineMatrixFunction< DataType >, cCSCMatrix< DataType >, cCSCAffineMatrixFunction< DataType >, cuDenseMatrix< DataType >, cuCSRMatrix< DataType >, and cuCSCMatrix< DataType >.
Referenced by c_golub_kahn_bidiagonalization(), c_lanczos_tridiagonalization(), cu_golub_kahn_bidiagonalization(), and cu_lanczos_tridiagonalization().
|
pure virtual |
Implemented in cuAffineMatrixFunction< DataType >, cMatrix< DataType >, and cAffineMatrixFunction< DataType >.
Referenced by cTraceEstimator< DataType >::_c_stochastic_lanczos_quadrature(), and cuTraceEstimator< DataType >::_cu_stochastic_lanczos_quadrature().
LongIndexType cLinearOperator< DataType >::get_num_columns |
Definition at line 90 of file c_linear_operator.cpp.
IndexType cLinearOperator< DataType >::get_num_parameters |
Definition at line 119 of file c_linear_operator.cpp.
Referenced by cTraceEstimator< DataType >::_c_stochastic_lanczos_quadrature(), and cuTraceEstimator< DataType >::_cu_stochastic_lanczos_quadrature().
LongIndexType cLinearOperator< DataType >::get_num_rows |
Definition at line 79 of file c_linear_operator.cpp.
Referenced by cTraceEstimator< DataType >::_c_stochastic_lanczos_quadrature(), cuTraceEstimator< DataType >::_cu_stochastic_lanczos_quadrature(), cTraceEstimator< DataType >::c_trace_estimator(), and cuTraceEstimator< DataType >::cu_trace_estimator().
FlagType cLinearOperator< DataType >::is_eigenvalue_relation_known |
Returns a flag that determines whether a relation between the parameters of the operator and its eigenvalue(s) is known.
1
, otherwise returns 0
. Definition at line 136 of file c_linear_operator.cpp.
Referenced by cTraceEstimator< DataType >::_c_stochastic_lanczos_quadrature(), and cuTraceEstimator< DataType >::_cu_stochastic_lanczos_quadrature().
void cLinearOperator< DataType >::set_parameters | ( | DataType * | parameters_ | ) |
Sets the scalar parameter this->parameters
. Parameter is initialized to NULL
. However, before calling dot
or transpose_dot
functions, the parameters must be set.
[in] | parameters_ | A pointer to the scalar or array of parameters. |
Definition at line 108 of file c_linear_operator.cpp.
Referenced by cTraceEstimator< DataType >::_c_stochastic_lanczos_quadrature(), and cuTraceEstimator< DataType >::_cu_stochastic_lanczos_quadrature().
|
pure virtual |
Implemented in cuDenseAffineMatrixFunction< DataType >, cuCSRAffineMatrixFunction< DataType >, cuCSCAffineMatrixFunction< DataType >, cDenseMatrix< DataType >, cDenseAffineMatrixFunction< DataType >, cCSRMatrix< DataType >, cCSRAffineMatrixFunction< DataType >, cCSCMatrix< DataType >, cCSCAffineMatrixFunction< DataType >, cuDenseMatrix< DataType >, cuCSRMatrix< DataType >, and cuCSCMatrix< DataType >.
Referenced by c_golub_kahn_bidiagonalization(), and cu_golub_kahn_bidiagonalization().
|
protected |
Definition at line 77 of file c_linear_operator.h.
Referenced by cCSCAffineMatrixFunction< DataType >::cCSCAffineMatrixFunction(), cCSRAffineMatrixFunction< DataType >::cCSRAffineMatrixFunction(), cDenseAffineMatrixFunction< DataType >::cDenseAffineMatrixFunction(), cuCSCAffineMatrixFunction< DataType >::cuCSCAffineMatrixFunction(), cuCSRAffineMatrixFunction< DataType >::cuCSRAffineMatrixFunction(), and cuDenseAffineMatrixFunction< DataType >::cuDenseAffineMatrixFunction().
|
protected |
Definition at line 76 of file c_linear_operator.h.
|
protected |
Definition at line 79 of file c_linear_operator.h.
Referenced by cAffineMatrixFunction< DataType >::cAffineMatrixFunction(), and cuAffineMatrixFunction< DataType >::cuAffineMatrixFunction().
|
protected |
Definition at line 75 of file c_linear_operator.h.
|
protected |
Definition at line 78 of file c_linear_operator.h.