ROL
Toggle main menu visibility
Loading...
Searching...
No Matches
src
function
nlls
ROL_NonlinearLeastSquaresObjective.hpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// Rapid Optimization Library (ROL) Package
4
//
5
// Copyright 2014 NTESS and the ROL contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef ROL_NONLINEARLEASTSQUARESOBJECTIVE_H
11
#define ROL_NONLINEARLEASTSQUARESOBJECTIVE_H
12
13
#include "
ROL_Objective.hpp
"
14
#include "
ROL_Constraint.hpp
"
15
#include "
ROL_Types.hpp
"
16
34
35
36
namespace
ROL
{
37
38
template
<
typename
Real>
39
class
NonlinearLeastSquaresObjective
:
public
Objective
<Real> {
40
private
:
41
const
Ptr<Constraint<Real> >
con_
;
42
const
bool
GaussNewtonHessian_
;
43
44
Ptr<Vector<Real> >
c1_
,
c2_
,
c1dual_
,
x_
;
45
46
public
:
54
NonlinearLeastSquaresObjective
(
const
Ptr<
Constraint<Real>
> &con,
55
const
Vector<Real>
&optvec,
56
const
Vector<Real>
&convec,
57
const
bool
GNH =
false
);
58
59
void
update
(
const
Vector<Real>
&x,
UpdateType
type,
int
iter = -1 )
override
;
60
void
update
(
const
Vector<Real>
&x,
bool
flag =
true
,
int
iter = -1 )
override
;
61
Real
value
(
const
Vector<Real>
&x, Real &tol )
override
;
62
void
gradient
(
Vector<Real>
&g,
const
Vector<Real>
&x, Real &tol )
override
;
63
void
hessVec
(
Vector<Real>
&hv,
const
Vector<Real>
&v,
const
Vector<Real>
&x, Real &tol )
override
;
64
void
precond
(
Vector<Real>
&Pv,
const
Vector<Real>
&v,
const
Vector<Real>
&x, Real &tol )
override
;
65
66
// Definitions for parametrized (stochastic) equality constraints
67
public
:
68
void
setParameter
(
const
std::vector<Real> ¶m)
override
;
69
};
70
71
}
// namespace ROL
72
73
#include "
ROL_NonlinearLeastSquaresObjective_Def.hpp
"
74
75
#endif
ROL_Constraint.hpp
ROL_NonlinearLeastSquaresObjective_Def.hpp
ROL_Objective.hpp
ROL_Types.hpp
Contains definitions of custom data types in ROL.
ROL::Constraint
Defines the general constraint operator interface.
Definition
ROL_Constraint.hpp:52
ROL::NonlinearLeastSquaresObjective::update
void update(const Vector< Real > &x, bool flag=true, int iter=-1) override
ROL::NonlinearLeastSquaresObjective::NonlinearLeastSquaresObjective
NonlinearLeastSquaresObjective(const Ptr< Constraint< Real > > &con, const Vector< Real > &optvec, const Vector< Real > &convec, const bool GNH=false)
Constructor.
ROL::NonlinearLeastSquaresObjective::GaussNewtonHessian_
const bool GaussNewtonHessian_
Definition
ROL_NonlinearLeastSquaresObjective.hpp:42
ROL::NonlinearLeastSquaresObjective::update
void update(const Vector< Real > &x, UpdateType type, int iter=-1) override
ROL::NonlinearLeastSquaresObjective::c2_
Ptr< Vector< Real > > c2_
Definition
ROL_NonlinearLeastSquaresObjective.hpp:44
ROL::NonlinearLeastSquaresObjective::gradient
void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol) override
ROL::NonlinearLeastSquaresObjective::c1dual_
Ptr< Vector< Real > > c1dual_
Definition
ROL_NonlinearLeastSquaresObjective.hpp:44
ROL::NonlinearLeastSquaresObjective::setParameter
void setParameter(const std::vector< Real > ¶m) override
ROL::NonlinearLeastSquaresObjective::con_
const Ptr< Constraint< Real > > con_
Definition
ROL_NonlinearLeastSquaresObjective.hpp:41
ROL::NonlinearLeastSquaresObjective::c1_
Ptr< Vector< Real > > c1_
Definition
ROL_NonlinearLeastSquaresObjective.hpp:44
ROL::NonlinearLeastSquaresObjective::x_
Ptr< Vector< Real > > x_
Definition
ROL_NonlinearLeastSquaresObjective.hpp:44
ROL::NonlinearLeastSquaresObjective::hessVec
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
ROL::NonlinearLeastSquaresObjective::precond
void precond(Vector< Real > &Pv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
ROL::NonlinearLeastSquaresObjective::value
Real value(const Vector< Real > &x, Real &tol) override
ROL::ROL::Objective::Objective
Objective()
Definition
ROL_Constraint_SerialSimOpt.hpp:53
ROL::Vector
Defines the linear algebra or vector space interface.
Definition
ROL_Vector.hpp:51
ROL
Definition
ROL_ElementwiseVector.hpp:27
ROL::UpdateType
UpdateType
Definition
ROL_UpdateType.hpp:18
Generated by
1.17.0