ROL
Toggle main menu visibility
Loading...
Searching...
No Matches
src
function
objective
ROL_QuadraticObjective.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_QUADRATIC_OBJECTIVE_H
11
#define ROL_QUADRATIC_OBJECTIVE_H
12
13
#include "
ROL_Objective.hpp
"
14
#include "
ROL_Vector.hpp
"
15
#include "ROL_Ptr.hpp"
16
#include "
ROL_LinearOperator.hpp
"
17
33
34
namespace
ROL
{
35
36
template
<
typename
Real>
37
class
QuadraticObjective
:
public
Objective
<Real> {
38
private
:
39
const
Ptr<const LinearOperator<Real>>
H_
;
40
const
Ptr<const Vector<Real>>
g_
;
41
const
Real
c_
;
42
Ptr<Vector<Real>>
tmp_
;
43
44
public
:
45
QuadraticObjective
(
const
Ptr<
const
LinearOperator<Real>
> &H,
46
const
Ptr<
const
Vector<Real>
> &g,
47
Real c = Real(0));
48
49
Real
value
(
const
Vector<Real>
&x, Real &tol )
override
;
50
void
gradient
(
Vector<Real>
&g,
const
Vector<Real>
&x, Real &tol )
override
;
51
void
hessVec
(
Vector<Real>
&hv,
const
Vector<Real>
&v,
const
Vector<Real>
&x, Real &tol )
override
;
52
void
invHessVec
(
Vector<Real>
&hv,
const
Vector<Real>
&v,
const
Vector<Real>
&x, Real &tol )
override
;
53
54
};
// class QuadraticObjective
55
56
}
// namespace ROL
57
58
#include "
ROL_QuadraticObjective_Def.hpp
"
59
60
#endif
ROL_LinearOperator.hpp
ROL_Objective.hpp
ROL_QuadraticObjective_Def.hpp
ROL_Vector.hpp
ROL::LinearOperator
Provides the interface to apply a linear operator.
Definition
ROL_LinearOperator.hpp:37
ROL::QuadraticObjective::gradient
void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol) override
Definition
ROL_QuadraticObjective_Def.hpp:33
ROL::QuadraticObjective::g_
const Ptr< const Vector< Real > > g_
Definition
ROL_QuadraticObjective.hpp:40
ROL::QuadraticObjective::H_
const Ptr< const LinearOperator< Real > > H_
Definition
ROL_QuadraticObjective.hpp:39
ROL::QuadraticObjective::c_
const Real c_
Definition
ROL_QuadraticObjective.hpp:41
ROL::QuadraticObjective::tmp_
Ptr< Vector< Real > > tmp_
Definition
ROL_QuadraticObjective.hpp:42
ROL::QuadraticObjective::invHessVec
void invHessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Definition
ROL_QuadraticObjective_Def.hpp:44
ROL::QuadraticObjective::hessVec
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Definition
ROL_QuadraticObjective_Def.hpp:39
ROL::QuadraticObjective::QuadraticObjective
QuadraticObjective(const Ptr< const LinearOperator< Real > > &H, const Ptr< const Vector< Real > > &g, Real c=Real(0))
Definition
ROL_QuadraticObjective_Def.hpp:16
ROL::QuadraticObjective::value
Real value(const Vector< Real > &x, Real &tol) override
Definition
ROL_QuadraticObjective_Def.hpp:24
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
Generated by
1.17.0