Publication: auto_diff: An Automatic Differentiation Package For Python
Introduction
Applications
Tools
Research Groups
Workshops
Publications
   List Publications
   Advanced Search
   Info
   Add Publications
My Account
About
Impress

auto_diff: An Automatic Differentiation Package For Python

- Part of a collection -
 

Author(s)
P. Nobel

Published in
2020 Spring Simulation Conference (SpringSim)

Year
2020

Publisher
Society for Modeling and Simulation International (SCS)

Abstract
We present auto_diff, a package that performs automatic differentiation of numerical Python code. auto_diff overrides Python's NumPy package's functions, augmenting them with seamless automatic differentiation capabilities. Notably, auto_diff is non-intrusive, i.e., the code to be differentiated does not require auto_diff-specific alterations. We illustrate auto_diff on electronic devices, a circuit simulation, and a mechanical system simulation. In our evaluations so far, we found that running simulations with auto_diff takes less than 4 times as long as simulations with hand-written differentiation code. We believe that auto_diff, which was written after attempts to use existing automatic differentiation packages on our applications ran into difficulties, caters to an important need within the numerical Python community. We have attempted to write this paper in a tutorial style to make it accessible to those without prior background in automatic differentiation techniques and packages. We have released auto_diff as open source on GitHub.

AD Tools
auto_diff

BibTeX
@INPROCEEDINGS{
         Nobel2020aAA,
       author = "P. Nobel",
       booktitle = "2020 Spring Simulation Conference ({SpringSim})",
       title = "auto{\_}diff: An Automatic Differentiation Package For {P}ython",
       year = "2020",
       publisher = "Society for Modeling and Simulation International ({SCS})",
       pages = "1-12",
       doi = "10.22360/SpringSim.2020.ANSS.006",
       ad_tools = "auto_diff",
       articleno = "10",
       numpages = "12",
       keywords = "implementation, Python, library, automatic differentiation, numerical methods",
       location = "Fairfax, Virginia",
       abstract = "We present auto_diff, a package that performs automatic differentiation of
         numerical Python code. auto_diff overrides Python's NumPy package's functions, augmenting
         them with seamless automatic differentiation capabilities. Notably, auto_diff is non-intrusive,
         i.e., the code to be differentiated does not require auto_diff-specific alterations. We illustrate
         auto_diff on electronic devices, a circuit simulation, and a mechanical system simulation. In our
         evaluations so far, we found that running simulations with auto_diff takes less than 4 times as long
         as simulations with hand-written differentiation code. We believe that auto_diff, which was written
         after attempts to use existing automatic differentiation packages on our applications ran into
         difficulties, caters to an important need within the numerical Python community. We have attempted
         to write this paper in a tutorial style to make it accessible to those without prior background in
         automatic differentiation techniques and packages. We have released auto_diff as open source on
         GitHub."
}


back
  

Contact:
autodiff.org
Username:
Password:
(lost password)