ADOLC
Summary:
The package ADOLC facilitates the evaluation of first and higher derivatives of vector functions that are defined by computer programs written in C or C++. The resulting derivative evaluation routines may be called from C/C++, Fortran, or any other language that can be linked with C. ADOLC is distributed by the COINOR Foundation with the Common Public License CPL or the GNU General Public License GPL.
URL: https://projects.coinor.org/ADOLC
Developers:
Mode: 
Forward Reverse 
Method: 
Operator overloading 
Supported Language: 
C/C++ R python 
Reference:
A. Walther, A. Griewank
Getting started with ADOLC
Combinatorial Scientific Computing, ChapmanHall CRC Computational Science, 2012
Getting started with ADOLC
Combinatorial Scientific Computing, ChapmanHall CRC Computational Science, 2012
Features:
ADOLC uses the operator overloading concept to compute in forward and reverse mode of automatic differentiation:
 derivatives of any order
 onesided derivatives in nonsmooth cases (e.g. evaluation of fabs)
For that purpose, scalar as well as vector modes are implemented.
Furthermore, ADOLC provides drivers for the most common differentiation tasks, e.g.
 gradient(....), jacobian(...), hessian(...)
 jac_vec(...), vec_jac(...), hess_vec(...)
Additionally, ADOLC can exploit the sparsity of derivative matrices by
 calculating the sparsity pattern of Jacobians and Hessians
 calculating compressed representations of sparse Jacobians and Hessians
Furthermore, ADOLC provides
 full higherorder derivative tensors
 several special drivers, e.g. for ODEs
 advanced automatic differentiation, i.e.,
 optimal checkpointing for time integrations
 adapted automatic differentiation for fixpoint iterations
 parallel automatic differentiation for OpenMP parallel programs
Supported Platforms:
 Unix/Linux
 Mac
Licensing: open source
Entries in our publication database that actually use ADOLC in the numerical experiments: 81
The following diagram shows these entries versus the year of the publication.
























'92  '96  '98  '99  '00  '01  '02  '03  '04  '05  '06  '07  '08  '09  '10  '11  '12  '13  '14  '15  '18  '19  
Year 
Selected Applications:
 Intensity Modulated Radiation Therapy
 Optimization of Large Electrical Power Systems
 A Trust Region SQP Algorithm
 Shape Optimization in Aerodynamics
 Circuit Simulation
 Design of Nonlinear Controllers
Related Research Groups: