4.5 Article

Algorithmic differentiation in Python with AlgoPy

Journal

JOURNAL OF COMPUTATIONAL SCIENCE
Volume 4, Issue 5, Pages 334-344

Publisher

ELSEVIER
DOI: 10.1016/j.jocs.2011.10.007

Keywords

Automatic differentiation; Cholesky decomposition; Hierarchical approach; Higher-order derivatives; Numerical linear algebra; NumPy; Taylor arithmetic

Funding

  1. Bundesministerium fur Bildung und Forschung (BMBF) [03GRPAL3]
  2. Humboldt Universitat zu Berlin

Ask authors/readers for more resources

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. (C) 2011 Elsevier B.V. All rights reserved.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.5
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available