Advertisement

A System for Interfacing MATLAB with External Software Geared Toward Automatic Differentiation

  • H. Martin Bücker
  • Atya Elsheikh
  • Andre Vehreschild
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4151)

Abstract

MATLAB is commonly considered to be an attractive, high-productivity programming environment by many computational scientists and engineers. So-called MEX-files are dynamically linked subroutines produced from, say, C or Fortran source code that, when compiled, can be run directly from within MATLAB as if they were MATLAB built-in functions. When applying automatic differentiation to a MATLAB program that calls external software via MEX-files, code is mechanically generated for the MATLAB part and for the external part in two separate phases. These resulting code fragments need to be put together via new MEX-files. This work introduces a novel software tool called automatic differentiation mexfunction generator that automatically generates MEX interface functions for gluing these automatically generated code fragments.

Keywords

Code Fragment Storage Scheme Forward Mode Derivative Information Derivative Data 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Moler, C.B.: Numerical Computing with MATLAB. SIAM, Philadelphia (2004)MATHGoogle Scholar
  2. 2.
    Rall, L.B.: Automatic Differentiation: Techniques and Applications. LNCS, vol. 120. Springer, Heidelberg (1981)Google Scholar
  3. 3.
    Griewank, A.: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. SIAM, Philadelphia (2000)MATHGoogle Scholar
  4. 4.
    Bischof, C.H., Roh, L., Mauer, A.: ADIC — An extensible automatic differentiation tool for ANSI-C. Software: Practice and Experience 27(12), 1427–1456 (1997)CrossRefGoogle Scholar
  5. 5.
    Bischof, C., Carle, A., Corliss, G., Griewank, A., Hovland, P.: ADIFOR: Generating derivative codes from Fortran programs. Scientific Programming 1(1), 11–29 (1992)Google Scholar
  6. 6.
    Bischof, C., Carle, A., Khademi, P., Mauer, A.: ADIFOR 2.0: Automatic Differentiation of Fortran 77 Programs. IEEE Computational Science & Engineering 3(3), 18–32 (1996)CrossRefGoogle Scholar
  7. 7.
    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: Proceedings of the Second IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2002), pp. 65–72. IEEE Computer Society, Los Alamitos (2002)CrossRefGoogle Scholar
  8. 8.
    The MathWorks, Inc. MATLAB, The External Interface Guide, Natick, Mass (2005)Google Scholar
  9. 9.
    Bischof, C.H., Bücker, H.M., Lang, B.: Automatic Differentiation for Computational Finance. In: Kontoghiorghes, E.J., Rustem, B., Siokos, S. (eds.) Computational Methods in Decision-Making, Economics and Finance. Applied Optimization, vol. 74, pp. 297–310. Kluwer Academic Publishers, Dordrecht (2002)Google Scholar
  10. 10.
    Bischof, C.H., Bücker, H.M., Lang, B., Rasch, A., Risch, J.W.: Extending the functionality of the general-purpose finite element package SEPRAN by automatic differentiation. International Journal for Numerical Methods in Engineering 58(14), 2225–2238 (2003)MATHCrossRefGoogle Scholar
  11. 11.
    Slusanschi, E., Bücker, H.M.: On the Limits of Current Implementations of Algorithmic Differentiation. In: Petcu, D., Negru, V., Zaharie, D., Jebelean, T. (eds.) Proceedings of the 6th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, SYNASC 2004, Timisoara, Romania, September  26–30, 2004, pp. 295–306. Timisoara, MIRTON (2004)Google Scholar
  12. 12.
    Griewank, A., Corliss, G.: Automatic Differentiation of Algorithms. SIAM, Philadelphia (1991)MATHGoogle Scholar
  13. 13.
    Berz, M., Bischof, C., Corliss, G., Griewank, A. (eds.): Computational Differentiation: Techniques, Applications, and Tools. SIAM, Philadelphia (1996)MATHGoogle Scholar
  14. 14.
    Corliss, G., Faure, C., Griewank, A., Hascoët, L., Naumann, U. (eds.): Automatic Differentiation of Algorithms: From Simulation to Optimization. Springer, New York (2002)MATHGoogle Scholar
  15. 15.
    Bücker, H.M., Corliss, G.F., Hovland, P.D., Naumann, U., Norris, B.: A Concurrent Pascal Compiler for Minicomputers. Lecture Notes in Computational Science and Engineering, vol. 50. Springer, New York (1977)Google Scholar
  16. 16.
    Keady, G., Laine, M.: Using genmex – examples of calls to NAG (unpublished manuscript, 1995)Google Scholar
  17. 17.
    Hawkes, E., Keady, G.: Two more links to NAG numerics involving CA systems. In: Wester, M., Steinberg, S., Jahn, M. (eds.) Electronic Proceedings of the 1st International IMACS Conference on Applications of Computer Algebra. Albuquerque, New Mexico, USA, May 16–19 (1995)Google Scholar
  18. 18.
    Makdissi, A.: H2MEX gateway generator (2006), A program available on the internet at: http://yazdiet.club.fr/h2mex.html
  19. 19.
    Kalkuhl, M., Wiechert, W., Bücker, H.M., Vehreschild, A.: High Precision Satellite Orbit Simulation: A Test Bench for Automatic Differentiation in MATLAB. In: Hülsemann, F., Kowarschik, M., Rüde, U. (eds.) Proceedings of the Eighteenth Symposium on Simulation Techniques, ASIM 2005, September 12–15, 2005. Frontiers in Simulation, vol. 15, pp. 428–433. SCS Publishing House, Erlangen (2005)Google Scholar
  20. 20.
    Hedin, A.E.: MSIS–86 thermospheric model. Journal of Geophysical Research 92(A5), 4649–4662 (1987)CrossRefGoogle Scholar
  21. 21.
    Hedin, A.E., Thuillier, G.: Comparison of OGO 6 measured thermospheric temperatures with the MSIS–86 empirical model. Journal of Geophysical Research 93(A6), 5965–5971 (1988)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • H. Martin Bücker
    • 1
  • Atya Elsheikh
    • 2
  • Andre Vehreschild
    • 1
  1. 1.Institute for Scientific ComputingRWTH Aachen UniversityAachenGermany
  2. 2.Department of Simulation, Faculty 11/12University of SiegenSiegenGermany

Personalised recommendations