{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,8,22]],"date-time":"2026-08-22T07:25:37Z","timestamp":1787383537942,"version":"build-2736575974"},"reference-count":30,"publisher":"Society for Industrial & Applied Mathematics (SIAM)","issue":"4","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["SIAM J. Sci. Comput."],"published-print":{"date-parts":[[1997,7]]},"abstract":"<jats:p>Developing code for computing the first- and higher-order derivatives of a function by hand can be very time consuming and is prone to errors. Automatic differentiation has proven capable of producing derivative codes with very little effort on the part of the user. Automatic differentiation avoids the truncation errors characteristic of divided difference approximations. However, the derivative code produced by automatic differentiation can be significantly less efficient than one produced by hand. This shortcoming may be overcome by utilizing insight into the high-level structure of a computation. This paper focuses on how to take advantage of the fact that the number of variables passed between subroutines frequently is small compared with the number of variables with respect to which one wishes to differentiate. Such an \"interface contraction,\" coupled with the associativity of the chain rule for differentiation, allows one to apply automatic differentiation in a more judicious fashion, resulting in much more efficient code for the computation of derivatives. A case study involving the ADIFOR (Automatic Differentiation of Fortran) tool and a program for maximizing a logistic-normal likelihood function developed from a problem in nutritional epidemiology is examined, and performance figures are presented.<\/jats:p>","DOI":"10.1137\/s1064827595281800","type":"journal-article","created":{"date-parts":[[2003,6,11]],"date-time":"2003-06-11T11:12:06Z","timestamp":1055329926000},"page":"1056-1066","source":"Crossref","is-referenced-by-count":26,"title":["Efficient Derivative Codes through Automatic Differentiation and Interface Contraction: An Application in Biostatistics"],"prefix":"10.1137","volume":"18","author":[{"given":"P.","family":"Hovland","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"C.","family":"Bischof","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"D.","family":"Spiegelman","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"M.","family":"Casella","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"351","published-online":{"date-parts":[[2006,7,25]]},"reference":[{"key":"R1","doi-asserted-by":"publisher","DOI":"10.1137\/0915020"},{"key":"R2","doi-asserted-by":"publisher","DOI":"10.1155\/1992\/717832"},{"key":"R3","unstructured":"C. Bischof, A. Carle, P. Khademi, and A. Mauer,\n                      The ADIFOR 2.0 system for the automatic differentiation of Fortran 77 programs\n                      , 1994."},{"key":"R3","unstructured":"Preprint MCS\u2010P481\u20101194, Mathematics and Computer Science Division, Argonne National Laboratory, and CRPC\u2010TR94491, Center for Research onParallel Computation, Rice University."},{"key":"R4","doi-asserted-by":"publisher","DOI":"10.1016\/0956-0521(92)90014-A"},{"key":"R5","unstructured":"C. Bischof, P. Khademi, A. Bouaricha, and A. Carle,\n                      Computation of gradients and Jacobians by transparent exploitation of sparsity in automatic differentiation\n                      , Preprint MCS\u2010P519\u20100595, Mathematics and Computer Science Division, Argonne National Laboratory, 1995."},{"key":"R6","unstructured":"C. Bischof and A. Mauer,\n                      ADIC \u2013 a tool for the automatic differentiation of C programs\n                      . to appear, 1994."},{"key":"R7","unstructured":"C. Bischof, G. Whiffen, C. Shoemaker, A. Carle, and A. Ross,\n                      Application of automatic differentiation to groundwater transport models\n                      , in Computational Methods in Water Resources X, A. Peters, ed., Dordrecht, 1994, Kluwer Academic Publishers, pp. 173\u2013182."},{"key":"R8","unstructured":"C. H. Bischof,\n                      Automatic differentiation, tangent linear models and pseudo\u2010adjoints\n                      , PreprintMCS\u2010P472\u20101094, Mathematics and Computer Science Division, Argonne National Laboratory, 1994."},{"key":"R9","unstructured":"A. Carle, L. Green, C. Bischof, and P. Newman,\n                      Applications of automatic differentiation in CFD\n                      , in Proceedings of the 25th AIAA Fluid Dynamics Conference, AIAA Paper 94\u20102197, American Institute of Aeronautics and Astronautics, 1994."},{"key":"R10","unstructured":"B. W. Char, K. O. Geddes, G. H. Gonnet, M. B. Monagan, and S. M. Watt,\n                      MAPLE Reference Manual\n                      , Watcom Publications, Waterloo, Ontario Canada, 1988."},{"key":"R11","first-page":"464","volume":"85","author":"Crouch Edmund","year":"1990","journal-title":"J. Amer. Statist. Assoc."},{"key":"R12","doi-asserted-by":"publisher","DOI":"10.1016\/0165-1889(90)90023-A"},{"key":"R13","unstructured":"R. Giering,\n                      Adjoint model compiler, manual version 0.2, AMC version 2.04\n                      , tech. report, Max\u2010Planck Institut f\u00fcr Meteorologie, August 1992."},{"key":"R14","doi-asserted-by":"publisher","DOI":"10.1016\/0196-6774(84)90019-1"},{"key":"R15","unstructured":"Andreas Griewank, On automatic differentiation, Math. Appl. (Japanese Ser.), Vol. 6, SCIPRESS, Tokyo, 1989, 83\u201310792k:65002"},{"key":"R16","unstructured":"A. Griewank, D. Juedes, and J. Srinivasan,\n                      ADOL\u2010C, a package for the automatic differentiation of algorithms written in C\/C++\n                      , Preprint MCS\u2010P180\u20101190, Mathematics and Computer Science Division, Argonne National Laboratory, 1990."},{"key":"R17","first-page":"9","volume":"19","author":"Hack J. J.","year":"1986","journal-title":"Computing","ISSN":"https:\/\/id.crossref.org\/issn\/0010-485X","issn-type":"print"},{"key":"R18","unstructured":"J. E. Horwedel,\n                      GRESS: A preprocessor for sensitivity studies on Fortran programs\n                      , in Automatic Differentiation of Algorithms: Theory, Implementation, and Application, A. Griewank and G. F. Corliss, eds., SIAM, Philadelphia, 1991, pp. 243\u2013250."},{"key":"R19","unstructured":"P. Hovland,\n                      Using ADIFOR to compute Hessians\n                      , Tech. Report MCS\u2013TM\u2013195, Mathematics and Computer Science Division, Argonne National Laboratory, 1994."},{"key":"R20","unstructured":"M. Iri,\n                      History of automatic differentiation and rounding estimation\n                      , in Automatic Differentiation of Algorithms: Theory, Implementation, and Application, A. Griewank and G. F. Corliss, eds., SIAM, Philadelphia, Penn., 1991, pp. 1 \u2013 16."},{"key":"R21","unstructured":"D. Juedes,\n                      A taxonomy of automatic differentiation tools\n                      , in Proceedings of the Workshop on Automatic Differentiation of Algorithms: Theory, Implementation, and Application, A. Griewank and G. Corliss, eds., Philadelphia, 1991, SIAM, pp. 315\u2013330."},{"key":"R22","unstructured":"K. Kubota,\n                      PADRE2, a FORTRAN precompiler yielding error estimates and second derivatives\n                      , in Automatic Differentiation of Algorithms: Theory, Implementation, and Application, A. Griewank and G. F. Corliss, eds., SIAM, Philadelphia, 1991, pp. 251\u2013262."},{"key":"R23","unstructured":"S. K. Park, K. Droegemeier, C. Bischof, and T. Knauff,\n                      Sensitivity analysis of numerically\u2010simulated convective storms using direct and adjoint methods\n                      , in Preprints, 10th Conference on Numerical Weather Prediction, Portland, Oregon, American Meterological Society, 1994, pp. 457\u2013459."},{"key":"R24","unstructured":"L. B. Rall,\n                      Automatic Differentiation: Techniques and Applications\n                      , vol. 120 of Lecture Notes in Computer Science, Springer Verlag, Berlin, 1981."},{"key":"R25","doi-asserted-by":"publisher","DOI":"10.3402\/tellusa.v45i5.15060"},{"key":"R26","unstructured":"E. Soulie,\n                      User\u2019s experience with Fortran compilers for least squares problems\n                      , in Automatic Differentiation of Algorithms: Theory, Implementation, and Application, A. Griewank and G. F. Corliss, eds., SIAM, Philadelphia, 1991, pp. 297\u2013306."},{"key":"R27","doi-asserted-by":"publisher","DOI":"10.1016\/0898-1221(85)90188-9"},{"key":"R28","doi-asserted-by":"publisher","DOI":"10.1001\/jama.1992.03490150089030"},{"key":"R29","unstructured":"S. Wolfram,\n                      Mathematica Reference Guide (for Mathematica Version 2)\n                      , Addison\u2010Wesley, Reading, Mass., 1992."}],"container-title":["SIAM Journal on Scientific Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/epubs.siam.org\/doi\/pdf\/10.1137\/S1064827595281800","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,8,21]],"date-time":"2026-08-21T17:31:40Z","timestamp":1787333500000},"score":1,"resource":{"primary":{"URL":"https:\/\/epubs.siam.org\/doi\/10.1137\/S1064827595281800"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1997,7]]},"references-count":30,"journal-issue":{"issue":"4","published-print":{"date-parts":[[1997,7]]}},"alternative-id":["10.1137\/S1064827595281800"],"URL":"https:\/\/doi.org\/10.1137\/s1064827595281800","relation":{},"ISSN":["1064-8275","1095-7197"],"issn-type":[{"value":"1064-8275","type":"print"},{"value":"1095-7197","type":"electronic"}],"subject":[],"published":{"date-parts":[[1997,7]]}}}