:html_theme.sidebar_secondary.remove: true
# Optimization Solvers (Tao)

The Toolkit for Advance Optimization `Tao`, provides a large suite of optimization solvers for unconstrained and constrained problems. Users guide chapter: [](ch_tao).

## 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)
- [](TaoLineSearchConvergedReason.md)
- [](TaoLineSearchType.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)
- [](TaoLineSearch.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)
- [](TAOSNES.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)
- [](TaoGradientNorm.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 rarely needed by 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)
- [](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)
```



## Single list of manual pages
```{hlist}
---
columns: 3
---
- [](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)
- [](TAOSNES.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)
- [](TaoLineSearch.md)
- [](TaoLineSearchConvergedReason.md)
- [](TaoLineSearchType.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)
```


