ROL
|
Public Member Functions | |
Objective_BurgersControl (Real alpha=1.e-4, int nx=128) | |
void | solve_state (std::vector< Real > &u, const std::vector< Real > &z, const std::vector< Real > ¶m) |
void | solve_adjoint (std::vector< Real > &p, const std::vector< Real > &u, const std::vector< Real > ¶m) |
void | solve_state_sensitivity (std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z, const std::vector< Real > ¶m) |
void | solve_adjoint_sensitivity (std::vector< Real > &q, const std::vector< Real > &u, const std::vector< Real > &p, const std::vector< Real > &v, const std::vector< Real > &z, const std::vector< Real > ¶m) |
Real | value (const ROL::Vector< Real > &z, Real &tol) |
Compute value. More... | |
void | gradient (ROL::Vector< Real > &g, const ROL::Vector< Real > &z, Real &tol) |
Compute gradient. More... | |
void | hessVec (ROL::Vector< Real > &hv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &z, Real &tol) |
Apply Hessian approximation to vector. More... | |
Objective_BurgersControl (Real alpha=1.e-4, int nx=128) | |
Real | value (const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
Compute value. More... | |
void | gradient_1 (ROL::Vector< Real > &g, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
Compute gradient with respect to first component. More... | |
void | gradient_2 (ROL::Vector< Real > &g, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
Compute gradient with respect to second component. More... | |
void | hessVec_11 (ROL::Vector< Real > &hv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
Apply Hessian approximation to vector. More... | |
void | hessVec_12 (ROL::Vector< Real > &hv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
void | hessVec_21 (ROL::Vector< Real > &hv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
void | hessVec_22 (ROL::Vector< Real > &hv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
Objective_BurgersControl (Real alpha=1.e-4, int nx=128) | |
Real | value (const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
Compute value. More... | |
void | gradient_1 (ROL::Vector< Real > &g, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
Compute gradient with respect to first component. More... | |
void | gradient_2 (ROL::Vector< Real > &g, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
Compute gradient with respect to second component. More... | |
void | hessVec_11 (ROL::Vector< Real > &hv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
Apply Hessian approximation to vector. More... | |
void | hessVec_12 (ROL::Vector< Real > &hv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
void | hessVec_21 (ROL::Vector< Real > &hv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
void | hessVec_22 (ROL::Vector< Real > &hv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
Objective_BurgersControl (Real alpha=1.e-4, int nx=128, int nt=100, Real T=1.0) | |
Real | value (const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
Compute value. More... | |
void | gradient_1 (ROL::Vector< Real > &g, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
Compute gradient with respect to first component. More... | |
void | gradient_2 (ROL::Vector< Real > &g, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
Compute gradient with respect to second component. More... | |
void | hessVec_11 (ROL::Vector< Real > &hv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
Apply Hessian approximation to vector. More... | |
void | hessVec_12 (ROL::Vector< Real > &hv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
void | hessVec_21 (ROL::Vector< Real > &hv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
void | hessVec_22 (ROL::Vector< Real > &hv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol) |
![]() | |
virtual void | update (const Vector< Real > &u, const Vector< Real > &z, bool flag=true, int iter=-1) |
Update objective function. u is an iterate, z is an iterate, flag = true if the iterate has changed, iter is the outer algorithm iterations count. More... | |
void | update (const Vector< Real > &x, bool flag=true, int iter=-1) |
Update objective function. More... | |
![]() | |
virtual | ~Objective () |
virtual Real | dirDeriv (const Vector< Real > &x, const Vector< Real > &d, Real &tol) |
Compute directional derivative. More... | |
virtual void | invHessVec (Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) |
Apply inverse Hessian approximation to vector. More... | |
virtual void | precond (Vector< Real > &Pv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) |
Apply preconditioner to vector. More... | |
virtual std::vector < std::vector< Real > > | checkGradient (const Vector< Real > &x, const Vector< Real > &d, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1) |
Finite-difference gradient check. More... | |
virtual std::vector < std::vector< Real > > | checkGradient (const Vector< Real > &x, const Vector< Real > &g, const Vector< Real > &d, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1) |
Finite-difference gradient check. More... | |
virtual std::vector < std::vector< Real > > | checkGradient (const Vector< Real > &x, const Vector< Real > &d, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1) |
Finite-difference gradient check with specified step sizes. More... | |
virtual std::vector < std::vector< Real > > | checkGradient (const Vector< Real > &x, const Vector< Real > &g, const Vector< Real > &d, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1) |
Finite-difference gradient check with specified step sizes. More... | |
virtual std::vector < std::vector< Real > > | checkHessVec (const Vector< Real > &x, const Vector< Real > &v, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1) |
Finite-difference Hessian-applied-to-vector check. More... | |
virtual std::vector < std::vector< Real > > | checkHessVec (const Vector< Real > &x, const Vector< Real > &hv, const Vector< Real > &v, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1) |
Finite-difference Hessian-applied-to-vector check. More... | |
virtual std::vector < std::vector< Real > > | checkHessVec (const Vector< Real > &x, const Vector< Real > &v, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1) |
Finite-difference Hessian-applied-to-vector check with specified step sizes. More... | |
virtual std::vector < std::vector< Real > > | checkHessVec (const Vector< Real > &x, const Vector< Real > &hv, const Vector< Real > &v, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1) |
Finite-difference Hessian-applied-to-vector check with specified step sizes. More... | |
virtual std::vector< Real > | checkHessSym (const Vector< Real > &x, const Vector< Real > &v, const Vector< Real > &w, const bool printToStream=true, std::ostream &outStream=std::cout) |
Hessian symmetry check. More... | |
virtual std::vector< Real > | checkHessSym (const Vector< Real > &x, const Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &w, const bool printToStream=true, std::ostream &outStream=std::cout) |
Hessian symmetry check. More... | |
Private Member Functions | |
Real | evaluate_target (Real x) |
Real | compute_norm (const std::vector< Real > &r) |
Real | dot (const std::vector< Real > &x, const std::vector< Real > &y) |
void | update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0) |
void | scale (std::vector< Real > &u, const Real alpha=0.0) |
void | apply_mass (std::vector< Real > &Mu, const std::vector< Real > &u) |
void | compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z, const std::vector< Real > ¶m) |
void | compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u, const std::vector< Real > ¶m) |
void | add_pde_hessian (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &p, const std::vector< Real > &s, Real alpha=1.0) |
void | linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false) |
void | run_newton (std::vector< Real > &u, const std::vector< Real > &z, const std::vector< Real > ¶m) |
Real | evaluate_target (Real x) |
Real | dot (const std::vector< Real > &x, const std::vector< Real > &y) |
void | apply_mass (std::vector< Real > &Mu, const std::vector< Real > &u) |
Real | evaluate_target (Real x) |
Real | dot (const std::vector< Real > &x, const std::vector< Real > &y) |
void | apply_mass (std::vector< Real > &Mu, const std::vector< Real > &u) |
Real | evaluate_target (Real x) |
Real | dot (const std::vector< Real > &x, const std::vector< Real > &y) |
void | apply_mass (std::vector< Real > &Mu, const std::vector< Real > &u) |
Private Attributes | |
Real | alpha_ |
int | nx_ |
Real | dx_ |
unsigned | nx_ |
unsigned | nt_ |
Real | dt_ |
Real | T_ |
Definition at line 66 of file burgers-control/example_01.cpp.
|
inline |
Definition at line 281 of file burgers-control/example_01.cpp.
References Objective_BurgersControl< Real >::dx_.
|
inline |
Definition at line 495 of file burgers-control/example_02.cpp.
References Objective_BurgersControl< Real >::dx_.
|
inline |
Definition at line 495 of file burgers-control/example_03.cpp.
References Objective_BurgersControl< Real >::dx_.
|
inline |
Definition at line 802 of file example_04.cpp.
References Objective_BurgersControl< Real >::dt_, and Objective_BurgersControl< Real >::dx_.
|
inlineprivate |
Definition at line 76 of file burgers-control/example_01.cpp.
Referenced by Objective_BurgersControl< Real >::gradient_1(), Objective_BurgersControl< Real >::solve_adjoint(), and Objective_BurgersControl< Real >::value().
|
inlineprivate |
Definition at line 88 of file burgers-control/example_01.cpp.
References Objective_BurgersControl< Real >::dot().
Referenced by Objective_BurgersControl< Real >::run_newton().
|
inlineprivate |
Definition at line 92 of file burgers-control/example_01.cpp.
References Objective_BurgersControl< Real >::dx_, and Objective_BurgersControl< Real >::nx_.
Referenced by Objective_BurgersControl< Real >::compute_norm(), and Objective_BurgersControl< Real >::value().
|
inlineprivate |
Definition at line 109 of file burgers-control/example_01.cpp.
Referenced by Objective_BurgersControl< Real >::run_newton().
|
inlineprivate |
Definition at line 115 of file burgers-control/example_01.cpp.
Referenced by Objective_BurgersControl< Real >::solve_adjoint_sensitivity().
|
inlineprivate |
Definition at line 121 of file burgers-control/example_01.cpp.
References Objective_BurgersControl< Real >::dx_, and Objective_BurgersControl< Real >::nx_.
Referenced by Objective_BurgersControl< Real >::gradient_1(), Objective_BurgersControl< Real >::gradient_2(), Objective_BurgersControl< Real >::hessVec_11(), Objective_BurgersControl< Real >::hessVec_22(), Objective_BurgersControl< Real >::solve_adjoint(), and Objective_BurgersControl< Real >::solve_adjoint_sensitivity().
|
inlineprivate |
Definition at line 137 of file burgers-control/example_01.cpp.
References Objective_BurgersControl< Real >::dx_, and Objective_BurgersControl< Real >::nx_.
Referenced by Objective_BurgersControl< Real >::run_newton().
|
inlineprivate |
Definition at line 173 of file burgers-control/example_01.cpp.
References Objective_BurgersControl< Real >::dx_, and Objective_BurgersControl< Real >::nx_.
Referenced by Objective_BurgersControl< Real >::run_newton(), Objective_BurgersControl< Real >::solve_adjoint(), Objective_BurgersControl< Real >::solve_adjoint_sensitivity(), and Objective_BurgersControl< Real >::solve_state_sensitivity().
|
inlineprivate |
Definition at line 201 of file burgers-control/example_01.cpp.
References Objective_BurgersControl< Real >::nx_.
Referenced by Objective_BurgersControl< Real >::solve_adjoint_sensitivity().
|
inlineprivate |
Definition at line 214 of file burgers-control/example_01.cpp.
References Objective_BurgersControl< Real >::nx_.
Referenced by Objective_BurgersControl< Real >::run_newton(), Objective_BurgersControl< Real >::solve_adjoint(), Objective_BurgersControl< Real >::solve_adjoint_sensitivity(), and Objective_BurgersControl< Real >::solve_state_sensitivity().
|
inlineprivate |
Definition at line 232 of file burgers-control/example_01.cpp.
References Objective_BurgersControl< Real >::compute_norm(), Objective_BurgersControl< Real >::compute_pde_jacobian(), Objective_BurgersControl< Real >::compute_residual(), Objective_BurgersControl< Real >::linear_solve(), Objective_BurgersControl< Real >::nx_, ROL::ROL_EPSILON, and Objective_BurgersControl< Real >::update().
Referenced by Objective_BurgersControl< Real >::solve_state().
|
inline |
Definition at line 285 of file burgers-control/example_01.cpp.
References Objective_BurgersControl< Real >::nx_, and Objective_BurgersControl< Real >::run_newton().
Referenced by Objective_BurgersControl< Real >::gradient(), Objective_BurgersControl< Real >::hessVec(), main(), and Objective_BurgersControl< Real >::value().
|
inline |
Definition at line 291 of file burgers-control/example_01.cpp.
References Objective_BurgersControl< Real >::apply_mass(), Objective_BurgersControl< Real >::compute_pde_jacobian(), Objective_BurgersControl< Real >::dx_, Objective_BurgersControl< Real >::evaluate_target(), Objective_BurgersControl< Real >::linear_solve(), and Objective_BurgersControl< Real >::nx_.
Referenced by Objective_BurgersControl< Real >::gradient(), and Objective_BurgersControl< Real >::hessVec().
|
inline |
Definition at line 311 of file burgers-control/example_01.cpp.
References Objective_BurgersControl< Real >::compute_pde_jacobian(), Objective_BurgersControl< Real >::dx_, Objective_BurgersControl< Real >::linear_solve(), and Objective_BurgersControl< Real >::nx_.
Referenced by Objective_BurgersControl< Real >::hessVec().
|
inline |
Definition at line 330 of file burgers-control/example_01.cpp.
References Objective_BurgersControl< Real >::add_pde_hessian(), Objective_BurgersControl< Real >::apply_mass(), Objective_BurgersControl< Real >::compute_pde_jacobian(), Objective_BurgersControl< Real >::linear_solve(), Objective_BurgersControl< Real >::nx_, and Objective_BurgersControl< Real >::scale().
Referenced by Objective_BurgersControl< Real >::hessVec().
|
inlinevirtual |
Compute value.
This function returns the objective function value.
[in] | x | is the current iterate. |
[in] | tol | is a tolerance for inexact objective function computation. |
Implements ROL::Objective< Real >.
Definition at line 350 of file burgers-control/example_01.cpp.
References Objective_BurgersControl< Real >::alpha_, Objective_BurgersControl< Real >::dot(), Objective_BurgersControl< Real >::dx_, Objective_BurgersControl< Real >::evaluate_target(), Objective_BurgersControl< Real >::nx_, and Objective_BurgersControl< Real >::solve_state().
|
inlinevirtual |
Compute gradient.
This function returns the objective function gradient.
[out] | g | is the gradient. |
[in] | x | is the current iterate. |
[in] | tol | is a tolerance for inexact objective function computation. |
The default implementation is a finite-difference approximation based on the function value. This requires the definition of a basis \(\{\phi_i\}\) for the optimization vectors x and the definition of a basis \(\{\psi_j\}\) for the dual optimization vectors (gradient vectors g). The bases must be related through the Riesz map, i.e., \( R \{\phi_i\} = \{\psi_j\}\), and this must be reflected in the implementation of the ROL::Vector::dual() method.
Reimplemented from ROL::Objective< Real >.
Definition at line 382 of file burgers-control/example_01.cpp.
References Objective_BurgersControl< Real >::alpha_, Objective_BurgersControl< Real >::dx_, Objective_BurgersControl< Real >::nx_, Objective_BurgersControl< Real >::solve_adjoint(), and Objective_BurgersControl< Real >::solve_state().
|
inlinevirtual |
Apply Hessian approximation to vector.
This function applies the Hessian of the objective function to the vector \(v\).
[out] | hv | is the the action of the Hessian on \(v\). |
[in] | v | is the direction vector. |
[in] | x | is the current iterate. |
[in] | tol | is a tolerance for inexact objective function computation. |
Reimplemented from ROL::Objective< Real >.
Definition at line 419 of file burgers-control/example_01.cpp.
References Objective_BurgersControl< Real >::alpha_, Objective_BurgersControl< Real >::dx_, Objective_BurgersControl< Real >::nx_, Objective_BurgersControl< Real >::solve_adjoint(), Objective_BurgersControl< Real >::solve_adjoint_sensitivity(), Objective_BurgersControl< Real >::solve_state(), and Objective_BurgersControl< Real >::solve_state_sensitivity().
|
inlineprivate |
Definition at line 445 of file burgers-control/example_02.cpp.
|
inlineprivate |
Definition at line 457 of file burgers-control/example_02.cpp.
References Objective_BurgersControl< Real >::dx_, and Objective_BurgersControl< Real >::nx_.
|
inlineprivate |
Definition at line 474 of file burgers-control/example_02.cpp.
References Objective_BurgersControl< Real >::dx_, and Objective_BurgersControl< Real >::nx_.
|
inlinevirtual |
Compute value.
Implements ROL::Objective_SimOpt< Real >.
Definition at line 499 of file burgers-control/example_02.cpp.
References Objective_BurgersControl< Real >::alpha_, Objective_BurgersControl< Real >::dot(), Objective_BurgersControl< Real >::dx_, Objective_BurgersControl< Real >::evaluate_target(), and Objective_BurgersControl< Real >::nx_.
|
inlinevirtual |
Compute gradient with respect to first component.
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 528 of file burgers-control/example_02.cpp.
References Objective_BurgersControl< Real >::apply_mass(), Objective_BurgersControl< Real >::dx_, Objective_BurgersControl< Real >::evaluate_target(), and Objective_BurgersControl< Real >::nx_.
|
inlinevirtual |
Compute gradient with respect to second component.
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 545 of file burgers-control/example_02.cpp.
References Objective_BurgersControl< Real >::alpha_, Objective_BurgersControl< Real >::dx_, and Objective_BurgersControl< Real >::nx_.
|
inlinevirtual |
Apply Hessian approximation to vector.
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 568 of file burgers-control/example_02.cpp.
References Objective_BurgersControl< Real >::apply_mass().
|
inlinevirtual |
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 579 of file burgers-control/example_02.cpp.
References ROL::Vector< Real >::zero().
|
inlinevirtual |
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 584 of file burgers-control/example_02.cpp.
References ROL::Vector< Real >::zero().
|
inlinevirtual |
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 589 of file burgers-control/example_02.cpp.
References Objective_BurgersControl< Real >::alpha_, Objective_BurgersControl< Real >::dx_, and Objective_BurgersControl< Real >::nx_.
|
inlineprivate |
Definition at line 445 of file burgers-control/example_03.cpp.
|
inlineprivate |
Definition at line 457 of file burgers-control/example_03.cpp.
References Objective_BurgersControl< Real >::dx_, and Objective_BurgersControl< Real >::nx_.
|
inlineprivate |
Definition at line 474 of file burgers-control/example_03.cpp.
References Objective_BurgersControl< Real >::dx_, and Objective_BurgersControl< Real >::nx_.
|
inlinevirtual |
Compute value.
Implements ROL::Objective_SimOpt< Real >.
Definition at line 499 of file burgers-control/example_03.cpp.
References Objective_BurgersControl< Real >::alpha_, Objective_BurgersControl< Real >::dot(), Objective_BurgersControl< Real >::dx_, Objective_BurgersControl< Real >::evaluate_target(), and Objective_BurgersControl< Real >::nx_.
|
inlinevirtual |
Compute gradient with respect to first component.
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 528 of file burgers-control/example_03.cpp.
References Objective_BurgersControl< Real >::apply_mass(), Objective_BurgersControl< Real >::dx_, Objective_BurgersControl< Real >::evaluate_target(), and Objective_BurgersControl< Real >::nx_.
|
inlinevirtual |
Compute gradient with respect to second component.
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 545 of file burgers-control/example_03.cpp.
References Objective_BurgersControl< Real >::alpha_, Objective_BurgersControl< Real >::dx_, and Objective_BurgersControl< Real >::nx_.
|
inlinevirtual |
Apply Hessian approximation to vector.
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 568 of file burgers-control/example_03.cpp.
References Objective_BurgersControl< Real >::apply_mass().
|
inlinevirtual |
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 579 of file burgers-control/example_03.cpp.
References ROL::Vector< Real >::zero().
|
inlinevirtual |
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 584 of file burgers-control/example_03.cpp.
References ROL::Vector< Real >::zero().
|
inlinevirtual |
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 589 of file burgers-control/example_03.cpp.
References Objective_BurgersControl< Real >::alpha_, Objective_BurgersControl< Real >::dx_, and Objective_BurgersControl< Real >::nx_.
|
inlineprivate |
Definition at line 752 of file example_04.cpp.
|
inlineprivate |
Definition at line 764 of file example_04.cpp.
References Objective_BurgersControl< Real >::dx_, and Objective_BurgersControl< Real >::nx_.
|
inlineprivate |
Definition at line 781 of file example_04.cpp.
References Objective_BurgersControl< Real >::dx_, and Objective_BurgersControl< Real >::nx_.
|
inlinevirtual |
Compute value.
Implements ROL::Objective_SimOpt< Real >.
Definition at line 808 of file example_04.cpp.
References Objective_BurgersControl< Real >::alpha_, Objective_BurgersControl< Real >::dot(), Objective_BurgersControl< Real >::dt_, Objective_BurgersControl< Real >::dx_, Objective_BurgersControl< Real >::evaluate_target(), Objective_BurgersControl< Real >::nt_, and Objective_BurgersControl< Real >::nx_.
|
inlinevirtual |
Compute gradient with respect to first component.
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 835 of file example_04.cpp.
References Objective_BurgersControl< Real >::apply_mass(), Objective_BurgersControl< Real >::dt_, Objective_BurgersControl< Real >::dx_, Objective_BurgersControl< Real >::evaluate_target(), Objective_BurgersControl< Real >::nt_, and Objective_BurgersControl< Real >::nx_.
|
inlinevirtual |
Compute gradient with respect to second component.
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 856 of file example_04.cpp.
References Objective_BurgersControl< Real >::alpha_, Objective_BurgersControl< Real >::apply_mass(), Objective_BurgersControl< Real >::dt_, Objective_BurgersControl< Real >::nt_, and Objective_BurgersControl< Real >::nx_.
|
inlinevirtual |
Apply Hessian approximation to vector.
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 877 of file example_04.cpp.
References Objective_BurgersControl< Real >::apply_mass(), Objective_BurgersControl< Real >::dt_, Objective_BurgersControl< Real >::nt_, and Objective_BurgersControl< Real >::nx_.
|
inlinevirtual |
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 899 of file example_04.cpp.
References ROL::Vector< Real >::zero().
|
inlinevirtual |
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 904 of file example_04.cpp.
References ROL::Vector< Real >::zero().
|
inlinevirtual |
Reimplemented from ROL::Objective_SimOpt< Real >.
Definition at line 909 of file example_04.cpp.
References Objective_BurgersControl< Real >::alpha_, Objective_BurgersControl< Real >::apply_mass(), Objective_BurgersControl< Real >::dt_, Objective_BurgersControl< Real >::nt_, and Objective_BurgersControl< Real >::nx_.
|
private |
Definition at line 68 of file burgers-control/example_01.cpp.
Referenced by Objective_BurgersControl< Real >::gradient(), Objective_BurgersControl< Real >::gradient_2(), Objective_BurgersControl< Real >::hessVec(), Objective_BurgersControl< Real >::hessVec_22(), and Objective_BurgersControl< Real >::value().
|
private |
Definition at line 70 of file burgers-control/example_01.cpp.
Referenced by Objective_BurgersControl< Real >::add_pde_hessian(), Objective_BurgersControl< Real >::apply_mass(), Objective_BurgersControl< Real >::compute_pde_jacobian(), Objective_BurgersControl< Real >::compute_residual(), Objective_BurgersControl< Real >::dot(), Objective_BurgersControl< Real >::gradient(), Objective_BurgersControl< Real >::gradient_1(), Objective_BurgersControl< Real >::gradient_2(), Objective_BurgersControl< Real >::hessVec(), Objective_BurgersControl< Real >::hessVec_11(), Objective_BurgersControl< Real >::hessVec_22(), Objective_BurgersControl< Real >::linear_solve(), Objective_BurgersControl< Real >::run_newton(), Objective_BurgersControl< Real >::solve_adjoint(), Objective_BurgersControl< Real >::solve_adjoint_sensitivity(), Objective_BurgersControl< Real >::solve_state(), Objective_BurgersControl< Real >::solve_state_sensitivity(), and Objective_BurgersControl< Real >::value().
|
private |
Definition at line 71 of file burgers-control/example_01.cpp.
Referenced by Objective_BurgersControl< Real >::apply_mass(), Objective_BurgersControl< Real >::compute_pde_jacobian(), Objective_BurgersControl< Real >::compute_residual(), Objective_BurgersControl< Real >::dot(), Objective_BurgersControl< Real >::gradient(), Objective_BurgersControl< Real >::gradient_1(), Objective_BurgersControl< Real >::gradient_2(), Objective_BurgersControl< Real >::hessVec(), Objective_BurgersControl< Real >::hessVec_22(), Objective_BurgersControl< Real >::Objective_BurgersControl(), Objective_BurgersControl< Real >::solve_adjoint(), Objective_BurgersControl< Real >::solve_state_sensitivity(), and Objective_BurgersControl< Real >::value().
|
private |
Definition at line 743 of file example_04.cpp.
|
private |
|
private |
Definition at line 746 of file example_04.cpp.
Referenced by Objective_BurgersControl< Real >::gradient_1(), Objective_BurgersControl< Real >::gradient_2(), Objective_BurgersControl< Real >::hessVec_11(), Objective_BurgersControl< Real >::hessVec_22(), Objective_BurgersControl< Real >::Objective_BurgersControl(), and Objective_BurgersControl< Real >::value().
|
private |
Definition at line 747 of file example_04.cpp.