English

Eigen-AD: Algorithmic Differentiation of the Eigen Library

Mathematical Software 2020-06-23 v2

Abstract

In this work we present useful techniques and possible enhancements when applying an Algorithmic Differentiation (AD) tool to the linear algebra library Eigen using our in-house AD by overloading (AD-O) tool dco/c++ as a case study. After outlining performance and feasibility issues when calculating derivatives for the official Eigen release, we propose Eigen-AD, which enables different optimization options for an AD-O tool by providing add-on modules for Eigen. The range of features includes a better handling of expression templates for general performance improvements, as well as implementations of symbolically derived expressions for calculating derivatives of certain core operations. The software design allows an AD-O tool to provide specializations to automatically include symbolic operations and thereby keep the look and feel of plain AD by overloading. As a showcase, dco/c++ is provided with such a module and its significant performance improvements are validated by benchmarks.

Cite

@article{arxiv.1911.12604,
  title  = {Eigen-AD: Algorithmic Differentiation of the Eigen Library},
  author = {Patrick Peltzer and Johannes Lotz and Uwe Naumann},
  journal= {arXiv preprint arXiv:1911.12604},
  year   = {2020}
}

Comments

Updated with accepted version for ICCS 2020 conference proceedings. The final authenticated publication is available online at https://doi.org/10.1007/978-3-030-50371-0_51. See v1 for the original, extended preprint. 14 pages, 7 figures

R2 v1 2026-06-23T12:29:53.346Z