![]() |
imate
C++/CUDA Reference
|
Base class for cLinearOperator and cuLinearOperator . This class is not templated so that both cpp and cu classed can be derived from it without conflict of data types.
More...
#include <c_linear_operator_base.h>

Public Member Functions | |
| cLinearOperatorBase () | |
| Default constructor. | |
| cLinearOperatorBase (const LongIndexType num_rows_, const LongIndexType num_columns_) | |
Constructor with setting num_rows and num_columns. | |
| virtual | ~cLinearOperatorBase () |
| Destructor. | |
| LongIndexType | get_num_rows () const |
| Returns the number of rows of the matrix. | |
| LongIndexType | get_num_columns () const |
| Returns the number of columns of the matrix. | |
| IndexType | get_num_parameters () const |
| Returns the number of parameters of the linear operator. | |
| 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. | |
| virtual void | set_symmetry (FlagType symmetric)=0 |
Protected Attributes | |
| const LongIndexType | num_rows |
| const LongIndexType | num_columns |
| FlagType | eigenvalue_relation_known |
| IndexType | num_parameters |
Base class for cLinearOperator and cuLinearOperator . This class is not templated so that both cpp and cu classed can be derived from it without conflict of data types.
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 39 of file c_linear_operator_base.h.
| cLinearOperatorBase::cLinearOperatorBase | ( | ) |
Default constructor.
Definition at line 27 of file c_linear_operator_base.cpp.
| cLinearOperatorBase::cLinearOperatorBase | ( | const LongIndexType | num_rows_, |
| const LongIndexType | num_columns_ | ||
| ) |
Constructor with setting num_rows and num_columns.
| [in] | num_rows_ | Number of rows of A |
| [in] | num_columns_ | Number of columns of A |
Definition at line 53 of file c_linear_operator_base.cpp.
|
virtual |
| LongIndexType cLinearOperatorBase::get_num_columns | ( | ) | const |
Returns the number of columns of the matrix.
Definition at line 100 of file c_linear_operator_base.cpp.
References num_columns.
| IndexType cLinearOperatorBase::get_num_parameters | ( | ) | const |
Returns the number of parameters of the linear operator.
For the subclass cMatrix, this value is zero. For the subclass cAffineMatrixFunction, this value is a non-zero integer.
Definition at line 117 of file c_linear_operator_base.cpp.
References num_parameters.
Referenced by cTraceEstimator< DataType >::_c_stochastic_lanczos_quadrature(), and cuTraceEstimator< DataType >::_cu_stochastic_lanczos_quadrature().

| LongIndexType cLinearOperatorBase::get_num_rows | ( | ) | const |
Returns the number of rows of the matrix.
Definition at line 86 of file c_linear_operator_base.cpp.
References num_rows.
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 cLinearOperatorBase::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.
1, otherwise returns 0. Definition at line 133 of file c_linear_operator_base.cpp.
References eigenvalue_relation_known.
Referenced by cTraceEstimator< DataType >::_c_stochastic_lanczos_quadrature(), and cuTraceEstimator< DataType >::_cu_stochastic_lanczos_quadrature().

|
pure virtual |
Implemented in cCSCAffineMatrixFunction< DataType >, cCSRAffineMatrixFunction< DataType >, cDenseAffineMatrixFunction< DataType >, cMatrix< DataType >, cuCSCAffineMatrixFunction< DataType >, cuCSRAffineMatrixFunction< DataType >, cuDenseAffineMatrixFunction< DataType >, cuMatrix< DataType >, cAffineMatrixFunction< DataType >, and cuAffineMatrixFunction< DataType >.
Referenced by cCSCAffineMatrixFunction< DataType >::set_symmetry(), cCSRAffineMatrixFunction< DataType >::set_symmetry(), and cDenseAffineMatrixFunction< DataType >::set_symmetry().

|
protected |
Definition at line 64 of file c_linear_operator_base.h.
Referenced by cCSCAffineMatrixFunction< DataType >::cCSCAffineMatrixFunction(), cCSCAffineMatrixFunction< DataType >::cCSCAffineMatrixFunction(), cCSRAffineMatrixFunction< DataType >::cCSRAffineMatrixFunction(), cCSRAffineMatrixFunction< DataType >::cCSRAffineMatrixFunction(), cDenseAffineMatrixFunction< DataType >::cDenseAffineMatrixFunction(), cDenseAffineMatrixFunction< DataType >::cDenseAffineMatrixFunction(), cuCSCAffineMatrixFunction< DataType >::cuCSCAffineMatrixFunction(), cuCSCAffineMatrixFunction< DataType >::cuCSCAffineMatrixFunction(), cuCSRAffineMatrixFunction< DataType >::cuCSRAffineMatrixFunction(), cuCSRAffineMatrixFunction< DataType >::cuCSRAffineMatrixFunction(), cuDenseAffineMatrixFunction< DataType >::cuDenseAffineMatrixFunction(), cuDenseAffineMatrixFunction< DataType >::cuDenseAffineMatrixFunction(), and is_eigenvalue_relation_known().
|
protected |
Definition at line 63 of file c_linear_operator_base.h.
Referenced by get_num_columns().
|
protected |
Definition at line 65 of file c_linear_operator_base.h.
Referenced by cAffineMatrixFunction< DataType >::cAffineMatrixFunction(), cuAffineMatrixFunction< DataType >::cuAffineMatrixFunction(), and get_num_parameters().
|
protected |
Definition at line 62 of file c_linear_operator_base.h.
Referenced by get_num_rows().