References

  1. Martın Abadi, Ashish Agarwal, Paul Barham, Eugene Brevdo, Zhifeng Chen, Craig Citro, Greg S Corrado, Andy Davis, Jeffrey Dean & Matthieu Devin (2016): Tensorflow: Large-scale machine learning on heterogeneous distributed systems. arXiv preprint arXiv:1603.04467, doi:10.48550/ARXIV.1603.04467.
  2. F. L. Bauer (1974): Computational Graphs and Rounding Error. SIAM Journal on Numerical Analysis 11(1), pp. 87–96, doi:10.1007/BF01386233.
  3. Atilim Gunes Baydin, Barak A. Pearlmutter, Alexey Andreyevich Radul & Jeffrey Mark Siskind (2018): Automatic Differentiation in Machine Learning: A Survey. arXiv:1502.05767 [cs, stat], doi:10.48550/ARXIV.1502.05767. ArXiv:1502.05767.
  4. C. H. Bischof, H. M. Bücker & B. Lang (2002): Automatic Differentiation for Computational Finance. In: E. J. Kontoghiorghes, B. Rustem & S. Siokos: Computational Methods in Decision-Making, Economics and Finance, chapter 15, Applied Optimization 74. Kluwer Academic Publishers, Dordrecht, pp. 297–310, doi:10.1007/978-1-4757-3613-7_15.
  5. Christian H. Bischof, H. Martin Bücker, Bruno Lang, Arno Rasch & Andre Vehreschild (2002): Combining Source Transformation and Operator Overloading Techniques to Compute Derivatives for MATLAB Programs. In: Proceedings of the Second IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2002). IEEE Computer Society, Los Alamitos, CA, USA, pp. 65–72, doi:10.1109/SCAM.2002.1134106.
  6. R. F. Blute, J. R. B. Cockett & R. A. G. Seely (2006): Differential categories. Mathematical Structures in Computer Science 16(6), pp. 1049–1083, doi:10.1017/S0960129506005676.
  7. R. F. Blute, J. R. B. Cockett & R. A. G. Seely (2009): Cartesian differential categories. Theory and Applications of Categories 22(23), pp. 622–672.
  8. James Bradbury, Roy Frostig, Peter Hawkins, Matthew James Johnson, Chris Leary, Dougal Maclaurin, George Necula, Adam Paszke, Jake VanderPlas, Skye Wanderman-Milne & Qiao Zhang (2018): JAX: Composable Transformations of Python+NumPy Programs. Available at http://github. com/google/jax.
  9. J. R. B. Cockett, G. S. H. Cruttwell & J. D. Gallagher (2011): Differential restriction categories. Theory and Applications of Categories 25(21), pp. 537–613, doi:10.48550/ARXIV.1208.4068.
  10. J. R. B. Cockett & J.-S. Lemay (2017): There Is Only One Notion of Differentiation. In: Dale Miller: 2nd International Conference on Formal Structures for Computation and Deduction (FSCD 2017), Leibniz International Proceedings in Informatics (LIPIcs) 84. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, pp. 13:1–13:21, doi:10.4230/LIPIcs.FSCD.2017.13.
  11. R. Cockett, G. Cruttwell, J. Gallagher, J.-S. Pacaud Lemay, B. MacAdam, G. Plotkin & D. Pronk (2020): Reverse Derivative Categories. In: M. Fernández & A. Muscholl: 28th EACSL Annual Conference on Computer Science Logic (CSL 2020), Leibniz International Proceedings in Informatics (LIPIcs) 152. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, pp. 18:1–18:16, doi:10.4230/LIPIcs.CSL.2020.18.
  12. O. Danvy (1996): Type-Directed Partial Evaluation. In: Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '96). ACM, pp. 242–257, doi:10.1145/237721.237784.
  13. Conal Elliott (2018): The simple essence of automatic differentiation. Proceedings of the ACM on Programming Languages 2(ICFP), pp. 70, doi:10.1145/355586.364791.
  14. Conal Elliott (2021): Symbolic and automatic differentiation of languages. Proceedings of the ACM on Programming Languages 5(ICFP), pp. 1–18, doi:10.1016/S0019-9958(61)80020-X.
  15. Conal M. Elliott (2009): Beautiful Differentiation. In: Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming, ICFP '09. Association for Computing Machinery, New York, NY, USA, pp. 191–202, doi:10.1145/1596550.1596579.
  16. Patrick Gelß (2017): The Tensor-Train Format and Its Applications: Modeling and Analysis of Chemical Reaction Networks, Catalytic Processes, Fluid Flows, and Brownian Dynamics. Freie Universität Berlin.
  17. Michael B. Giles & Paul Glasserman (2006): Smoking Adjoints: fast evaluation of Greeks in Monte Carlo calculations. In: Chris Kenyon & Andrew Green: Landmarks in XVA: From Counterparty Risk to Funding Costs and Capital, chapter 25. Risk books, Infopro digital, Houndsditch, London.
  18. Andreas Griewank (1989): On Automatic Differentiation. In: Mathematical Programming: Recent Developments and Applications, pp. 83–108. ISBN 978-0792304906.
  19. Andreas Griewank (2012): Who invented the reverse mode of differentiation. Documenta Mathematica, Extra Volume ISMP, pp. 389–400.
  20. Andreas Griewank, David Juedes & Jean Utke (1996): Algorithm 755: ADOL-C: A Package for the Automatic Differentiation of Algorithms Written in CC++. ACM Transactions on Mathematical Software 22(2), pp. 131–167. Available at http://doi.acm.org/10.1145/229473.229474.
  21. Andreas Griewank & Andrea Walther (2008): Evaluating derivatives: principles and techniques of algorithmic differentiation. Siam, doi:10.1137/1.9780898717761.
  22. Esben Bistrup Halvorsen (2012): Calculating Key Ratios for Financial Products using Automatic Differentiation and Monte Carlo Simulation. Student Project, Department of Computer Science, University of Copenhagen (DIKU).
  23. Laurent Hascoet & Valérie Pascual (2013): The Tapenade Automatic Differentiation Tool: Principles, Model, and Specification. ACM Trans. Math. Softw. 39(3), doi:10.1145/2450153.2450158.
  24. Fritz Henglein (2016): Automatic Differentiation: From Functional Analysis to Functional Programming. Presentation, Reps at Sixty Workshop at Static Analysis Symposium.
  25. Fritz Henglein, Robin Kaarsgaard & Mikkel Kragh Mathiesen (2022): The Programming of Algebra. In: Proc. 9th Workshop on Mathematically Structured Functional Programming (MSFP). Electronic Proceedings in Theoretical Computer Science (EPTCS), Munich, Germany.
  26. Troels Henriksen, Niels G. W. Serup, Martin Elsman, Fritz Henglein & Cosmin E. Oancea (2017): Futhark: Purely Functional GPU-programming with Nested Parallelism and In-place Array Updates. In: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017. ACM, New York, NY, USA, pp. 556–571, doi:10.1145/3062341.3062354.
  27. Robin J. Hogan (2014): Fast Reverse-Mode Automatic Differentiation Using Expression Templates in C++. ACM Transactions on Mathematical Software 40(4), pp. 26:1–26:24, doi:10.1145/2560359.
  28. Michael Innes (2019): Don't Unroll Adjoint: Differentiating SSA-Form Programs. arXiv:1810.07951 [cs], doi:10.48550/ARXIV.1810.07951. ArXiv:1810.07951.
  29. Yangqing Jia, Evan Shelhamer, Jeff Donahue, Sergey Karayev, Jonathan Long, Ross Girshick, Sergio Guadarrama & Trevor Darrell (2014): Caffe: Convolutional Architecture for Fast Feature Embedding. In: Proceedings of the 22nd ACM International Conference on Multimedia, MM '14. Association for Computing Machinery, New York, NY, USA, pp. 675–678, doi:10.1145/2647868.2654889.
  30. Harry G Kahrimanian (1953): Analytical differentiation by a digital computer. MA Thesis, Temple University.
  31. Jerzy Karczmarczuk (1998): Functional Differentiation of Computer Programs. In: Proceedings of the Third ACM SIGPLAN International Conference on Functional Programming, ICFP '98. Association for Computing Machinery, New York, NY, USA, pp. 195–203, doi:10.1145/289423.289442.
  32. Jerzy Karczmarczuk (1999): Functional Coding of Differential Forms. In: Scottish Workshop on Functional Programming. ISBN 978-1-84150-024-9.
  33. Sören Laue (2019): On the equivalence of forward mode automatic differentiation and symbolic differentiation. arXiv preprint arXiv:1904.02990, doi:10.48550/arXiv.1904.02990.
  34. Seppo Linnainmaa (1970): The representation of the cumulative rounding error of an algorithm as a Taylor expansion of the local rounding errors. Master's Thesis (in Finnish), Univ. Helsinki, pp. 6–7.
  35. Seppo Linnainmaa (1976): Taylor Expansion of the Accumulated Rounding Error. BIT 16(2), pp. 146–160, doi:10.1007/BF01931367.
  36. Dougal Maclaurin (2016): Modeling, Inference and Optimization with Composable Differentiable Procedures. Harvard University.
  37. Mikkel Kragh Mathiesen (2016): Infinite-Dimensional Linear Algebra for Efficient Query Processing. Department of Computer Science, Unversity of Copenhagen (DIKU).
  38. Damiano Mazza & Michele Pagani (2021): Automatic Differentiation in PCF. Proceedings of the ACM on Programming Languages 5(POPL), pp. 1–27, doi:10.1145/3434309. ArXiv:2011.03335.
  39. William S. Moses, Valentin Churavy, Ludger Paehler, Jan Hückelheim, Sri Hari Krishna Narayanan, Michel Schanen & Johannes Doerfert (2021): Reverse-Mode Automatic Differentiation and Optimization of GPU Kernels via Enzyme. In: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, SC '21. Association for Computing Machinery, New York, NY, USA, doi:10.1145/3458817.3476165.
  40. Uwe Naumann (2007): Optimal Jacobian Accumulation Is NP-Complete. Mathematical Programming 112(2), pp. 427–441, doi:10.1007/s10107-006-0042-z.
  41. Richard D. Neidinger (2010): Introduction to Automatic Differentiation and MATLAB Object-Oriented Programming. SIAM Review 52(3), pp. 545–563, doi:10.1137/080743627.
  42. Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan, Edward Yang, Zachary DeVito, Zeming Lin, Alban Desmaison, Luca Antiga & Adam Lerer (2017): Automatic Differentiation in PyTorch. In: Proc. 31st Conference on Neural Information Processing Systems (NIPS).
  43. Adam Paszke, Daniel Johnson, David Duvenaud, Dimitrios Vytiniotis, Alexey Radul, Matthew Johnson, Jonathan Ragan-Kelley & Dougal Maclaurin (2021): Getting to the Point. Index Sets and Parallelism-Preserving Autodiff for Pointful Array Programming. arXiv:2104.05372 [cs], doi:10.48550/ARXIV.2104.05372. ArXiv:2104.05372.
  44. Adam Paszke, Matthew J. Johnson, Roy Frostig & Dougal Maclaurin (2021): Parallelism-Preserving Automatic Differentiation for Second-Order Array Languages. In: Proceedings of the 9th ACM SIGPLAN International Workshop on Functional High-Performance and Numerical Computing, FHPNC 2021. Association for Computing Machinery, New York, NY, USA, pp. 13–23, doi:10.1145/3471873.3472975.
  45. Barak A. Pearlmutter & Jeffrey Mark Siskind (2008): Reverse-Mode AD in a Functional Framework: Lambda the Ultimate Backpropagator. ACM Transactions on Programming Languages and Systems 30(2), pp. 1–36, doi:10.1145/1330017.1330018.
  46. Robert Schenck, Ola Rønning, Troels Henriksen & Cosmin E. Oancea (2022): AD for an Array Language with Nested Parallelism, doi:10.48550/arXiv.2202.10297. ArXiv:2202.10297.
  47. Samuel Schoenholz & Ekin Dogus Cubuk (2020): JAX MD: A Framework for Differentiable Physics. In: H. Larochelle, M. Ranzato, R. Hadsell, M. F. Balcan & H. Lin: Advances in Neural Information Processing Systems 33. Curran Associates, Inc., pp. 11428–11441. Available at https://proceedings.neurips.cc/paper/2020/file/83d3d4b6c9579515e1679aca8cbc8033-Paper.pdf.
  48. Filip Šrajer, Zuzana Kukelova & Andrew Fitzgibbon (2018): A Benchmark of Selected Algorithmic Differentiation Tools on Some Problems in Computer Vision and Machine Learning. arXiv:1807.10129 [cs], doi:10.48550/arXiv.1807.10129. ArXiv:1807.10129.
  49. E. M. Tadjouddine (2009): Algorithmic Differentiation Applied to Economics. In: S. I. Ao, O. Castillo, C. Douglas, D. D. Feng & J.-A. Lee: Proceedings of the of the International MultiConference of Engineers and Computer Scientists 2009 (IMECS 2009), Hong Kong, March 18–20, 2009 2. International Association of Engineers. Newswood Limited, pp. 2199–2204.
  50. Matthijs Vákár (2021): Reverse AD at Higher Types: Pure, Principled and Denotationally Correct. In: Nobuko Yoshida: ESOP 2021: Programming Languages and Systems. Springer, pp. 607–634, doi:10.1007/978-3-030-72019-3_22.
  51. Fei Wang, Daniel Zheng, James Decker, Xilun Wu, Grégory M. Essertel & Tiark Rompf (2019): Demystifying Differentiable Programming: Shift/Reset the Penultimate Backpropagator. Proceedings of the ACM on Programming Languages 3(ICFP), pp. 1–31, doi:10.1145/3341700.
  52. R. E. Wengert (1964): A Simple Automatic Derivative Evaluation Program. Communications of the ACM 7(8), pp. 463–464, doi:10.1145/355586.364791.

Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org