Toivanen, Jukka I.; Mäkinen, Raino A. E. Implementation of sparse forward mode automatic differentiation with application to electromagnetic shape optimization. (English) Zbl 1228.65031 Optim. Methods Softw. 26, No. 4-5, 601-616 (2011). Summary: 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. Cited in 1 Document MSC: 65D25 Numerical differentiation 65Y20 Complexity and performance of numerical algorithms 49Q10 Optimization of shapes other than minimal surfaces 35Q61 Maxwell equations Keywords:automatic differentiation; shape sensitivity analysis; shape optimization; numerical examples; Jacobian matrices; Maxwell equation Software:FastDer++; MINPACK-2; ve08; ADOL-C; ADIFOR; MAD PDFBibTeX XMLCite \textit{J. I. Toivanen} and \textit{R. A. E. Mäkinen}, Optim. Methods Softw. 26, No. 4--5, 601--616 (2011; Zbl 1228.65031) Full Text: DOI Link References: [1] DOI: 10.1007/s007910000048 · Zbl 0966.68029 · doi:10.1007/s007910000048 [2] Bischof C., Sci. Program. 1 pp 11– (1992) [3] DOI: 10.1080/10556789608805642 · Zbl 0879.68025 · doi:10.1080/10556789608805642 [4] DOI: 10.1109/99.537089 · Zbl 05092146 · doi:10.1109/99.537089 [5] DOI: 10.1145/1141885.1141888 · Zbl 1365.65053 · doi:10.1145/1141885.1141888 [6] DOI: 10.1109/TMTT.2002.805131 · doi:10.1109/TMTT.2002.805131 [7] DOI: 10.1137/S0036144504444711 · Zbl 1076.05034 · doi:10.1137/S0036144504444711 [8] Griewank A., Nonlinear Optimization 1981 pp 301– (1982) · Zbl 0431.49036 [9] Griewank A., Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, 2. ed. (2008) · Zbl 1159.65026 [10] DOI: 10.1137/1.9780898718690 · Zbl 1020.74001 · doi:10.1137/1.9780898718690 [11] DOI: 10.1109/TAP.2004.832313 · doi:10.1109/TAP.2004.832313 [12] Pissanetzky S., Sparse Matrix Technology (1984) · Zbl 0536.65019 [13] DOI: 10.1137/050644847 · Zbl 1167.65374 · doi:10.1137/050644847 [14] DOI: 10.1109/TAP.1982.1142818 · doi:10.1109/TAP.1982.1142818 [15] DOI: 10.1023/A:1020103610525 · Zbl 1008.65087 · doi:10.1023/A:1020103610525 [16] DOI: 10.1109/TAP.2008.2009657 · Zbl 1369.78951 · doi:10.1109/TAP.2008.2009657 [17] DOI: 10.1109/JRPROC.1928.221464 · doi:10.1109/JRPROC.1928.221464 [18] DOI: 10.1109/TAP.2003.814745 · Zbl 1368.78124 · doi:10.1109/TAP.2003.814745 This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.