Skip to main content
`Ctrl`+`K`

# TaoBNCGType

Determine the conjugate gradient update formula used in the `TAOBNCG` algorithm.

## Synopsis

    typedef enum {
      TAO_BNCG_GD,
      TAO_BNCG_PCGD,
      TAO_BNCG_HS,
      TAO_BNCG_FR,
      TAO_BNCG_PRP,
      TAO_BNCG_PRP_PLUS,
      TAO_BNCG_DY,
      TAO_BNCG_HZ,
      TAO_BNCG_DK,
      TAO_BNCG_KD,
      TAO_BNCG_SSML_BFGS,
      TAO_BNCG_SSML_DFP,
      TAO_BNCG_SSML_BRDN
    } TaoBNCGType;

## Values

- `TAO_BNCG_GD` - basic gradient descent, no CG update

- `TAO_BNCG_PCGD` - preconditioned/scaled gradient descent

- `TAO_BNCG_HS` - Hestenes-Stiefel

- `TAO_BNCG_FR` - Fletcher-Reeves

- `TAO_BNCG_PRP` - Polak-Ribiere-Polyak (PRP)

- `TAO_BNCG_PRP_PLUS` - Polak-Ribiere-Polyak “plus” (PRP+)

- `TAO_BNCG_DY` - Dai-Yuan

- `TAO_BNCG_HZ` - Hager-Zhang (CG_DESCENT 5.3)

- `TAO_BNCG_DK` - Dai-Kou (2013)

- `TAO_BNCG_KD` - Kou-Dai (2015)

- `TAO_BNCG_SSML_BFGS` - Self-Scaling Memoryless BFGS (Perry-Shanno)

- `TAO_BNCG_SSML_DFP` - Self-Scaling Memoryless DFP

- `TAO_BNCG_SSML_BRDN` - Self-Scaling Memoryless (Symmetric) Broyden

## See Also

`Tao`, `TAOBNCG`, `TaoBNCGSetType()`, `TaoBNCGGetType()`

## Level

advanced

## Location

include/petsctao.h

Index of all Tao routines
Table of Contents for all manual pages
Index of all manual pages