# TAO Optimization Solver Manual Pages

The Toolkit for Advance Optimization provides an
interface to create solvers, customize
them to a particular application, and apply them to a problem.
Many of the options for TAO can also be set at runtime.

[Manual Pages Table of Contents](/docs/manualpages/index.md)

## Manual Pages by Level

### Beginner - Basic usage
```{hlist}
---
columns: 3
---
- [](TAOADMM.md)
- [](TAOALMM.md)
- [](TAOASFLS.md)
- [](TAOASILS.md)
- [](TAOBLMVM.md)
- [](TAOBMRM.md)
- [](TAOBNCG.md)
- [](TAOBNK.md)
- [](TAOBNLS.md)
- [](TAOBNTL.md)
- [](TAOBNTR.md)
- [](TAOBQNKLS.md)
- [](TAOBQNKTL.md)
- [](TAOBQNKTR.md)
- [](TAOBQNLS.md)
- [](TAOBQPIP.md)
- [](TAOBRGN.md)
- [](TAOCG.md)
- [](TAOGPCG.md)
- [](TAOIPM.md)
- [](TAOLCL.md)
- [](TAOLMVM.md)
- [](TAONLS.md)
- [](TAONM.md)
- [](TAONTL.md)
- [](TAONTR.md)
- [](TAOOWLQN.md)
- [](TAOPDIPM.md)
- [](TAOPOUNDERS.md)
- [](TAOSSFLS.md)
- [](TAOSSILS.md)
- [](TAOTRON.md)
- [](TaoBRGNSetRegularizerWeight.md)
- [](TaoConvergedReason.md)
- [](TaoCreate.md)
- [](TaoDestroy.md)
- [](TaoGetGradient.md)
- [](TaoGetGradientNorm.md)
- [](TaoGetHessian.md)
- [](TaoGetInequalityBounds.md)
- [](TaoGetObjective.md)
- [](TaoGetObjectiveAndGradient.md)
- [](TaoGetVariableBounds.md)
- [](TaoSetFromOptions.md)
- [](TaoSetGradient.md)
- [](TaoSetGradientNorm.md)
- [](TaoSetHessian.md)
- [](TaoSetInequalityBounds.md)
- [](TaoSetObjective.md)
- [](TaoSetObjectiveAndGradient.md)
- [](TaoSetResidualRoutine.md)
- [](TaoSetSolution.md)
- [](TaoSetTolerances.md)
- [](TaoSetVariableBounds.md)
- [](TaoSetVariableBoundsRoutine.md)
- [](TaoSolve.md)
- [](TaoType.md)
- [](TaoView.md)
```



