19template <
typename Matrix>
23#define SPECIALIZE_MATRIX_VECTOR_TRAITS(MATVEC, IDX) \
25 struct MatrixVectorTraits<MATVEC> \
28 static std::unique_ptr<MATVEC> newInstance(); \
29 static std::unique_ptr<MATVEC> newInstance(MATVEC const& A); \
30 static std::unique_ptr<MATVEC> newInstance( \
31 MatrixSpecifications const& spec); \
32 static std::unique_ptr<MATVEC> newInstance(Index const length); \
59#undef SPECIALIZE_MATRIX_VECTOR_TRAITS
#define SPECIALIZE_MATRIX_VECTOR_TRAITS(MATVEC, IDX)
Declaration of class PETScMatrix, which provides an interface to PETSc matrix routines.
Declaration of class PETScVector, which provides an interface to PETSc vector routines.
RawMatrixType::Index IndexType
Eigen::SparseMatrix< double >::Index IndexType
Wrapper class for PETSc matrix routines for matrix.
Wrapper class for PETSc vector.