An efficient method for the numerical evaluation of partial derivatives of arbitrary order
ACM Transactions on Mathematical Software (TOMS)
Computing multivariable Taylor series to arbitrary order
APL '95 Proceedings of the international conference on Applied programming languages
Evaluating higher derivative tensors by forward propagation of univariate Taylor series
Mathematics of Computation
Automatic differentiation of algorithms: from simulation to optimization
Automatic differentiation of algorithms: from simulation to optimization
Optimal sizing of industrial structural mechanics problems using AD
Automatic differentiation of algorithms
Application of AD to a family of periodic functions
Automatic differentiation of algorithms
ACM Transactions on Mathematical Software (TOMS)
An efficient overloaded implementation of forward mode automatic differentiation in MATLAB
ACM Transactions on Mathematical Software (TOMS)
Calculus Early Transcendentals Single Variable
Calculus Early Transcendentals Single Variable
Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation
Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation
Advances in Automatic Differentiation
Advances in Automatic Differentiation
ModSpec: an open, flexible specification framework for multi-domain device modelling
Proceedings of the International Conference on Computer-Aided Design
Proceedings of the 49th Annual Design Automation Conference
An efficient overloaded method for computing derivatives of mathematical functions in MATLAB
ACM Transactions on Mathematical Software (TOMS)
Hi-index | 0.00 |
An introduction to both automatic differentiation and object-oriented programming can enrich a numerical analysis course that typically incorporates numerical differentiation and basic MATLAB computation. Automatic differentiation consists of exact algorithms on floating-point arguments. This implementation overloads standard elementary operators and functions in MATLAB with a derivative rule in addition to the function value; for example, $\sin u$ will also compute $(\cos u)\ast u^{\prime}$, where $u$ and $u^{\prime }$ are numerical values. These methods are mostly one-line programs that operate on a class of value-and-derivative objects, providing a simple example of object-oriented programming in MATLAB using the new (as of release 2008a) class definition structure. The resulting powerful tool computes derivative values and multivariable gradients, and is applied to Newton's method for root-finding in both single and multivariable settings. To compute higher-order derivatives of a single-variable function, another class of series objects keeps Taylor polynomial coefficients up to some order. Overloading multiplication on series objects is a combination (discrete convolution) of coefficients. This idea leads to algorithms for other operations and functions on series objects. A survey of more advanced topics in automatic differentiation includes an introduction to the reverse mode (our implementation is forward mode) and considerations in arbitrary-order multivariable series computation.