Software Open Access
Mathematical algorithms in the field of optimization often require the simultaneous computation of a function and its derivative. The derivative of many functions can be found automatically, a process referred to as automatic differentiation. Dual numbers, close relatives of the complex numbers, are of particular use in automatic differentiation. This library provides an extremely fast implementation of dual numbers for C++, ``duals::dual<>``, which, when replacing scalar types, can be used to automatically calculate a derivative.