Implementation of sparse forward mode automatic differentiation with application to electromagnetic shape optimization

In this paper, we present the details of a simple lightweight implementation of the so-called sparse forward mode automatic differentiation (AD) in the C++programming language. Our implementation and the well-known ADOL-C tool (which utilizes taping and compression techniques) are used to compute Jacobian matrices of two nonlinear systems of equations from the MINPACK-2 test problem collection. Timings of the computations are presented and discussed. Moreover, we perform the shape sensitivity analysis of a time-harmonic Maxwell equation solver using our implementation and the tapeless mode of ADOL-C, which implements the dense forward mode AD. It is shown that the use of the sparse forward mode can save computation time even though the total number of independent variables in this example is quite small. Finally, numerical solution of an electromagnetic shape optimization problem is presented.

[1]  Andreas Griewank,et al.  On the unconstrained optimization of partially separable functions , 1982 .

[2]  Sergio Pissanetzky,et al.  Sparse Matrix Technology , 1984 .

[3]  P. Yla-Oijala,et al.  Electromagnetic Sensitivity Analysis and Shape Optimization Using Method of Moments and Automatic Differentiation , 2009, IEEE Transactions on Antennas and Propagation.

[4]  CarleAlan,et al.  ADIFOR-Generating Derivative Codes from Fortran Programs , 1992 .

[5]  Olivier Pironneau,et al.  Automatic differentiation in C++ using expression templates and. application to a flow control problem , 2001 .

[6]  P. Yla-Oijala,et al.  Calculation of CFIE impedance matrix elements with RWG and n/spl times/RWG functions , 2003 .

[7]  Shaun A. Forth An efficient overloaded implementation of forward mode automatic differentiation in MATLAB , 2006, TOMS.

[8]  R. Safian,et al.  Accelerated gradient based optimization using adjoint sensitivities , 2004, IEEE Transactions on Antennas and Propagation.

[9]  Alex Pothen,et al.  What Color Is Your Jacobian? Graph Coloring for Computing Derivatives , 2005, SIAM Rev..

[10]  John D. Pryce,et al.  Fast Automatic Differentiation Jacobians by Compact LU Factorization , 2008, SIAM J. Sci. Comput..

[11]  Guoliang Xue,et al.  The MINPACK-2 test problem collection , 1992 .

[12]  Andreas Griewank,et al.  Evaluating derivatives - principles and techniques of algorithmic differentiation, Second Edition , 2000, Frontiers in applied mathematics.

[13]  Raino A. E. Mäkinen,et al.  Introduction to shape optimization - theory, approximation, and computation , 2003, Advances in design and control.

[14]  Andreas Griewank,et al.  Algorithm 755: ADOL-C: a package for the automatic differentiation of algorithms written in C/C++ , 1996, TOMS.

[15]  S. Glavic,et al.  Feasible adjoint sensitivity technique for EM design optimization , 2002, 2002 IEEE MTT-S International Microwave Symposium Digest (Cat. No.02CH37278).

[16]  H. Yagi,et al.  Beam transmission of ultra short waves , 1928, Proceedings of the IEEE.

[17]  C. Bischof,et al.  Efficient computation of gradients and Jacobians by dynamic exploitation of sparsity in automatic differentiation , 1996 .

[18]  D. Wilton,et al.  Electromagnetic scattering by surfaces of arbitrary shape , 1980 .

[19]  Christian Bischof,et al.  Adifor 2.0: automatic differentiation of Fortran 77 programs , 1996 .

[20]  Josse De Baerdemaeker,et al.  Automatic Differentiation for Solving Nonlinear Partial Differential Equations: An Efficient Operator Overloading Approach , 2002, Numerical Algorithms.