# Sensitivity Analysis for ODE and DAE Manual Pages


<A HREF="../../../src/ts/tutorials/index.html">Examples</A><BR>

The TS library provides discrete adjoint models (TSAdjoint) and tangent linear models (TSForward) for sensitivity analysis for ODEs and DAEs.

The adjoint solvers support gradient calculation for multiple cost functions, and the tangent linear solvers support gradient calculation with respect to multiple parameters. Adjoint is particularly efficient when the number of cost functions is much less than the number of parameters. Note that the parameters can be initial states or system parameters as used in the calculation of ODE/DAE right-hand sides.

Typical cost functions of interest may depend on the final solution to the ODE/DAE or on the whole trajectory (taking an integral form). The integral can be evaluated together with the time integration.

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

## Manual Pages by Level

### Beginner - Basic usage
```{hlist}
---
columns: 3
---
- [](TSAdjointReset.md)
- [](TSForwardSetSensitivities.md)
- [](TSSetCostGradients.md)
- [](TSSetCostHessianProducts.md)
```



### Intermediate - Setting options for algorithms and data structures
```{hlist}
---
columns: 3
---
- [](TSAdjointMonitorCancel.md)
- [](TSAdjointMonitorDefault.md)
- [](TSAdjointMonitorDrawSensi.md)
- [](TSAdjointMonitorSensi.md)
- [](TSAdjointMonitorSet.md)
- [](TSAdjointResetForward.md)
- [](TSAdjointSetForward.md)
- [](TSAdjointSetSteps.md)
- [](TSAdjointSolve.md)
- [](TSAdjointStep.md)
- [](TSCreateQuadratureTS.md)
- [](TSForwardGetSensitivities.md)
- [](TSForwardSetInitialSensitivities.md)
- [](TSGetCostGradients.md)
- [](TSGetCostHessianProducts.md)
- [](TSGetCostIntegral.md)
- [](TSGetQuadratureTS.md)
- [](TSGetRHSJacobianP.md)
- [](TSSetIHessianProduct.md)
- [](TSSetIJacobianP.md)
- [](TSSetRHSHessianProduct.md)
- [](TSSetRHSJacobianP.md)
```



### Advanced - Setting more advanced options and customization
```{hlist}
---
columns: 3
---
- [](TSAdjointCostIntegral.md)
- [](TSAdjointSetUp.md)
- [](TSForwardCostIntegral.md)
- [](TSForwardGetStages.md)
- [](TSForwardReset.md)
- [](TSForwardSetUp.md)
- [](TSForwardStep.md)
```



### Developer - Interfaces intended primarily for library developers, not for typical applications programmers
```{hlist}
---
columns: 3
---
- [](TSAdjointMonitor.md)
- [](TSAdjointMonitorSetFromOptions.md)
- [](TSComputeIHessianProductFunctionPP.md)
- [](TSComputeIHessianProductFunctionPU.md)
- [](TSComputeIHessianProductFunctionUP.md)
- [](TSComputeIHessianProductFunctionUU.md)
- [](TSComputeIJacobianP.md)
- [](TSComputeRHSHessianProductFunctionPP.md)
- [](TSComputeRHSHessianProductFunctionPU.md)
- [](TSComputeRHSHessianProductFunctionUP.md)
- [](TSComputeRHSHessianProductFunctionUU.md)
- [](TSComputeRHSJacobianP.md)
- [](TSComputeSNESJacobian.md)
```



### Deprecated - Functionality scheduled for removal in future versions
```{hlist}
---
columns: 3
---
- [](TSAdjointComputeDRDPFunction.md)
- [](TSAdjointComputeDRDYFunction.md)
- [](TSAdjointComputeRHSJacobian.md)
- [](TSAdjointSetRHSJacobian.md)
- [](TSComputeCostIntegrand.md)
- [](TSComputeDRDPFunction.md)
- [](TSComputeDRDUFunction.md)
- [](TSForwardGetIntegralGradients.md)
- [](TSForwardSetIntegralGradients.md)
- [](TSSetCostIntegrand.md)
```



## Single list of manual pages
```{toctree}
---
maxdepth: 1
---
TSAdjointComputeDRDPFunction.md
TSAdjointComputeDRDYFunction.md
TSAdjointComputeRHSJacobian.md
TSAdjointCostIntegral.md
TSAdjointMonitor.md
TSAdjointMonitorCancel.md
TSAdjointMonitorDefault.md
TSAdjointMonitorDrawSensi.md
TSAdjointMonitorSensi.md
TSAdjointMonitorSet.md
TSAdjointMonitorSetFromOptions.md
TSAdjointReset.md
TSAdjointResetForward.md
TSAdjointSetForward.md
TSAdjointSetRHSJacobian.md
TSAdjointSetSteps.md
TSAdjointSetUp.md
TSAdjointSolve.md
TSAdjointStep.md
TSComputeCostIntegrand.md
TSComputeDRDPFunction.md
TSComputeDRDUFunction.md
TSComputeIHessianProductFunctionPP.md
TSComputeIHessianProductFunctionPU.md
TSComputeIHessianProductFunctionUP.md
TSComputeIHessianProductFunctionUU.md
TSComputeIJacobianP.md
TSComputeRHSHessianProductFunctionPP.md
TSComputeRHSHessianProductFunctionPU.md
TSComputeRHSHessianProductFunctionUP.md
TSComputeRHSHessianProductFunctionUU.md
TSComputeRHSJacobianP.md
TSComputeSNESJacobian.md
TSCreateQuadratureTS.md
TSForwardCostIntegral.md
TSForwardGetIntegralGradients.md
TSForwardGetSensitivities.md
TSForwardGetStages.md
TSForwardReset.md
TSForwardSetInitialSensitivities.md
TSForwardSetIntegralGradients.md
TSForwardSetSensitivities.md
TSForwardSetUp.md
TSForwardStep.md
TSGetCostGradients.md
TSGetCostHessianProducts.md
TSGetCostIntegral.md
TSGetQuadratureTS.md
TSGetRHSJacobianP.md
TSSetCostGradients.md
TSSetCostHessianProducts.md
TSSetCostIntegrand.md
TSSetIHessianProduct.md
TSSetIJacobianP.md
TSSetRHSHessianProduct.md
TSSetRHSJacobianP.md
```


