PETSc TSAdjoint: a discrete adjoint ODE solver for first-order and second-order sensitivity analysis. (English) Zbl 1481.65009


65-04 Software, source code, etc. for problems pertaining to numerical analysis
65L99 Numerical methods for ordinary differential equations
49Q12 Sensitivity analysis for optimization problems on manifolds
49M99 Numerical methods in optimal control
49-04 Software, source code, etc. for problems pertaining to calculus of variations and optimal control
Full Text: DOI arXiv


[1] S. Abhyankar, J. Brown, E. M. Constantinescu, D. Ghosh, B. F. Smith, and H. Zhang, PETSc/TS: A Modern Scalable ODE/DAE Solver Library, preprint, https://arxiv.org/abs/1806.01437, 2018.
[2] M. Alexe and A. Sandu, On the discrete adjoints of adaptive time stepping algorithms, J. Comput. Appl. Math., 233 (2009), pp. 1005-1020, https://doi.org/10.1016/j.cam.2009.08.109. · Zbl 1177.65098
[3] M. S. Alnaes, J. Blechta, A. J. J. Hake, B. Kehlet, A. Logg, C. Richardson, J. Ring, M. E. Rognes, and G. N. Wells, The FEniCS Project Version 1.5, Arch. Numer. Software, 3 (2015), https://doi.org/10.11588/ans.2015.100.20553.
[4] J. A. E. Andersson, J. Gillis, G. Horn, J. B. Rawlings, and M. Diehl, CasADi-A software framework for nonlinear optimization and optimal control, Math. Program. Comput., 11 (2019), pp. 1-36. · Zbl 1411.90004
[5] A. H. Baker, T. Gamblin, M. Schulz, and U. M. Yang, Challenges of scaling algebraic multigrid across modern multicore architectures, in 2011 IEEE International Parallel Distributed Processing Symposium, 2011, pp. 275-286, https://doi.org/10.1109/IPDPS.2011.35.
[6] R. A. Bartlett, D. M. Gay, and E. T. Phipps, Automatic differentiation of C++ codes for large-scale scientific computing, in Computational Science-ICCS 2006, V. N. Alexandrov, G. D. van Albada, P. M. A. Sloot, and J. Dongarra, eds., Springer, Berlin, Heidelberg, 2006, pp. 525-532. · Zbl 1157.65333
[7] S. J. Benson and J. J. Moré, A Limited Memory Variable Metric Method in Subspaces and Bound Constrained Optimization Problems, Tech. report ANL/ACS-P909-0901, Argonne National Laboratory, 2001.
[8] C. H. Bischof, L. Roh, and A. J. Mauer-Oats, ADIC: An extensible automatic differentiation tool for ANSI-C, Softw. Practice Exp., 27 (1997), pp. 1427-1454, https://doi.org/10.1002/(SICI)1097-024X(199712)27:12
[9] L. Carracciuolo, E. M. Constantinescu, and L. D’Amore, Validation of a PETSc Based Software Implementing a 4DVAR Data Assimilation Algorithm: A Case Study Related with an Oceanic Model Based on Shallow Water Equation, preprint, https://arxiv.org/abs/1810.01361, 2018.
[10] E. M. Constantinescu, Generalizing global error estimation for ordinary differential equations by using coupled time-stepping methods, J. Comput. Appl. Math., 332 (2018), pp. 140-158, https://doi.org/10.1016/j.cam.2017.05.012. · Zbl 1377.65088
[11] L. D. Dalcin, R. R. Paz, P. A. Kler, and A. Cosimo, Parallel distributed computing using Python, Adv. Water Res., 34 (2011), pp. 1124-1139, https://doi.org/10.1016/j.advwatres.2011.04.013.
[12] A. Dener, A. Denchfield, T. Munson, J. Sarich, S. Wild, S. Benson, and L. C. McInnes, Tao Users Manual, Tech. Report ANL/MCS-TM-322, Revision 3.13, Argonne National Laboratory, 2020, https://www.mcs.anl.gov/petsc.
[13] A. Dener and T. Munson, Accelerating limited-memory quasi-newton convergence for large-scale optimization, in Computational Science-ICCS 2019, Lecture Notes in Comput. Sci. 11538, Springer, Cham, 2019, pp. 495-507.
[14] J. Dormand and P. Prince, A family of embedded Runge-Kutta formulae, J. Comput. Appl. Math., 6 (1980), pp. 19-26, https://doi.org/10.1016/0771-050X(80)90013-3. · Zbl 0448.65045
[15] P. E. Farrell, D. A. Ham, S. F. Funke, and M. E. Rognes, Automated derivation of the adjoint of high-level transient finite element programs, SIAM J. Sci. Comput., 35 (2013), pp. C369-C393, https://doi.org/10.1137/120873558. · Zbl 1362.65103
[16] A. H. Gebremedhin, F. Manne, and A. Pothen, What color is your Jacobian? Graph coloring for computing derivatives, SIAM Rev., 47 (2005), pp. 629-705, https://doi.org/10.1137/S0036144504444711. · Zbl 1076.05034
[17] A. Gholami, K. Keutzer, and G. Biros, ANODE: Unconditionally accurate memory-efficient gradients for neural ODEs, in IJCAI International Joint Conference on Artificial Intelligence, International Joint Conferences on Artificial Intelligence Organization, 2019, pp. 730-736, https://doi.org/10.24963/ijcai.2019/103.
[18] R. Giering and T. Kaminski, Recipes for adjoint code construction, ACM Trans. Math. Softw., 24 (1998), pp. 437-474, https://doi.org/10.1145/293686.293695. · Zbl 0934.65027
[19] A. Griewank and A. Walther, Algorithm 799: Revolve: An implementation of checkpointing for the reverse or adjoint mode of computational differentiation, ACM Trans. Math. Softw., 26 (2000), pp. 19-45, https://doi.org/10.1145/347837.347846. · Zbl 1137.65330
[20] V. Heuveline and A. Walther, Online checkpointing for parallel adjoint computation in PDEs: Application to goal-oriented adaptivity and flow control, in Euro-Par 2006, Lecture Notes in Comput. Sci. 4128, Springer, Berlin, Heidelberg, 2006.
[21] A. C. Hindmarsh, P. N. Brown, K. E. Grant, S. L. Lee, R. Serban, D. E. Shumaker, and C. S. Woodward, SUNDIALS: Suite of nonlinear and differential/algebraic equation solvers, ACM Trans. Math. Softw., 31 (2005), pp. 363-396, https://doi.org/10.1145/1089014.1089020. · Zbl 1136.65329
[22] W. Hundsdorfer and J. Verwer, Numerical Solution of Time-Dependent Advection-Diffusion-Reaction Equations, Springer Ser. Comput. Math., Springer, Berlin, Heidelberg, 2007. · Zbl 1030.65100
[23] A. Jameson, Aerodynamic design via control theory, J. Sci. Comput., 3 (1988), pp. 233-260, https://doi.org/10.1007/BF01061285. · Zbl 0676.76055
[24] M. Lubin and I. Dunning, Computing in operations research Using Julia, INFORMS J. Comput., 27 (2015), pp. 238-248, https://doi.org/10.1287/ijoc.2014.0623. · Zbl 1331.90001
[25] O. Marin, E. Constantinescu, and B. Smith, Unsteady PDE-Constrained Optimization with Spectral Elements Using PETSc and TAO, preprint, https://arxiv.org/abs/1806.01422, 2018.
[26] D. Onken and L. Ruthotto, Discretize-Optimize vs. Optimize-Discretize for Time-Series Regression and Continuous Normalizing Flows, preprint, http://arxiv.org/abs/2005.13420, 2020.
[27] A. Paszke, S. Chintala, G. Chanan, Z. Lin, S. Gross, E. Yang, L. Antiga, Z. Devito, A. Lerer, and A. Desmaison, Automatic differentiation in PyTorch, in 31st Conference on Neural Information Processing Systems, 2017.
[28] C. Rackauckas, Y. Ma, V. Dixit, X. Guo, M. Innes, J. Revels, J. Nyberg, and V. Ivaturi, A Comparison of Automatic Differentiation and Continuous Sensitivity Analysis for Derivatives of Differential Equation Solutions, preprint, https://arxiv.org/abs/1812.01892, 2018.
[29] C. Rackauckas and Q. Nie, DifferentialEquations.jl-a performant and feature-rich ecosystem for solving differential equations in Julia, J. Open Res. Softw., 5 (2017), http://doi.org/10.5334/jors.151.
[30] R. Raffard and C. Tomlin, Second order adjoint-based optimization of ordinary and partial differential equations with application to air traffic flow, in Proceedings of the 2005 American Control Conference, 2005, pp. 798-803, https://doi.org/10.1109/ACC.2005.1470057.
[31] F. Rathgeber, D. A. Ham, L. Mitchell, M. Lange, F. Luporini, A. T. T. Mcrae, G.-T. Bercea, G. R. Markall, and P. H. J. Kelly, Firedrake: Automating the finite element method by composing abstractions, ACM Trans. Math. Softw., 43 (2016), 24, https://doi.org/10.1145/2998441. · Zbl 1396.65144
[32] T. Schwedes, D. A. Ham, S. W. Funke, and M. D. Piggott, Mesh dependence in PDE-constrained optimisation, in Mesh Dependence in PDE-Constrained Optimisation, 2017, https://doi.org/10.1007/978-3-319-59483-5_2. · Zbl 1384.65039
[33] G. Söderlind, Digital filters in adaptive time-stepping, ACM Trans. Math. Softw., 29 (2003), pp. 1-26, https://doi.org/10.1145/641876.641877. · Zbl 1097.93516
[34] P. Stumm and A. Walther, Multistage approaches for optimal offline checkpointing, SIAM J. Sci. Comput., 31 (2009), pp. 1946-1967, https://doi.org/10.1137/080718036. · Zbl 1194.65084
[35] P. Stumm and A. Walther, New algorithms for optimal online checkpointing, SIAM J. Sci. Comput., 32 (2010), pp. 836-854, https://doi.org/10.1137/080742439. · Zbl 1214.65038
[36] J. G. Wallwork, P. Hovland, H. Zhang, and O. Marin, Computing Derivatives for PETSc Adjoint Solvers Using Algorithmic Differentiation, preprint, https://arxiv.org/abs/1909.02836, 2019.
[37] A. Walther and A. Griewank, Getting started with ADOL-C, in Combinatorial Scientific Computing, Chapman and Hall/CRC, 2012, pp. 181-202, https://doi.org/10.1201/b11644-8.
[38] Q. Wang, P. Moin, and G. Iaccarino, Minimal repetition dynamic checkpointing algorithm for unsteady adjoint calculation, SIAM J. Sci. Comput., 31 (2009), pp. 2549-2567, https://doi.org/10.1137/080727890. · Zbl 1196.65050
[39] H. Zhang, S. Abhyankar, E. Constantinescu, and M. Anitescu, Discrete adjoint sensitivity analysis of hybrid dynamical systems with switching, IEEE Trans. Circuits Syst. I Regular Papers, 64 (2017), pp. 1247-1259, https://doi.org/10.1109/TCSI.2017.2651683.
[40] H. Zhang, R. T. Mills, K. Rupp, and B. F. Smith, Vectorized parallel sparse matrix-vector multiplication in PETSc using AVX-512, in Proceedings of the 47th International Conference on Parallel Processing (ICPP 2018), ACM, 2018, 55, https://doi.org/10.1145/3225058.3225100.
[41] H. Zhang and A. Sandu, FATODE: A library for forward, adjoint, and tangent linear integration of ODEs, SIAM J. Sci. Comput., 36 (2014), pp. C504-C523, https://doi.org/10.1137/130912335. · Zbl 1307.65104
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.