ADMAT 2.0 is designed to help a MATLAB® user compute first and second derivatives and related structures efficiently, accurately, and automatically. This toolbox employs many sophisticated techniques such as exploiting sparsity and structure to achieve high efficiency in computing derivative structures including gradients, Jacobians, and Hessians. Moreover, ADMAT 2.0 can directly calculate Newton steps for nonlinear systems, often with great efficiency.
Many scientific computing tasks require the repeated computation of derivatives. Hand-coding of derivative functions can be tedious, complex, and error-prone. Moreover, the computation of first and second derivatives, and sometimes the Newton step, is often a dominant step in a scientific computing code. Derivative approximations such as finite-differencing involve additional errors and heuristic choice of parameters.
A MATLAB user needs only to provide MATLAB code that evaluates a smooth nonlinear objective function at a given point. On request, and when appropriate, ADMAT 2.0 will evaluate the Jacobian matrix (for which the gradient is a special case), the Hessian matrix, and possibly the Newton step in addition to the evaluation of the objective function at the given point. There is no need for the user to provide code for derivative calculation or an approximation scheme.