:orphan:
# TaoLineSearchType
String with the name of a `TaoLineSearch` method 
## Synopsis
```
typedef const char *TaoLineSearchType;
#define TAOLINESEARCHUNIT     "unit"
#define TAOLINESEARCHMT       "more-thuente"
#define TAOLINESEARCHGPCG     "gpcg"
#define TAOLINESEARCHARMIJO   "armijo"
#define TAOLINESEARCHOWARMIJO "owarmijo"
#define TAOLINESEARCHIPM      "ipm"

```

## Values

- ***`TAOLINESEARCHUNIT` -*** "unit" do not perform a line search and always accept unit step length
- ***`TAOLINESEARCHMT` -*** "more-thuente" line search with a cubic model enforcing the strong Wolfe/curvature condition
- ***`TAOLINESEARCHGPCG` -*** "gpcg"
- ***`TAOLINESEARCHARMIJO` -*** "armijo" simple backtracking line search enforcing only the sufficient decrease condition
- ***`TAOLINESEARCHOWARMIJO` -*** "owarmijo"
- ***`TAOLINESEARCHIPM` -*** "ipm"



## Options Database Key

- ***-tao_ls_type <type> -*** select which method Tao should use at runtime





## See Also
 [](ch_tao), `Tao`, `TaoLineSearch`, `TaoLineSearchSetType()`, `TaoCreate()`, `TaoSetType()`

## Level
beginner

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/include/petsctaolinesearch.h.html#TaoLineSearchType">include/petsctaolinesearch.h</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petsctaolinesearch.h)


[Index of all Tao routines](index.md)  
[Table of Contents for all manual pages](/manualpages/index.md)  
[Index of all manual pages](/manualpages/singleindex.md)  
