|
SU2
|
abstract base class for defining matrix-vector products More...
#include <vector_structure.hpp>
Public Member Functions | |
| virtual | ~CMatrixVectorProduct ()=0 |
| class destructor | |
| virtual void | operator() (const CSysVector &u, CSysVector &v) const =0 |
| matrix-vector product operation | |
abstract base class for defining matrix-vector products
The Krylov-subspace solvers require only matrix-vector products and not the actual matrix/Jacobian. We need some way to indicate which function will perform the product. However, sometimes the functions that define the product will require different numbers and types of inputs. For example, the forward-difference approximation to a Jacobian-vector product requires the vector that defines the Jacobian and a perturbation parameter. The CMatrixVectorProduct class is used to derive child classes that can handle the different types of matrix-vector products and still be passed to a single implementation of the Krylov solvers.
1.8.12