ACM Home Page
Please provide us with feedback. Feedback
An efficient overloaded implementation of forward mode automatic differentiation in MATLAB
Full text PdfPdf (449 KB)
Source ACM Transactions on Mathematical Software (TOMS) archive
Volume 32 ,  Issue 2  (June 2006) table of contents
Pages: 195 - 222  
Year of Publication: 2006
ISSN:0098-3500
Author
Shaun A. Forth  Cranfield University, Swindon, UK
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 21,   Downloads (12 Months): 146,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1141885.1141888
What is a DOI?

ABSTRACT

The Mad package described here facilitates the evaluation of first derivatives of multidimensional functions that are defined by computer codes written in MATLAB. The underlying algorithm is the well-known forward mode of automatic differentiation implemented via operator overloading on variables of the class fmad. The main distinguishing feature of this MATLAB implementation is the separation of the linear combination of derivative vectors into a separate derivative vector class derivvec. This allows for the straightforward performance optimization of the overall package. Additionally, by internally using a matrix (two-dimensional) representation of arbitrary dimension directional derivatives, we may utilize MATLAB's sparse matrix class to propagate sparse directional derivatives for MATLAB code which uses arbitrary dimension arrays. On several examples, the package is shown to be more efficient than Verma's ADMAT package [Verma 1998a].


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Berz, M., Bischof, C., Corliss, G., and Griewank, A., Eds. 1996. Computational Differentiation: Techniques, Applications, and Tools. SIAM, Philadelphia, PA.
 
2
 
3
Bischof, C., Lang, B., and Vehreschild, A. 2003. Automatic differentiation for MATLAB programs. In Proceedings in Applied Mathematics and Mechanics 2, 1 John Wiley, 50--53.
 
4
 
5
Bischof, C. H., Khademi, P. M., Bouaricha, A., and Carle, A. 1996. Efficient computations of gradients and Jacobians by dynamic exploitation of sparsity in automatic differentiation. Optimiz. Meth. Softw. 7, 1--39.
 
6
 
7
 
8
Bradshaw, D. 2004. The use of numerical optimisation to determine on-limit handling behaviour of race cars. Ph.D. thesis, School of Engineering, Department of Automotive, Mechanical and Structural Engineering, Cranfield University, Bedfordshire, UK.
 
9
Coleman, T. F. and Verma, A. 1996. Structure and efficient Jacobian calculation. In Computational Differentiation: Techniques, Applications, and Tools, M. Berz, C. Bischof, G. Corliss, and A. Griewank, Eds. SIAM, Philadelphia, PA, 149--159.
 
10
 
11
12
 
13
 
14
FastOpt 2003. Transformation of Algorithms in Fortran, Manual, Draft Version, TAF Version 1.6. FastOpt. http://www.FastOpt.com/taf.
 
15
Forth, S. A. 2001. User guide for MAD---a Matlab automatic differentiation toolbox. Applied Mathematics and Operational Research Report AMOR 2001/5 (June) Cranfield University (RMCS Shrivenham), Swindon, UK.
 
16
Forth, S. A. and Edvall, M. M. 2004. User Guide for MAD - MATLAB Automatic Differentiation Toolbox TOMLAB/MAD, Version 1.1 The Forward Mode. TOMLAB Optimization Inc., San Diego, CA. http://tomlab.biz/products/mad.
 
17
Forth, S. A. and Ketzscher, R. 2004. High-level interfaces for the MAD (Matlab Automatic Differentiation) package. In 4th European Congress on Computational Methods in Applied Sciences and Engineering (ECCOMAS), P. Neittaanmäki, T. Rossi, S. Korotov, E. Oñate, J. Périaux, and D. Knörzer, Eds. Vol. 2. University of Jyväskylä, Department of Mathematical Information Technology, Finland.
18
 
19
 
20
21
 
22
Griewank, A. and Reese, S. 1991. On the calculation of Jacobian matrices by the Markowitz rule. In Automatic Differentiation of Algorithms: Theory, Implementation, and Application, A. Griewank and G. F. Corliss, Eds. SIAM, Philadelphia, PA, 126--135.
 
23
Hairer, E. and Wanner, G. 1991. Ordinary Differential Equations II, Stiff and Differential-Algebraic Problems. Springer-Verlag, Berlin, Germany.
 
24
Holmström, K. and Edvall, M. M. January 2004. Chapter 19: The TOMLAB optimization environment. In Modeling Languages in Mathematical Optimization, J. Kallrath, Ed. APPLIED OPTIMIZATION 88. Kluwer Academic Publishers, Boston, MA.
 
25
Holmström, K., Göran, A. O., and Edvall, M. M. 2004. User's guide for TOMLAB 4.3. TOMLAB Optimization Inc., San Diego, CA. http://www.tomlab.biz.
 
26
Kharche, R. V. 2004. Source transformation for automatic differentiation in MATLAB. M.S. thesis, Cranfield University (Shrivenham Campus), Applied Mathematics & Operational Research Group, Engineering Systems Department (RMCS Shrivenham), Swindon, UK.
 
27
Naumann, U. 1999. Efficient calculation of Jacobian matrices by optimized application of the chain rule to computational graphs. Ph.D. thesis, Technical University of Dresden.
 
28
 
29
Nocedal, J. and Wright, S. J. 1999. Numerical Optimization. Operational Research Series. Springer-Verlag, New York, NY.
 
30
Pryce, J. D. and Reid, J. K. 1998. ADO1, a Fortran 90 code for automatic differentiation. Tech. Rep. RAL-TR-1998-057, Rutherford Appleton Laboratory, Chilton, UK. ftp://matisa.cc.rl.ac.uk/ pub/reports/prRAL98057.ps.gz.
 
31
 
32
Ringrose, T. J. and Forth, S. A. 2002. Improved fitting of constrained multivariate regression models using automatic differentiation. In Proceedings in Computational Statistics, 15th Symposium (COMPSTAT'02), W. Hardle and B. Ronz, Eds. Physica-Verlag, Berlin, Germany, 383--388.
 
33
Ringrose, T. J. and Forth, S. A. 2005. Simplifying multivariate second order response surfaces by fitting constrained models using automatic differentiation. Technometrics 47, 3, 249--259.
 
34
35
 
36
 
37
Tapenade 2003. The TAPENADE tutorial. http://www-sop.inria.fr/tropics/tapenade/ tutorial.html.
 
38
The MathWorks Inc. 2003. Using Matlab, Version 6. The MathWorks Inc., MA.
 
39
The Mathworks Inc. Sept 2003. Optimization Toolbox User's Guide, Version 2. The Mathworks Inc., Natick MA.
 
40
Vehreschild, A. 2001. Semantic augmentation of MATLAB programs to compute derivatives. Diploma Thesis, Institute for Scientific Computing, Aachen University, Germany.
 
41
Verma, A. 1998a. ADMAT: Automatic differentiation in MATLAB using object oriented methods. In SIAM Interdisciplinary Workshop on Object Oriented Methods for Interoperability. SIAM, National Science Foundation, Yorktown Heights, New York, 174--183.
 
42