# TaoLineSearchApply

Applies a line search.

## Synopsis

    #include "tao_solver.h"
    int TaoLineSearchApply(TAO_SOLVER tao, TaoVec *xx, TaoVec *gg, TaoVec *dxdx, TaoVec *ww,
                          double *f, double *step, int*flag)

Collective on TAO_SOLVER

## Input Parameter

| tao | - the TAO_SOLVER solver context
| xx | - current solution
| gg | - current gradient
| dxdx | - step direction
| ww | - work vector
| f | - function value
| step | - initial stepsize

## Output Parameter

| xx | - new solution
| gg | - new gradient
| f | - new function value
| step | - multiple of DX added to the previous solution
| flag | - indicator of success or failure (flag=0 is a success, flag=7 means DX is not a descent direction)

## Notes

The input parameter gdx should be negative and is used to test the Armijo condition.

To ensure descent in a projected line search, the input parameter gdx should be the inner product of the gradient and the first linear manifold being searched.

## Keywords

line search, help

## See Also

TaoSetLineSearch()

Level:developer
Location:src/interface/line.c
TAO Solver Index
Table of Contents