Boost logo

Boost :

Subject: [boost] New library proposal: Autodiff
From: Matt Pulver (mpulver_at_[hidden])
Date: 2018-12-18 16:37:35


An automatic differentiation
<> C++ library -
Autodiff - is released under the Boost License and is proposed for
inclusion into Boost:

   - Github:
   - Boost Library Incubator:


   - Instances of autodiff variables satisfy Boost's Conceptual
   Requirements for Real Number Types
   In fact the class and function template definitions are based upon the
   tables in this page.
   - No use of dynamic memory. The only member variable is a std::array<>.
   - Consistent with Boost's type promotion templates. When
   adding/multiplying/etc. variables of differing dimension number and sizes,
   the resulting data type is calculated at compile-time.
   - Single header-only file.
   - Intuitive and minimal API.


   - C++17 compiler that supports constexpr if statements. There are a fair
   amount of calculations done at compile-time which would require messy
   SFINAE hacks to make this C++14-compatible.


   - A github build matrix that also includes clang and MSVC.
   - Additional documentation, including the mathematics.

Feedback and endorsements for Boost Library inclusion are welcome and

Best regards,

Boost list run by bdawes at, gregod at, cpdaniel at, john at