### Intermediate - Setting options for algorithms and data structures
```{hlist}
---
columns: 3
---
- [](TaoADMMGetDualVector.md)
- [](TaoADMMGetRegularizerType.md)
- [](TaoADMMGetUpdateType.md)
- [](TaoADMMSetRegularizerType.md)
- [](TaoADMMSetUpdateType.md)
- [](TaoGetApplicationContext.md)
- [](TaoGetConstraintTolerances.md)
- [](TaoGetConvergedReason.md)
- [](TaoGetCurrentFunctionEvaluations.md)
- [](TaoGetCurrentTrustRegionRadius.md)
- [](TaoGetFunctionLowerBound.md)
- [](TaoGetInitialTrustRegionRadius.md)
- [](TaoGetIterationNumber.md)
- [](TaoGetKSP.md)
- [](TaoGetLineSearch.md)
- [](TaoGetLinearSolveIterations.md)
- [](TaoGetMaximumFunctionEvaluations.md)
- [](TaoGetMaximumIterations.md)
- [](TaoGetRecycleHistory.md)
- [](TaoGetResidualNorm.md)
- [](TaoGetSolution.md)
- [](TaoGetSolutionStatus.md)
- [](TaoGetTolerances.md)
- [](TaoGetTotalIterationNumber.md)
- [](TaoGetType.md)
- [](TaoLMVMRecycle.md)
- [](TaoMonitorDrawCtxCreate.md)
- [](TaoMonitorDrawCtxDestroy.md)
- [](TaoPythonGetType.md)
- [](TaoPythonSetType.md)
- [](TaoSetApplicationContext.md)
- [](TaoSetConstraintTolerances.md)
- [](TaoSetConstraintsRoutine.md)
- [](TaoSetConvergedReason.md)
- [](TaoSetConvergenceHistory.md)
- [](TaoSetEqualityConstraintsRoutine.md)
- [](TaoSetFunctionLowerBound.md)
- [](TaoSetInequalityConstraintsRoutine.md)
- [](TaoSetInitialTrustRegionRadius.md)
- [](TaoSetJacobianDesignRoutine.md)
- [](TaoSetJacobianEqualityRoutine.md)
- [](TaoSetJacobianInequalityRoutine.md)
- [](TaoSetJacobianResidualRoutine.md)
- [](TaoSetJacobianRoutine.md)
- [](TaoSetJacobianStateRoutine.md)
- [](TaoSetMaximumFunctionEvaluations.md)
- [](TaoSetMaximumIterations.md)
- [](TaoSetMonitor.md)
- [](TaoSetRecycleHistory.md)
- [](TaoSetResidualWeights.md)
- [](TaoSetStateDesignIS.md)
- [](TaoSetType.md)
- [](TaoSubsetType.md)
- [](TaoViewFromOptions.md)
```



### Advanced - Setting more advanced options and customization
```{hlist}
---
columns: 3
---
- [](ADMM_UPDATE_ADAPTIVE_RELAXED.md)
- [](TAOSHELL.md)
- [](TAO_ADMM_REGULARIZER_SOFT_THRESH.md)
- [](TAO_ADMM_REGULARIZER_USER.md)
- [](TAO_ADMM_UPDATE_ADAPTIVE.md)
- [](TAO_ADMM_UPDATE_BASIC.md)
- [](Tao.md)
- [](TaoADMMGetMisfitSubsolver.md)
- [](TaoADMMGetRegularizationSubsolver.md)
- [](TaoADMMGetSpectralPenalty.md)
- [](TaoADMMRegularizerType.md)
- [](TaoADMMSetConstraintVectorRHS.md)
- [](TaoADMMSetMinimumSpectralPenalty.md)
- [](TaoADMMSetMisfitConstraintJacobian.md)
- [](TaoADMMSetMisfitHessianChangeStatus.md)
- [](TaoADMMSetMisfitHessianRoutine.md)
- [](TaoADMMSetMisfitObjectiveAndGradientRoutine.md)
- [](TaoADMMSetRegHessianChangeStatus.md)
- [](TaoADMMSetRegularizerCoefficient.md)
- [](TaoADMMSetRegularizerConstraintJacobian.md)
- [](TaoADMMSetRegularizerHessianRoutine.md)
- [](TaoADMMSetRegularizerObjectiveAndGradientRoutine.md)
- [](TaoADMMSetSpectralPenalty.md)
- [](TaoADMMUpdateType.md)
- [](TaoALMMGetDualIS.md)
- [](TaoALMMGetMultipliers.md)
- [](TaoALMMGetPrimalIS.md)
- [](TaoALMMGetSubsolver.md)
- [](TaoALMMGetType.md)
- [](TaoALMMSetMultipliers.md)
- [](TaoALMMSetSubsolver.md)
- [](TaoALMMSetType.md)
- [](TaoALMMType.md)
- [](TaoAppendOptionsPrefix.md)
- [](TaoBRGNGetSubsolver.md)
- [](TaoBRGNSetDictionaryMatrix.md)
- [](TaoBRGNSetL1SmoothEpsilon.md)
- [](TaoBRGNSetRegularizerHessianRoutine.md)
- [](TaoBRGNSetRegularizerObjectiveAndGradientRoutine.md)
- [](TaoCancelMonitors.md)
- [](TaoComputeDualVariables.md)
- [](TaoComputeResidual.md)
- [](TaoDefaultCMonitor.md)
- [](TaoDefaultComputeGradient.md)
- [](TaoDefaultComputeHessian.md)
- [](TaoDefaultComputeHessianColor.md)
- [](TaoDefaultGMonitor.md)
- [](TaoDefaultSMonitor.md)
- [](TaoDrawGradientMonitor.md)
- [](TaoDrawSolutionMonitor.md)
- [](TaoDrawStepMonitor.md)
- [](TaoGetADMMParentTao.md)
- [](TaoGetConvergenceHistory.md)
- [](TaoGetDualVariables.md)
- [](TaoGetLMVMMatrix.md)
- [](TaoGetOptionsPrefix.md)
- [](TaoGradientMonitor.md)
- [](TaoKSPSetUseEW.md)
- [](TaoLMVMGetH0.md)
- [](TaoLMVMGetH0KSP.md)
- [](TaoLMVMSetH0.md)
- [](TaoMonitorDefault.md)
- [](TaoRegister.md)
- [](TaoRegisterDestroy.md)
- [](TaoResidualMonitor.md)
- [](TaoSetConvergenceTest.md)
- [](TaoSetLMVMMatrix.md)
- [](TaoSetOptionsPrefix.md)
- [](TaoSetUp.md)
- [](TaoSetUpdate.md)
- [](TaoShellGetContext.md)
- [](TaoShellSetContext.md)
- [](TaoShellSetSolve.md)
- [](TaoSolutionMonitor.md)
- [](TaoStepDirectionMonitor.md)
```



