ROL
|
Poisson material inversion. More...
#include <ROL_PoissonInversion.hpp>
Public Member Functions | |
Objective_PoissonInversion (int nz=32, Real alpha=1.e-4) | |
Real | reg_value (const Vector< Real > &z) |
void | reg_gradient (Vector< Real > &g, const Vector< Real > &z) |
void | reg_hessVec (Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &z) |
void | apply_mass (Vector< Real > &Mf, const Vector< Real > &f) |
void | solve_poisson (Vector< Real > &u, const Vector< Real > &z, Vector< Real > &b) |
Real | evaluate_target (Real x) |
void | apply_linearized_control_operator (Vector< Real > &Bd, const Vector< Real > &z, const Vector< Real > &d, const Vector< Real > &u) |
void | apply_transposed_linearized_control_operator (Vector< Real > &Bd, const Vector< Real > &z, const Vector< Real > &d, const Vector< Real > &u) |
void | apply_transposed_linearized_control_operator_2 (Vector< Real > &Bd, const Vector< Real > &z, const Vector< Real > &v, const Vector< Real > &d, const Vector< Real > &u) |
void | solve_state_equation (Vector< Real > &u, const Vector< Real > &z) |
void | solve_adjoint_equation (Vector< Real > &p, const Vector< Real > &u, const Vector< Real > &z) |
void | solve_state_sensitivity_equation (Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z) |
void | solve_adjoint_sensitivity_equation (Vector< Real > &q, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &p, const Vector< Real > &u, const Vector< Real > &z) |
Real | value (const Vector< Real > &z, Real &tol) |
Compute value. More... | |
void | gradient (Vector< Real > &g, const Vector< Real > &z, Real &tol) |
Compute gradient. More... | |
void | invHessVec (Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) |
Apply inverse Hessian approximation to vector. More... | |
![]() | |
virtual void | update (const Vector< Real > &x, bool flag=true, int iter=-1) |
Update objective function. More... | |
virtual Real | dirDeriv (const Vector< Real > &x, const Vector< Real > &d, Real &tol) |
Compute directional derivative. More... | |
virtual void | hessVec (Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) |
Apply 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 printToScreen=true, const int numSteps=ROL_NUM_CHECKDERIV_STEPS) |
Finite-difference gradient check. More... | |
virtual std::vector < std::vector< Real > > | checkHessVec (const Vector< Real > &x, const Vector< Real > &v, const bool printToScreen=true, const int numSteps=ROL_NUM_CHECKDERIV_STEPS) |
Finite-difference Hessian-applied-to-vector check. More... | |
virtual std::vector< Real > | checkHessSym (const Vector< Real > &x, const Vector< Real > &v, const Vector< Real > &w, const bool printToScreen=true) |
Hessian symmetry check. More... | |
Private Attributes | |
int | nu_ |
int | nz_ |
Real | hu_ |
Real | hz_ |
Real | alpha_ |
Real | eps_ |
int | reg_type_ |
Poisson material inversion.
Definition at line 67 of file ROL_PoissonInversion.hpp.
|
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 414 of file ROL_PoissonInversion.hpp.
References ROL::StdVector< Real, Element >::dot().
|
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. |
Reimplemented from ROL::Objective< Real >.
Definition at line 435 of file ROL_PoissonInversion.hpp.
References ROL::Vector< Real >::plus().
|
inlinevirtual |
Apply inverse Hessian approximation to vector.
This function applies the inverse Hessian of the objective function to the vector \(v\).
[out] | hv | is the action of the inverse 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 494 of file ROL_PoissonInversion.hpp.