queso-0.57.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
QUESO::BaseVectorFunction< P_V, P_M, Q_V, Q_M > Class Template Referenceabstract

A templated (base) class for handling vector functions. More...

#include <VectorFunction.h>

Inheritance diagram for QUESO::BaseVectorFunction< P_V, P_M, Q_V, Q_M >:
QUESO::ConstantVectorFunction< P_V, P_M, Q_V, Q_M > QUESO::GenericVectorFunction< P_V, P_M, Q_V, Q_M >

Public Member Functions

Constructor/Destructor methods.
 BaseVectorFunction (const char *prefix, const VectorSet< P_V, P_M > &domainSet, const VectorSet< Q_V, Q_M > &imageSet)
 Default Constructor. More...
 
virtual ~BaseVectorFunction ()
 Destructor. More...
 
Mathematical methods.
const VectorSet< P_V, P_M > & domainSet () const
 Access to the protected attribute m_domainSet: domain set of the vector function. It is an instance of the class VectorSet. More...
 
const VectorSet< Q_V, Q_M > & imageSet () const
 Access to the protected attribute m_imageSet: image set of the vector function/ It is an instance of the class VectorSet. More...
 
virtual void compute (const P_V &domainVector, const P_V *domainDirection, Q_V &imageVector, DistArray< P_V * > *gradVectors, DistArray< P_M * > *hessianMatrices, DistArray< P_V * > *hessianEffects) const =0
 Computes the image vector. See template specialization. More...
 

Protected Attributes

const BaseEnvironmentm_env
 
std::string m_prefix
 
const VectorSet< P_V, P_M > & m_domainSet
 Domain set of the vector function. More...
 
const VectorSet< Q_V, Q_M > & m_imageSet
 Image set of the vector function. More...
 

Detailed Description

template<class P_V = GslVector, class P_M = GslMatrix, class Q_V = GslVector, class Q_M = GslMatrix>
class QUESO::BaseVectorFunction< P_V, P_M, Q_V, Q_M >

A templated (base) class for handling vector functions.

This class allows the mathematical definition of a vector function such as: \( \mathbf{q}: B \subset R^n \rightarrow R^m \). It requires the specification of the domain \( B \), which is a subset of the vector space (set) \( R^n \), (and have already been introduced by the class VectorSet) and of the image set \( R^m \).

Definition at line 50 of file VectorFunction.h.

Constructor & Destructor Documentation

template<class P_V , class P_M , class Q_V , class Q_M >
QUESO::BaseVectorFunction< P_V, P_M, Q_V, Q_M >::BaseVectorFunction ( const char *  prefix,
const VectorSet< P_V, P_M > &  domainSet,
const VectorSet< Q_V, Q_M > &  imageSet 
)

Default Constructor.

Instantiates an object of the class, i.e. a vector function, given a prefix, its domain and image.

Definition at line 33 of file VectorFunction.C.

37  :
38  m_env (domainSet.env()),
39  m_prefix ((std::string)(prefix)+"func_"),
40  m_domainSet(domainSet),
41  m_imageSet (imageSet)
42 {
43 }
const VectorSet< P_V, P_M > & m_domainSet
Domain set of the vector function.
const VectorSet< Q_V, Q_M > & m_imageSet
Image set of the vector function.
const BaseEnvironment & m_env
const BaseEnvironment & env() const
Environment. Access to private attribute m_env.
Definition: VectorSet.C:78
template<class P_V , class P_M , class Q_V , class Q_M >
QUESO::BaseVectorFunction< P_V, P_M, Q_V, Q_M >::~BaseVectorFunction ( )
virtual

Destructor.

Definition at line 47 of file VectorFunction.C.

48 {
49 }

Member Function Documentation

template<class P_V = GslVector, class P_M = GslMatrix, class Q_V = GslVector, class Q_M = GslMatrix>
virtual void QUESO::BaseVectorFunction< P_V, P_M, Q_V, Q_M >::compute ( const P_V &  domainVector,
const P_V *  domainDirection,
Q_V &  imageVector,
DistArray< P_V * > *  gradVectors,
DistArray< P_M * > *  hessianMatrices,
DistArray< P_V * > *  hessianEffects 
) const
pure virtual

Computes the image vector. See template specialization.

Implemented in QUESO::GenericVectorFunction< P_V, P_M, Q_V, Q_M >, and QUESO::ConstantVectorFunction< P_V, P_M, Q_V, Q_M >.

template<class P_V , class P_M , class Q_V , class Q_M >
const VectorSet< P_V, P_M > & QUESO::BaseVectorFunction< P_V, P_M, Q_V, Q_M >::domainSet ( ) const

Access to the protected attribute m_domainSet: domain set of the vector function. It is an instance of the class VectorSet.

This is one example of the advantage of how QUESO represents mathematical identities in a straightforward manner.

Definition at line 54 of file VectorFunction.C.

55 {
56  return m_domainSet;
57 }
const VectorSet< P_V, P_M > & m_domainSet
Domain set of the vector function.
template<class P_V , class P_M , class Q_V , class Q_M >
const VectorSet< Q_V, Q_M > & QUESO::BaseVectorFunction< P_V, P_M, Q_V, Q_M >::imageSet ( ) const

Access to the protected attribute m_imageSet: image set of the vector function/ It is an instance of the class VectorSet.

Definition at line 62 of file VectorFunction.C.

63 {
64  return m_imageSet;
65 }
const VectorSet< Q_V, Q_M > & m_imageSet
Image set of the vector function.

Member Data Documentation

template<class P_V = GslVector, class P_M = GslMatrix, class Q_V = GslVector, class Q_M = GslMatrix>
const VectorSet<P_V,P_M>& QUESO::BaseVectorFunction< P_V, P_M, Q_V, Q_M >::m_domainSet
protected

Domain set of the vector function.

Definition at line 86 of file VectorFunction.h.

template<class P_V = GslVector, class P_M = GslMatrix, class Q_V = GslVector, class Q_M = GslMatrix>
const BaseEnvironment& QUESO::BaseVectorFunction< P_V, P_M, Q_V, Q_M >::m_env
protected

Definition at line 82 of file VectorFunction.h.

template<class P_V = GslVector, class P_M = GslMatrix, class Q_V = GslVector, class Q_M = GslMatrix>
const VectorSet<Q_V,Q_M>& QUESO::BaseVectorFunction< P_V, P_M, Q_V, Q_M >::m_imageSet
protected

Image set of the vector function.

Definition at line 89 of file VectorFunction.h.

template<class P_V = GslVector, class P_M = GslMatrix, class Q_V = GslVector, class Q_M = GslMatrix>
std::string QUESO::BaseVectorFunction< P_V, P_M, Q_V, Q_M >::m_prefix
protected

Definition at line 83 of file VectorFunction.h.


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

Generated on Tue Jun 5 2018 19:49:02 for queso-0.57.1 by  doxygen 1.8.5