|
NOX Development
|
Simplest line search - always take the full step. More...
#include <NOX_LineSearch_FullStep.H>


Public Member Functions | |
| FullStep (const Teuchos::RCP< NOX::GlobalData > &gd, Teuchos::ParameterList ¶ms) | |
| Constructor. | |
| ~FullStep () | |
| Destructor. | |
| bool | reset (const Teuchos::RCP< NOX::GlobalData > &gd, Teuchos::ParameterList ¶ms) |
| bool | compute (NOX::Abstract::Group &newgrp, double &step, const NOX::Abstract::Vector &dir, const NOX::Solver::Generic &s) |
| Perform a line search. | |
Public Member Functions inherited from NOX::LineSearch::Generic | |
| Generic () | |
| Default constructor. | |
| virtual | ~Generic () |
| Destructor. | |
Simplest line search - always take the full step.
This line search can be called via NOX::LineSearch::Manager.
The following parameters can be specified in the "Full Step" sublist of the "Line Search" sublist:
|
virtual |
Perform a line search.
On input:
| grp | The initial solution vector, |
| dir | A vector of directions to be used in the line search, |
| s | The nonlinear solver. |
On output:
| step | The distance the direction was scaled, |
| grp | The grp is updated with a new solution, |
![\[
x_{\rm new} = x_{\rm old} + \lambda d.
\]](form_110.png)
Ideally, 
Note that the dir object is a std::vector. For typical line searches as described in the above equation, this vector is of size one. We have used a std::vector to allow for special cases of multi-directional line searches such as the Bader/Schnabel curvillinear line search.
Return value is true for a successful line search computation.
Implements NOX::LineSearch::Generic.
References NOX::Abstract::Group::computeX(), and NOX::Solver::Generic::getPreviousSolutionGroup().