### Developer - Interfaces intended primarily for library developers, not for typical applications programmers
```{hlist}
---
columns: 3
---
- [](MatCreateADA.md)
- [](MatCreateSubMatrixFree.md)
- [](MatDFischer.md)
- [](MatDSFischer.md)
- [](TaoAddLineSearchCounts.md)
- [](TaoBoundSolution.md)
- [](TaoBoundStep.md)
- [](TaoComputeConstraints.md)
- [](TaoComputeEqualityConstraints.md)
- [](TaoComputeGradient.md)
- [](TaoComputeHessian.md)
- [](TaoComputeInequalityConstraints.md)
- [](TaoComputeJacobian.md)
- [](TaoComputeJacobianDesign.md)
- [](TaoComputeJacobianEquality.md)
- [](TaoComputeJacobianInequality.md)
- [](TaoComputeJacobianState.md)
- [](TaoComputeObjective.md)
- [](TaoComputeObjectiveAndGradient.md)
- [](TaoComputeResidualJacobian.md)
- [](TaoComputeVariableBounds.md)
- [](TaoDefaultConvergenceTest.md)
- [](TaoEstimateActiveBounds.md)
- [](TaoFinalizePackage.md)
- [](TaoGradientNorm.md)
- [](TaoInitializePackage.md)
- [](TaoIsGradientDefined.md)
- [](TaoIsObjectiveAndGradientDefined.md)
- [](TaoIsObjectiveDefined.md)
- [](TaoMatGetSubMat.md)
- [](TaoMonitor.md)
- [](TaoRegisterAll.md)
- [](TaoResetStatistics.md)
- [](TaoSetIterationNumber.md)
- [](TaoSetTotalIterationNumber.md)
- [](TaoSoftThreshold.md)
- [](TaoVecGetSubVec.md)
- [](VecFischer.md)
- [](VecSFischer.md)
```



### No deprecated routines

