Features
Operator overloading is used to store the operation sequence
corresponding to a python algorithm.
The operation sequence can be evaluated
to obtain new function values or derivatives of arbitrary order.
In addition, multiple levels of AD are supported.
This means that AD derivatives can be used in the definition of a function
which in turn can be differentiated using AD.
See whats_new_12
for a list of recent extensions and bug fixes.