42#ifndef EPETRA_EXT_MODEL_EVALUATOR_SCALING_TOOLS_H 
   43#define EPETRA_EXT_MODEL_EVALUATOR_SCALING_TOOLS_H 
   45#if defined(EpetraExt_SHOW_DEPRECATED_WARNINGS) 
   47#warning "The EpetraExt package is deprecated" 
   53#include "Teuchos_Utils.hpp" 
  194  const ModelEvaluator &model,
 
  195  ModelEvaluator::InArgs *nominalValues
 
  207  const ModelEvaluator &model,
 
  208  ModelEvaluator::InArgs *lowerBounds,
 
  209  ModelEvaluator::InArgs *upperBounds
 
  248  const ModelEvaluator::InArgs &origVars,
 
  249  const ModelEvaluator::InArgs &varScalings,
 
  250  ModelEvaluator::InArgs *scaledVars,
 
  251  Teuchos::FancyOStream *out = 0,
 
  252  Teuchos::EVerbosityLevel verbLevel = Teuchos::VERB_LOW
 
  260  const ModelEvaluator::InArgs &origLowerBounds,
 
  261  const ModelEvaluator::InArgs &origUpperBounds,
 
  263  const ModelEvaluator::InArgs &varScalings,
 
  264  ModelEvaluator::InArgs *scaledLowerBounds,
 
  265  ModelEvaluator::InArgs *scaledUpperBounds,
 
  266  Teuchos::FancyOStream *out = 0,
 
  267  Teuchos::EVerbosityLevel verbLevel = Teuchos::VERB_LOW
 
  302  const ModelEvaluator::InArgs &scaledVars,
 
  303  const ModelEvaluator::InArgs &varScalings,
 
  304  ModelEvaluator::InArgs *origVars,
 
  305  Teuchos::FancyOStream *out = 0,
 
  306  Teuchos::EVerbosityLevel verbLevel = Teuchos::VERB_LOW
 
  368  const ModelEvaluator::OutArgs &origFuncs,
 
  369  const ModelEvaluator::InArgs &varScalings,
 
  370  const ModelEvaluator::OutArgs &funcScalings,
 
  371  ModelEvaluator::OutArgs *scaledFuncs,
 
  372  bool *allFuncsWhereScaled,
 
  373  Teuchos::FancyOStream *out = 0,
 
  374  Teuchos::EVerbosityLevel verbLevel = Teuchos::VERB_LOW
 
  383Teuchos::RCP<const Epetra_Vector>
 
  385  Teuchos::RCP<const Epetra_Vector> 
const& scalingVector
 
  554  const ModelEvaluator::Derivative &origFuncDeriv,
 
  557  ModelEvaluator::Derivative *scaledFuncDeriv,
 
  566  std::string 
getName()
 const { 
return "x_dot"; }
 
  568  Teuchos::RCP<const Epetra_Vector>
 
  575    const Teuchos::RCP<const Epetra_Vector> &x_dot,
 
  580    TEUCHOS_TEST_FOR_EXCEPT(!inArgs);
 
 
 
  592  std::string 
getName()
 const { 
return "x_dotdot"; }
 
  594  Teuchos::RCP<const Epetra_Vector>
 
  601    const Teuchos::RCP<const Epetra_Vector> &x_dotdot,
 
  606    TEUCHOS_TEST_FOR_EXCEPT(!inArgs);
 
 
 
  620  Teuchos::RCP<const Epetra_Vector>
 
  623    return inArgs.
get_x();
 
 
  627    const Teuchos::RCP<const Epetra_Vector> &x,
 
  632    TEUCHOS_TEST_FOR_EXCEPT(!inArgs);
 
 
 
  647  { 
return "p["+Teuchos::Utils::toString(l_)+
"]"; }
 
 
  649  Teuchos::RCP<const Epetra_Vector>
 
  652    return inArgs.
get_p(l_);
 
 
  656    const Teuchos::RCP<const Epetra_Vector> &p_l,
 
  661    TEUCHOS_TEST_FOR_EXCEPT(!inArgs);
 
  663    inArgs->
