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."
}
|