Differentiation, i.e. finding derivatives, has long been one of the key operations in computation related to modern science and engineering. In optimization and numerical differential equations, finding the extrema will require differentiation. There are many important applications of automatic differentiation in optimization, machine learning, and numerical methods (e.g., time integration, root-finding).

This documentation introduces DeriveAlive, a software library that uses the concept of automatic differentiation to solve differentiation problems in scientific computing. Additional features of a root finding suite, an optimization suite and a quadratic spline suite are also listed in this documentation.