## Single list of manual pages
```{toctree}
---
maxdepth: 1
---
ADMM_UPDATE_ADAPTIVE_RELAXED.md
MatCreateADA.md
MatCreateSubMatrixFree.md
MatDFischer.md
MatDSFischer.md
TAOADMM.md
TAOALMM.md
TAOASFLS.md
TAOASILS.md
TAOBLMVM.md
TAOBMRM.md
TAOBNCG.md
TAOBNK.md
TAOBNLS.md
TAOBNTL.md
TAOBNTR.md
TAOBQNKLS.md
TAOBQNKTL.md
TAOBQNKTR.md
TAOBQNLS.md
TAOBQPIP.md
TAOBRGN.md
TAOCG.md
TAOGPCG.md
TAOIPM.md
TAOLCL.md
TAOLMVM.md
TAONLS.md
TAONM.md
TAONTL.md
TAONTR.md
TAOOWLQN.md
TAOPDIPM.md
TAOPOUNDERS.md
TAOSHELL.md
TAOSSFLS.md
TAOSSILS.md
TAOTRON.md
TAO_ADMM_REGULARIZER_SOFT_THRESH.md
TAO_ADMM_REGULARIZER_USER.md
TAO_ADMM_UPDATE_ADAPTIVE.md
TAO_ADMM_UPDATE_BASIC.md
Tao.md
TaoADMMGetDualVector.md
TaoADMMGetMisfitSubsolver.md
TaoADMMGetRegularizationSubsolver.md
TaoADMMGetRegularizerType.md
TaoADMMGetSpectralPenalty.md
TaoADMMGetUpdateType.md
TaoADMMRegularizerType.md
TaoADMMSetConstraintVectorRHS.md
TaoADMMSetMinimumSpectralPenalty.md
TaoADMMSetMisfitConstraintJacobian.md
TaoADMMSetMisfitHessianChangeStatus.md
TaoADMMSetMisfitHessianRoutine.md
TaoADMMSetMisfitObjectiveAndGradientRoutine.md
TaoADMMSetRegHessianChangeStatus.md
TaoADMMSetRegularizerCoefficient.md
TaoADMMSetRegularizerConstraintJacobian.md
TaoADMMSetRegularizerHessianRoutine.md
TaoADMMSetRegularizerObjectiveAndGradientRoutine.md
TaoADMMSetRegularizerType.md
TaoADMMSetSpectralPenalty.md
TaoADMMSetUpdateType.md
TaoADMMUpdateType.md
TaoALMMGetDualIS.md
TaoALMMGetMultipliers.md
TaoALMMGetPrimalIS.md
TaoALMMGetSubsolver.md
TaoALMMGetType.md
TaoALMMSetMultipliers.md
TaoALMMSetSubsolver.md
TaoALMMSetType.md
TaoALMMType.md
TaoAddLineSearchCounts.md
TaoAppendOptionsPrefix.md
TaoBRGNGetSubsolver.md
TaoBRGNSetDictionaryMatrix.md
TaoBRGNSetL1SmoothEpsilon.md
TaoBRGNSetRegularizerHessianRoutine.md
TaoBRGNSetRegularizerObjectiveAndGradientRoutine.md
TaoBRGNSetRegularizerWeight.md
TaoBoundSolution.md
TaoBoundStep.md
TaoCancelMonitors.md
TaoComputeConstraints.md
TaoComputeDualVariables.md
TaoComputeEqualityConstraints.md
TaoComputeGradient.md
TaoComputeHessian.md
TaoComputeInequalityConstraints.md
TaoComputeJacobian.md
TaoComputeJacobianDesign.md
TaoComputeJacobianEquality.md
TaoComputeJacobianInequality.md
TaoComputeJacobianState.md
TaoComputeObjective.md
TaoComputeObjectiveAndGradient.md
TaoComputeResidual.md
TaoComputeResidualJacobian.md
TaoComputeVariableBounds.md
TaoConvergedReason.md
TaoCreate.md
TaoDefaultCMonitor.md
TaoDefaultComputeGradient.md
TaoDefaultComputeHessian.md
TaoDefaultComputeHessianColor.md
TaoDefaultConvergenceTest.md
TaoDefaultGMonitor.md
TaoDefaultSMonitor.md
TaoDestroy.md
TaoDrawGradientMonitor.md
TaoDrawSolutionMonitor.md
TaoDrawStepMonitor.md
TaoEstimateActiveBounds.md
TaoFinalizePackage.md
TaoGetADMMParentTao.md
TaoGetApplicationContext.md
TaoGetConstraintTolerances.md
TaoGetConvergedReason.md
TaoGetConvergenceHistory.md
TaoGetCurrentFunctionEvaluations.md
TaoGetCurrentTrustRegionRadius.md
TaoGetDualVariables.md
TaoGetFunctionLowerBound.md
TaoGetGradient.md
TaoGetGradientNorm.md
TaoGetHessian.md
TaoGetInequalityBounds.md
TaoGetInitialTrustRegionRadius.md
TaoGetIterationNumber.md
TaoGetKSP.md
TaoGetLMVMMatrix.md
TaoGetLineSearch.md
TaoGetLinearSolveIterations.md
TaoGetMaximumFunctionEvaluations.md
TaoGetMaximumIterations.md
TaoGetObjective.md
TaoGetObjectiveAndGradient.md
TaoGetOptionsPrefix.md
TaoGetRecycleHistory.md
TaoGetResidualNorm.md
TaoGetSolution.md
TaoGetSolutionStatus.md
TaoGetTolerances.md
TaoGetTotalIterationNumber.md
TaoGetType.md
TaoGetVariableBounds.md
TaoGradientMonitor.md
TaoGradientNorm.md
TaoInitializePackage.md
TaoIsGradientDefined.md
TaoIsObjectiveAndGradientDefined.md
TaoIsObjectiveDefined.md
TaoKSPSetUseEW.md
TaoLMVMGetH0.md
TaoLMVMGetH0KSP.md
TaoLMVMRecycle.md
TaoLMVMSetH0.md
TaoMatGetSubMat.md
TaoMonitor.md
TaoMonitorDefault.md
TaoMonitorDrawCtxCreate.md
TaoMonitorDrawCtxDestroy.md
TaoPythonGetType.md
TaoPythonSetType.md
TaoRegister.md
TaoRegisterAll.md
TaoRegisterDestroy.md
TaoResetStatistics.md
TaoResidualMonitor.md
TaoSetApplicationContext.md
TaoSetConstraintTolerances.md
TaoSetConstraintsRoutine.md
TaoSetConvergedReason.md
TaoSetConvergenceHistory.md
TaoSetConvergenceTest.md
TaoSetEqualityConstraintsRoutine.md
TaoSetFromOptions.md
TaoSetFunctionLowerBound.md
TaoSetGradient.md
TaoSetGradientNorm.md
TaoSetHessian.md
TaoSetInequalityBounds.md
TaoSetInequalityConstraintsRoutine.md
TaoSetInitialTrustRegionRadius.md
TaoSetIterationNumber.md
TaoSetJacobianDesignRoutine.md
TaoSetJacobianEqualityRoutine.md
TaoSetJacobianInequalityRoutine.md
TaoSetJacobianResidualRoutine.md
TaoSetJacobianRoutine.md
TaoSetJacobianStateRoutine.md
TaoSetLMVMMatrix.md
TaoSetMaximumFunctionEvaluations.md
TaoSetMaximumIterations.md
TaoSetMonitor.md
TaoSetObjective.md
TaoSetObjectiveAndGradient.md
TaoSetOptionsPrefix.md
TaoSetRecycleHistory.md
TaoSetResidualRoutine.md
TaoSetResidualWeights.md
TaoSetSolution.md
TaoSetStateDesignIS.md
TaoSetTolerances.md
TaoSetTotalIterationNumber.md
TaoSetType.md
TaoSetUp.md
TaoSetUpdate.md
TaoSetVariableBounds.md
TaoSetVariableBoundsRoutine.md
TaoShellGetContext.md
TaoShellSetContext.md
TaoShellSetSolve.md
TaoSoftThreshold.md
TaoSolutionMonitor.md
TaoSolve.md
TaoStepDirectionMonitor.md
TaoSubsetType.md
TaoType.md
TaoVecGetSubVec.md
TaoView.md
TaoViewFromOptions.md
VecFischer.md
VecSFischer.md
```


