BibTeX
@ARTICLE{
Walter2013Adi,
title = "Algorithmic differentiation in {P}ython with {AlgoPy}",
journal = "Journal of Computational Science",
volume = "4",
number = "5",
pages = "334--344",
year = "2013",
issn = "1877-7503",
doi = "http://dx.doi.org/10.1016/j.jocs.2011.10.007",
url = "http://www.sciencedirect.com/science/article/pii/S1877750311001013",
author = "Sebastian F. Walter and Lutz Lehmann",
abstract = "Many programs for scientific computing in Python are based on NumPy and therefore
make heavy use of numerical linear algebra (NLA) functions, vectorized operations, slicing and
broadcasting. AlgoPy provides the means to compute derivatives of arbitrary order and Taylor
approximations of such programs. The approach is based on a combination of univariate Taylor
polynomial arithmetic and matrix calculus in the (combined) forward/reverse mode of Algorithmic
Differentiation (AD). In contrast to existing AD tools, vectorized operations and NLA functions are
not considered to be a sequence of scalar elementary functions. Instead, dedicated algorithms for
the matrix product, matrix inverse and the Cholesky, QR, and symmetric eigenvalue decomposition are
implemented in AlgoPy. We discuss the reasons for this alternative approach and explain the
underlying idea. Examples illustrate how AlgoPy can be used from a user's point of view.",
ad_tools = "AlgoPy"
}
|