|
Thyra Package Browser (Single Doxygen Collection) Version of the Day
|
Simple parallel response-only ModelEvaluator. More...
#include <Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_decl.hpp>

Private Attributes | |
| int | Np_ |
| int | Ng_ |
| RCP< const Teuchos::Comm < Ordinal > > | comm_ |
| const int | localDim_ |
| RCP< const VectorSpaceBase < Scalar > > | g_space_ |
| RCP< VectorSpaceBase< Scalar > > | p_space_ |
| RCP< const VectorBase< Scalar > > | ps_ |
| RCP< const VectorBase< Scalar > > | diag_ |
| Scalar | nonlinearTermFactor_ |
| Scalar | g_offset_ |
| RCP< const VectorBase< Scalar > > | diag_bar_ |
| RCP< const VectorBase< Scalar > > | s_bar_ |
Constructors/Initializers/Accessors. | |
| DiagonalQuadraticResponseOnlyModelEvaluator (const int localDim, const RCP< const Teuchos::Comm< Ordinal > > &comm=Teuchos::null) | |
| | |
| void | setSolutionVector (const RCP< const VectorBase< Scalar > > &ps) |
| Set the solution vector ps . | |
| const RCP< const VectorBase < Scalar > > | getSolutionVector () const |
| Get the solution vector ps . | |
| void | setDiagonalVector (const RCP< const VectorBase< Scalar > > &diag) |
| Set the diagonal vector diag. | |
| void | setDiagonalBarVector (const RCP< const VectorBase< Scalar > > &diag_bar) |
| Set the diagonal vector diag_bar. | |
| void | setNonlinearTermFactor (const Scalar &nonlinearTermFactor) |
| Set nonlinear term factory. | |
| void | setScalarOffset (const Scalar &g_offset) |
| Set offset scalar g_offset . | |
Public functions overridden from ModelEvaulator. | |
| int | Np () const |
| | |
| int | Ng () const |
| | |
| RCP< const VectorSpaceBase < Scalar > > | get_p_space (int l) const |
| | |
| RCP< const VectorSpaceBase < Scalar > > | get_g_space (int j) const |
| | |
| ModelEvaluatorBase::InArgs < Scalar > | createInArgs () const |
| | |
Private functions overridden from ModelEvaulatorDefaultBase. | |
| ModelEvaluatorBase::OutArgs < Scalar > | createOutArgsImpl () const |
| | |
| void | evalModelImpl (const ModelEvaluatorBase::InArgs< Scalar > &inArgs, const ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const |
| | |
Simple parallel response-only ModelEvaluator.
The representation of the model in coefficient form is:
g(p) = 0.5 * sum( diag[i] * (p[i] - ps[i])^2, i=0...n-1 )
+ 0.5 * nonlinearTermFactor * sum( (p[i] - ps[i])^3, i=0...n-1 )
+ g_offset
In vector coefficient form it becomes:
g(p) = 0.5 * (p-ps)^T * D * (p-ps) + cubicTerm(p) + g_offset
where D = diag(diag) and cubitTerm(p) is given above.
This test model implementation also supports the definition of diagonal scalar product implementation. The impact of this is the definition of new abstract Thyra Euclidean vectors of the form:
p_bar = E_p * p g_grad_bar = E_p * g_grad
In this notation, we say that the Thyra vectors themselves p_bar are vectors in a Euclidean space (from the standpoint of the ANA clients) and that p are the coefficient vectors in the new non-Euclidean space S_p with scalar product:
y_bar^T * x_bar = y^T * E_p^T * E_p * x
= y^T * S_p * x
= <y, x>_p
The ideas is that by providing this new vector space basis E_p and inner product <.,.>_p, we change the function that the ANA sees.
This testing class allows a client to specify the desirable diagonal D_bar matrix by passing in the vector diag_bar. From diag_bar and diag, the diagonal s_diag for S_p = diag(s_diag) as:
s_diag[i] = diag_bar[i] / diag[i]
The inner product is therefore:
scalarProd(y_bar, x_bar) = sum( s_diag[i] * y[i] * x[i], i=0...n-1 )
Definition at line 83 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_decl.hpp.
| Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::DiagonalQuadraticResponseOnlyModelEvaluator | ( | const int | localDim, |
| const RCP< const Teuchos::Comm< Ordinal > > & | comm = Teuchos::null |
||
| ) |
Definition at line 27 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_def.hpp.
References Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::comm_, Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::diag_, Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::diag_bar_, Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::g_offset_, Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::g_space_, Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::p_space_, Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::ps_, Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::s_bar_, and Thyra::V_S().
| void Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::setSolutionVector | ( | const RCP< const VectorBase< Scalar > > & | ps | ) |
Set the solution vector ps .
Definition at line 74 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_def.hpp.
| const RCP< const Thyra::VectorBase< Scalar > > Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::getSolutionVector | ( | ) | const |
Get the solution vector ps .
Definition at line 83 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_def.hpp.
| void Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::setDiagonalVector | ( | const RCP< const VectorBase< Scalar > > & | diag | ) |
Set the diagonal vector diag.
Definition at line 90 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_def.hpp.
| void Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::setDiagonalBarVector | ( | const RCP< const VectorBase< Scalar > > & | diag_bar | ) |
Set the diagonal vector diag_bar.
NOTE: You must call setDiagonalVector(diag) first in order to set the objective diagonal.
Definition at line 99 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_def.hpp.
References Thyra::ele_wise_divide(), Thyra::ScalarProdVectorSpaceBase< Scalar >::setScalarProd(), and Thyra::V_S().
| void Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::setNonlinearTermFactor | ( | const Scalar & | nonlinearTermFactor | ) |
Set nonlinear term factory.
Definition at line 131 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_def.hpp.
| void Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::setScalarOffset | ( | const Scalar & | g_offset | ) |
Set offset scalar g_offset .
Definition at line 139 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_def.hpp.
| int Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::Np | ( | ) | const [virtual] |
Reimplemented from Thyra::ModelEvaluatorDefaultBase< Scalar >.
Definition at line 150 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_def.hpp.
| int Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::Ng | ( | ) | const [virtual] |
Reimplemented from Thyra::ModelEvaluatorDefaultBase< Scalar >.
Definition at line 157 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_def.hpp.
| RCP< const Thyra::VectorSpaceBase< Scalar > > Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::get_p_space | ( | int | l | ) | const [virtual] |
Implements Thyra::ModelEvaluator< Scalar >.
Definition at line 165 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_def.hpp.
| RCP< const Thyra::VectorSpaceBase< Scalar > > Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::get_g_space | ( | int | j | ) | const [virtual] |
Implements Thyra::ModelEvaluator< Scalar >.
Definition at line 176 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_def.hpp.
| Thyra::ModelEvaluatorBase::InArgs< Scalar > Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::createInArgs | ( | ) | const [virtual] |
Implements Thyra::ModelEvaluator< Scalar >.
Definition at line 187 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_def.hpp.
| Thyra::ModelEvaluatorBase::OutArgs< Scalar > Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::createOutArgsImpl | ( | ) | const [private, virtual] |
Implements Thyra::ModelEvaluatorDefaultBase< Scalar >.
Definition at line 202 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_def.hpp.
| void Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::evalModelImpl | ( | const ModelEvaluatorBase::InArgs< Scalar > & | inArgs, |
| const ModelEvaluatorBase::OutArgs< Scalar > & | outArgs | ||
| ) | const [private, virtual] |
Implements Thyra::ModelEvaluatorDefaultBase< Scalar >.
Definition at line 215 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_def.hpp.
References Thyra::ModelEvaluatorBase::OutArgs< Scalar >::get_DgDp(), Thyra::ModelEvaluatorBase::OutArgs< Scalar >::get_g(), and Thyra::ModelEvaluatorBase::InArgs< Scalar >::get_p().
int Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::Np_ [private] |
Definition at line 160 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_decl.hpp.
int Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::Ng_ [private] |
Definition at line 161 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_decl.hpp.
RCP<const Teuchos::Comm<Ordinal> > Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::comm_ [private] |
Definition at line 162 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_decl.hpp.
Referenced by Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::DiagonalQuadraticResponseOnlyModelEvaluator().
const int Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::localDim_ [private] |
Definition at line 163 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_decl.hpp.
RCP<const VectorSpaceBase<Scalar> > Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::g_space_ [private] |
Definition at line 165 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_decl.hpp.
Referenced by Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::DiagonalQuadraticResponseOnlyModelEvaluator().
RCP<VectorSpaceBase<Scalar> > Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::p_space_ [private] |
Definition at line 168 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_decl.hpp.
Referenced by Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::DiagonalQuadraticResponseOnlyModelEvaluator().
RCP<const VectorBase<Scalar> > Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::ps_ [private] |
Definition at line 170 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_decl.hpp.
Referenced by Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::DiagonalQuadraticResponseOnlyModelEvaluator().
RCP<const VectorBase<Scalar> > Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::diag_ [private] |
Definition at line 171 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_decl.hpp.
Referenced by Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::DiagonalQuadraticResponseOnlyModelEvaluator().
Scalar Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::nonlinearTermFactor_ [private] |
Definition at line 172 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_decl.hpp.
Scalar Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::g_offset_ [private] |
Definition at line 173 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_decl.hpp.
Referenced by Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::DiagonalQuadraticResponseOnlyModelEvaluator().
RCP<const VectorBase<Scalar> > Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::diag_bar_ [private] |
Definition at line 175 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_decl.hpp.
Referenced by Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::DiagonalQuadraticResponseOnlyModelEvaluator().
RCP<const VectorBase<Scalar> > Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::s_bar_ [private] |
Definition at line 176 of file Thyra_DiagonalQuadraticResponseOnlyModelEvaluator_decl.hpp.
Referenced by Thyra::DiagonalQuadraticResponseOnlyModelEvaluator< Scalar >::DiagonalQuadraticResponseOnlyModelEvaluator().
1.7.4