Adept (C++ library)
Adept is a combined automatic differentiation and array software library for the C++ programming language. The automatic differentiation capability facilitates the development of applications involving mathematical optimization. Adept is notable for having applied the template metaprogramming technique of expression templates to speed-up the differentiation of mathematical statements. Along with the efficient way that it stores the differential information, this makes it significantly faster than most other C++ tools that provide similar functionality (e.g. ADOL-C, CppAD and FADBAD), although comparable performance has been reported for Stan and in some cases Sacado. Differentiation may be in forward mode, reverse mode (for use with a Quasi-Newton minimization scheme), or the full Jacobian matrix may be computed (for use with the Levenberg-Marquardt or Gauss-Newton minimization schemes).
Developer(s) | Robin Hogan |
---|---|
Stable release | 2.1
/ 5 February 2021 |
Repository | |
Written in | C++ |
Operating system | Cross-platform |
Type | Library |
License | Apache 2.0 (open source) |
Website | www |
Applications of Adept have included financial modeling, computational fluid dynamics, physical chemistry, parameter estimation and meteorology. Adept is free software distributed under the Apache License.