English

Seasons's Greetings by AD

Computational Engineering, Finance, and Science 2025-11-18 v2

Abstract

We use Algorithmic Differentiation (AD) to implement type-generic tangent and adjoint versions of y=i=0n1x2ix2i+1 y=\sum_{i=0}^{n-1} x_{2 i} \cdot x_{2 i+1} in C++. We run an instantiation for char-arithmetic and we print the gradient at (101 77 114 114 32 121 109 88 115 97)T(101~77~114~114~32~121~109~88~115~97)^T to std::cout, yielding the output ``Merry Xmas''. Similar instantiations of type-generic second-order tangent and second-order adjoint versions of y=16i=0n1xi3 y=\frac{1}{6} \cdot \sum_{i=0}^{n-1} x^3_{i} yield ``Happy 2026'' at (72 97 112 112 121 32 50 48 50 54)T.(72~97~112~112~121~32~50~48~50~54)^T. Prepend a sufficiently large number of zeros to the input vector to explore the varying run times of the different derivative codes. The entire source code can be found on https://github.com/un110076/SeasonsGreetings.

Cite

@article{arxiv.2402.09409,
  title  = {Seasons's Greetings by AD},
  author = {Uwe Naumann},
  journal= {arXiv preprint arXiv:2402.09409},
  year   = {2025}
}

Comments

Code available on github

R2 v1 2026-06-28T14:48:45.926Z