Java Automatic Differentiation Tool Using Virtual Operator Overloading

  • Phuong Pham-QuangEmail author
  • Benoit Delinchant
Conference paper
Part of the Lecture Notes in Computational Science and Engineering book series (LNCSE, volume 87)


AD tools are available and mature for several languages such as C or Fortran, but are just emerging in object oriented language such as Java. In this paper, a Java automatic differentiation tool called JAP is presented which has been defined and developed with specific requirements for the design of engineering systems using optimization. This paper presents JAP requirements and the implementation architecture. It also compares JAP performance to ADOL-C in forward mode on a magnetic MEMS model. JAP has been successfully used on several system optimizations in the field of electromagnetic MEMS.


Java automatic differentiation Source transformation Operator overloading Forward mode Optimization 


  1. 1.
    Delinchant, B., Wurtz, F., Atienza, E.: Reducing sensitivity analysis time-cost of compound model. IEEE, Transactions on Magnetics 40(2) (2004)Google Scholar
  2. 2.
    Enciu, P., Wurtz, F., Gerbaud, L., Delinchant, B.: Automatic differentiation for electromagnetic models used in optimization. COMPEL 28(5) (2009)Google Scholar
  3. 3.
    Fischer, V., Gerbaud, L., Wurtz, F.: Using automatic code differentiation for optimization. IEEE, Transactions on Magnetics 41(5) (2005)Google Scholar
  4. 4.
    Griewank, A., Juedes, D., Mitev, H., Utke, J., Vogel, O., Walther, A.: ADOL-C: A package for the automatic differentiation of algorithms written in C/C++. Tech. rep., Institute of Scientific Computing, Technical University Dresden (1999). Updated version of the paper published in ACM Trans. Math. Software 22, 1996, 131–167Google Scholar
  5. 5.
    Janssen, J., Paulides, J., Lomonova, E., Delinchant, B., Yonnet, J.: Design study on magnetic springs with low resonance frequency. In: LDIA 2011. Eindhoven, The Netherlands (2011)Google Scholar
  6. 6.
    Kowarz, A.: Advanced concepts for automatic differentiation based on operator overloading. Ph.D. thesis, TU Dresden (2007)Google Scholar
  7. 7.
    Pham-Quang, P., Delinchant, B., Coulomb, J.L., du Peloux, B.: Semi-analytical magneto-mechanic coupling with contact analysis for MEMS/NEMS. IEEE, Transactions on Magnetics 47(5) (2011)Google Scholar
  8. 8.
    Pham-Quang, P., Delinchant, B., Ilie, C., Slusanschi, E., Coulomb, J., du Peloux, B.: Mixing techniques to compute derivatives of semi-numerical models: Application to magnetic nano switch optimization. In: Compumag 2011. Sydney, Australia (2011)Google Scholar
  9. 9.
    Skjelvic, R.: Automatic differentiation in Java. Ph.D. thesis, University of Bergen, Norway (2001)Google Scholar
  10. 10.
    Slusanschi, E.: Algorithmic differentiation of Java programs. Ph.D. thesis, RWTH Aachen University (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  1. 1.CEDRAT S.A.Meylan CedexFrance
  2. 2.Grenoble Electrical Engineering LaboratorySaint-Martin d’HèresFrance

Personalised recommendations