SU2
Public Member Functions | List of all members
CMatrixVectorProduct Class Referenceabstract

abstract base class for defining matrix-vector products More...

#include <vector_structure.hpp>

Inheritance diagram for CMatrixVectorProduct:
CSysMatrixVectorProduct CSysMatrixVectorProductTransposed

Public Member Functions

virtual ~CMatrixVectorProduct ()=0
 class destructor
 
virtual void operator() (const CSysVector &u, CSysVector &v) const =0
 matrix-vector product operation
 

Detailed Description

abstract base class for defining matrix-vector products

Author
J. Hicken.
Version
5.0.0 "Raven"

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.


The documentation for this class was generated from the following file: