1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sensitivity/index.html" />
<TITLE>Sensitivity - ODE integrators</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<div id="version" align=right><b>petsc-3.10.3 2018-12-18</b></div>
<div id="bugreport" align=right><a href="mailto:petsc-maint@mcs.anl.gov?subject=Typo or Error in Documentation &body=Please describe the typo or error in the documentation: petsc-3.10.3 v3.10.3 docs/manualpages/Sensitivity/index.html "><small>Report Typos and Errors</small></a></div>
<H2>Sensitivity analysis for ODE and DAE: <A HREF="../../../src/ts/examples/tutorials/index.html">Examples</A></H2>
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.
<P>
<P>
<TABLE>
<TR><TD WIDTH=250 COLSPAN="3"><B>Beginner - Basic usage</B></TD></TR>
<TD WIDTH=250><A HREF="./TSForwardSetSensitivities.html">TSForwardSetSensitivities</A></TD>
<TD WIDTH=250><A HREF="./TSSetCostGradients.html">TSSetCostGradients</A></TD>
<TD WIDTH=250><A HREF="./"></A></TD>
<TR>
<TR><TD WIDTH=250 COLSPAN="3"><B>Intermediate - Setting options for algorithms and data structures</B></TD></TR>
<TD WIDTH=250><A HREF="./TSAdjointMonitorCancel.html">TSAdjointMonitorCancel</A></TD>
<TD WIDTH=250><A HREF="./TSAdjointSetSteps.html">TSAdjointSetSteps</A></TD>
<TD WIDTH=250><A HREF="./TSForwardSetIntegralGradients.html">TSForwardSetIntegralGradients</A></TD>
<TR>
<TD WIDTH=250><A HREF="./TSAdjointMonitorDefault.html">TSAdjointMonitorDefault</A></TD>
<TD WIDTH=250><A HREF="./TSAdjointSolve.html">TSAdjointSolve</A></TD>
<TD WIDTH=250><A HREF="./TSGetCostGradients.html">TSGetCostGradients</A></TD>
<TR>
<TD WIDTH=250><A HREF="./TSAdjointMonitorDrawSensi.html">TSAdjointMonitorDrawSensi</A></TD>
<TD WIDTH=250><A HREF="./TSAdjointStep.html">TSAdjointStep</A></TD>
<TD WIDTH=250><A HREF="./TSGetCostIntegral.html">TSGetCostIntegral</A></TD>
<TR>
<TD WIDTH=250><A HREF="./TSAdjointMonitorSensi.html">TSAdjointMonitorSensi</A></TD>
<TD WIDTH=250><A HREF="./TSForwardGetIntegralGradients.html">TSForwardGetIntegralGradients</A></TD>
<TD WIDTH=250><A HREF="./TSSetCostIntegrand.html">TSSetCostIntegrand</A></TD>
<TR>
<TD WIDTH=250><A HREF="./TSAdjointMonitorSet.html">TSAdjointMonitorSet</A></TD>
<TD WIDTH=250><A HREF="./TSForwardGetSensitivities.html">TSForwardGetSensitivities</A></TD>
<TD WIDTH=250><A HREF="./TSSetRHSJacobianP.html">TSSetRHSJacobianP</A></TD>
<TR>
<TR><TD WIDTH=250 COLSPAN="3"><B>Advanced - Setting more advanced options and customization</B></TD></TR>
<TD WIDTH=250><A HREF="./TSAdjointCostIntegral.html">TSAdjointCostIntegral</A></TD>
<TD WIDTH=250><A HREF="./TSForwardCostIntegral.html">TSForwardCostIntegral</A></TD>
<TD WIDTH=250><A HREF="./TSForwardStep.html">TSForwardStep</A></TD>
<TR>
<TD WIDTH=250><A HREF="./TSAdjointSetUp.html">TSAdjointSetUp</A></TD>
<TD WIDTH=250><A HREF="./TSForwardSetUp.html">TSForwardSetUp</A></TD>
<TD WIDTH=250><A HREF="./"></A></TD>
<TR>
<TR><TD WIDTH=250 COLSPAN="3"><B>Developer - Interfaces intended primarily for library developers, not for typical applications programmers</B></TD></TR>
<TD WIDTH=250><A HREF="./TSAdjointMonitor.html">TSAdjointMonitor</A></TD>
<TD WIDTH=250><A HREF="./TSComputeCostIntegrand.html">TSComputeCostIntegrand</A></TD>
<TD WIDTH=250><A HREF="./TSComputeDRDYFunction.html">TSComputeDRDYFunction</A></TD>
<TR>
<TD WIDTH=250><A HREF="./TSAdjointMonitorSetFromOptions.html">TSAdjointMonitorSetFromOptions</A></TD>
<TD WIDTH=250><A HREF="./TSComputeDRDPFunction.html">TSComputeDRDPFunction</A></TD>
<TD WIDTH=250><A HREF="./TSComputeRHSJacobianP.html">TSComputeRHSJacobianP</A></TD>
<TR>
<TR><TD WIDTH=250 COLSPAN="3"><B>Deprecated - Functionality scheduled for removal in future versions</B></TD></TR>
<TD WIDTH=250><A HREF="./TSAdjointComputeDRDPFunction.html">TSAdjointComputeDRDPFunction</A></TD>
<TD WIDTH=250><A HREF="./TSAdjointComputeRHSJacobian.html">TSAdjointComputeRHSJacobian</A></TD>
<TD WIDTH=250><A HREF="./"></A></TD>
<TR>
<TD WIDTH=250><A HREF="./TSAdjointComputeDRDYFunction.html">TSAdjointComputeDRDYFunction</A></TD>
<TD WIDTH=250><A HREF="./TSAdjointSetRHSJacobian.html">TSAdjointSetRHSJacobian</A></TD>
<TD WIDTH=250><A HREF="./"></A></TD>
<TR>
</TABLE>
<BR><A HREF="../../index.html">Table of Contents</A>
|