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