![]() |
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.