set_p(l_,p_l);
 
 
 
  679  Teuchos::RCP<Epetra_Vector>
 
  682    return outArgs.
get_f();
 
 
  686    const Teuchos::RCP<Epetra_Vector> &f,
 
  691    TEUCHOS_TEST_FOR_EXCEPT(!outArgs);
 
 
 
  705  Teuchos::RCP<Epetra_Vector>
 
  708    return outArgs.
get_g(j_);
 
 
  712    const Teuchos::RCP<Epetra_Vector> &g_j,
 
  717    TEUCHOS_TEST_FOR_EXCEPT(!outArgs);
 
  719    outArgs->
set_g(j_,g_j);
 
 
 
Class that gets and sets p(l) in an InArgs object.
 
void setVector(const Teuchos::RCP< const Epetra_Vector > &p_l, ModelEvaluator::InArgs *inArgs) const
 
std::string getName() const
 
Teuchos::RCP< const Epetra_Vector > getVector(const ModelEvaluator::InArgs &inArgs) const
 
InArgsGetterSetter_p(int l)
 
Class that gets and sets x_dot in an InArgs object.
 
std::string getName() const
 
Teuchos::RCP< const Epetra_Vector > getVector(const ModelEvaluator::InArgs &inArgs) const
 
void setVector(const Teuchos::RCP< const Epetra_Vector > &x_dot, ModelEvaluator::InArgs *inArgs) const
 
Class that gets and sets x_dotdot in an InArgs object.
 
std::string getName() const
 
void setVector(const Teuchos::RCP< const Epetra_Vector > &x_dotdot, ModelEvaluator::InArgs *inArgs) const
 
Teuchos::RCP< const Epetra_Vector > getVector(const ModelEvaluator::InArgs &inArgs) const
 
Class that gets and sets x in an InArgs object.
 
std::string getName() const
 
Teuchos::RCP< const Epetra_Vector > getVector(const ModelEvaluator::InArgs &inArgs) const
 
void setVector(const Teuchos::RCP< const Epetra_Vector > &x, ModelEvaluator::InArgs *inArgs) const
 
void set_x_dot(const Teuchos::RCP< const Epetra_Vector > &x_dot)
 
Teuchos::RCP< const Epetra_Vector > get_x_dotdot() const
 
Teuchos::RCP< const Epetra_Vector > get_p(int l) const
 
void set_x_dotdot(const Teuchos::RCP< const Epetra_Vector > &x_dotdot)
 
void set_x(const Teuchos::RCP< const Epetra_Vector > &x)
 
Teuchos::RCP< const Epetra_Vector > get_x() const
Set solution vector Taylor polynomial.
 
Teuchos::RCP< const Epetra_Vector > get_x_dot() const
 
void set_p(int l, const Teuchos::RCP< const Epetra_Vector > &p_l)
 
void set_g(int j, const Evaluation< Epetra_Vector > &g_j)
Set g(j) where 0 <= j && j < this->Ng().
 
Evaluation< Epetra_Vector > get_g(int j) const
Get g(j) where 0 <= j && j < this->Ng().
 
Evaluation< Epetra_Vector > get_f() const
 
void set_f(const Evaluation< Epetra_Vector > &f)
 
Class that gets and sets f in an OutArgs object.
 
Teuchos::RCP< Epetra_Vector > getVector(const ModelEvaluator::OutArgs &outArgs) const
 
void setVector(const Teuchos::RCP< Epetra_Vector > &f, ModelEvaluator::OutArgs *outArgs) const
 
Class that gets and sets g(j) in an OutArgs object.
 
void setVector(const Teuchos::RCP< Epetra_Vector > &g_j, ModelEvaluator::OutArgs *outArgs) const
 
OutArgsGetterSetter_g(int j)
 
Teuchos::RCP< Epetra_Vector > getVector(const ModelEvaluator::OutArgs &outArgs) const
 
