Skip to main content

Coping with a Variable Number of Arguments when Transforming MATLAB Programs

  • Conference paper
Advances in Automatic Differentiation

Part of the book series: Lecture Notes in Computational Science and Engineering ((LNCSE,volume 64))

  • 2035 Accesses

Summary

The programming language MATLAB supports default values for arguments as well as argument lists of variable length. This work analyzes the effects of these two language concepts on the design of source transformation tools for automatic differentiation. The term automatic differentiation refers to a collection of techniques to augment a given computer code with statements for the computation of user-specified derivatives. The focus here is on the source transformation tool ADiMat implementing automatic differentiation for programs written in MATLAB. The approach taken by ADiMat to cope with default arguments and argument lists of variable length is described. Implementation techniques and remaining open questions are discussed.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 139.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 179.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Berz, M., Bischof, C., Corliss, G., Griewank, A. (eds.): Computational Differentiation: Techniques, Applications, and Tools. SIAM, Philadelphia (1996)

    MATH  Google Scholar 

  2. Bischof, C.H., Bücker, H.M., Lang, B., Rasch, A., Vehreschild, A.: Combining source transformation and operator overloading techniques to compute derivatives for MATLAB programs. In: Proc. 2nd IEEE Int. Workshop Source Code Analysis and Manipulation (SCAM 2002), pp. 65–72. IEEE Computer Society, Los Alamitos, CA, USA (2002)

    Chapter  Google Scholar 

  3. Bücker, H.M., Corliss, G.F., Hovland, P.D., Naumann, U., Norris, B. (eds.): Automatic Differentiation: Applications, Theory, and Implementations, Lecture Notes in Computational Science and Engineering, vol. 50. Springer, New York (2005)

    Google Scholar 

  4. Coleman, T.F., Verma, A.: ADMIT-1: Automatic differentiation and MATLAB interface toolbox. ACM Transactions on Mathematical Software 26(1), 150–175 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  5. Corliss, G., Faure, C., Griewank, A., Hascoët, L., Naumann, U. (eds.): Automatic Differentiation of Algorithms: From Simulation to Optimization. Springer, New York (2002)

    MATH  Google Scholar 

  6. Forth, S.A.: An efficient overloaded implementation of forward mode automatic differentiation in MATLAB. ACM Trans. on Mathematical Software 32(2), 195–222 (2006)

    Article  MathSciNet  Google Scholar 

  7. Griewank, A.: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. SIAM, Philadelphia (2000)

    MATH  Google Scholar 

  8. Griewank, A., Corliss, G.: Automatic Differentiation of Algorithms. SIAM, Philadelphia (1991)

    MATH  Google Scholar 

  9. Harbison, S.P., Steele Jr., G.L.: C, a reference manual (4th ed.). Prentice-Hall, Inc., Upper Saddle River, NJ, USA (1995)

    Google Scholar 

  10. Kharche, R.V., Forth, S.A.: Source transformation for MATLAB automatic differentiation. In: V.N. Alexandrov, G.D. van Albada, P.M.A. Sloot, J. Dongarra (eds.) Computational Science – ICCS 2006, LNCS, vol. 3994, pp. 558–565. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  11. Moler, C.B.: Numerical Computing with MATLAB. SIAM, Philadelphia (2004)

    MATH  Google Scholar 

  12. Rall, L.B.: Automatic Differentiation: Techniques and Applications, Lecture Notes in Computer Science, vol. 120. Springer-Verlag, Berlin (1981)

    MATH  Google Scholar 

  13. Stroustrup, B.: The C++ Programming Language. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bücker, H.M., Vehreschild, A. (2008). Coping with a Variable Number of Arguments when Transforming MATLAB Programs. In: Bischof, C.H., Bücker, H.M., Hovland, P., Naumann, U., Utke, J. (eds) Advances in Automatic Differentiation. Lecture Notes in Computational Science and Engineering, vol 64. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68942-3_19

Download citation

Publish with us

Policies and ethics