EpetraExt::BlockCrsMatrix: A class for constructing a distributed block matrix.
 
void scaleModelFuncFirstDeriv(const ModelEvaluator::Derivative &origFuncDeriv, const Epetra_Vector *invVarScaling, const Epetra_Vector *fwdFuncScaling, ModelEvaluator::Derivative *scaledFuncDeriv, bool *didScaling)
Scale (in place) an output first-order function derivative object given its function and variable sca...
 
void scaleModelFuncs(const ModelEvaluator::OutArgs &origFuncs, const ModelEvaluator::InArgs &varScalings, const ModelEvaluator::OutArgs &funcScalings, ModelEvaluator::OutArgs *scaledFuncs, bool *allFuncsWhereScaled, Teuchos::FancyOStream *out=0, Teuchos::EVerbosityLevel verbLevel=Teuchos::VERB_LOW)
Scale the output functions and their derivative objects.
 
void scaleModelVars(const ModelEvaluator::InArgs &origVars, const ModelEvaluator::InArgs &varScalings, ModelEvaluator::InArgs *scaledVars, Teuchos::FancyOStream *out=0, Teuchos::EVerbosityLevel verbLevel=Teuchos::VERB_LOW)
Scale the original unscaled variables into the scaled variables.
 
void scaleModelFuncFirstDerivOp(const Epetra_Vector *invVarScaling, const Epetra_Vector *fwdFuncScaling, Epetra_Operator *funcDerivOp, bool *didScaling)
Scale (in place) an output first-order function derivative object represented as an Epetra_Operator g...
 
void scaleModelVarsGivenInverseScaling(const Epetra_Vector &origVars, const Epetra_Vector &invVarScaling, Epetra_Vector *scaledVars)
Scale a vector given its inverse scaling vector.
 
void unscaleModelVars(const ModelEvaluator::InArgs &scaledVars, const ModelEvaluator::InArgs &varScalings, ModelEvaluator::InArgs *origVars, Teuchos::FancyOStream *out=0, Teuchos::EVerbosityLevel verbLevel=Teuchos::VERB_LOW)
Unscale the scaled variables.
 
void gatherModelNominalValues(const ModelEvaluator &model, ModelEvaluator::InArgs *nominalValues)
Gather the nominal values from a model evaluator.
 
void scaleModelBounds(const ModelEvaluator::InArgs &origLowerBounds, const ModelEvaluator::InArgs &origUpperBounds, const double infBnd, const ModelEvaluator::InArgs &varScalings, ModelEvaluator::InArgs *scaledLowerBounds, ModelEvaluator::InArgs *scaledUpperBounds, Teuchos::FancyOStream *out=0, Teuchos::EVerbosityLevel verbLevel=Teuchos::VERB_LOW)
Scale the lower and upper model variable bounds.
 
Teuchos::RCP< const Epetra_Vector > createInverseModelScalingVector(Teuchos::RCP< const Epetra_Vector > const &scalingVector)
Create an inverse scaling vector.
 
void scaleModelFuncGivenForwardScaling(const Epetra_Vector &fwdFuncScaling, Epetra_Vector *funcs)
Scale (in place) an output function vector given its forward scaling vector.
 
void gatherModelBounds(const ModelEvaluator &model, ModelEvaluator::InArgs *lowerBounds, ModelEvaluator::InArgs *upperBounds)
Gather the lower and upper bounds from a model evaluator.
 
void scaleModelVarBoundsGivenInverseScaling(const Epetra_Vector &origLowerBounds, const Epetra_Vector &origUpperBounds, const double infBnd, const Epetra_Vector &invVarScaling, Epetra_Vector *scaledLowerBounds, Epetra_Vector *scaledUpperBounds)
Scale the model variable bounds.
 
void unscaleModelVarsGivenInverseScaling(const Epetra_Vector &origVars, const Epetra_Vector &invVarScaling, Epetra_Vector *scaledVars)
Unscale a vector given its inverse scaling vector.