{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:37:11Z","timestamp":1750307831304,"version":"3.41.0"},"reference-count":20,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2008,7,22]],"date-time":"2008-07-22T00:00:00Z","timestamp":1216684800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000015","name":"U.S. Department of Energy","doi-asserted-by":"publisher","award":["DE-AC04-94AL85000"],"award-info":[{"award-number":["DE-AC04-94AL85000"]}],"id":[{"id":"10.13039\/100000015","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Math. Softw."],"published-print":{"date-parts":[[2008,7,22]]},"abstract":"<jats:p>Computationally efficient and accurate derivatives are important to the success of many different types of numerical methods. Automatic differentation (AD) approaches compute truncation-free derivatives and can be efficient in many cases. Although present AD tools can provide a convenient implementation mechanism, the computational efficiency rarely compares to analytically derived versions that have been carefully implemented. The focus of this work is to combine the strength of these methods into a hybrid strategy that attempts to achieve an optimal balance of implementation and computational efficiency by selecting the appropriate components of the target algorithms for AD and analytical derivation. Although several AD approaches can be considered, our focus is on the use of template overloading forward AD tools in C++ applications. We demonstrate this hybrid strategy for a system of partial differential equations in gas dynamics. These methods apply however to other systems of differentiable equations, including DAEs and ODEs.<\/jats:p>","DOI":"10.1145\/1377603.1377604","type":"journal-article","created":{"date-parts":[[2008,7,29]],"date-time":"2008-07-29T13:22:19Z","timestamp":1217337739000},"page":"1-29","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Hybrid differentiation strategies for simulation and analysis of applications in C++"],"prefix":"10.1145","volume":"35","author":[{"given":"Roscoe A.","family":"Bartlett","sequence":"first","affiliation":[{"name":"Sandia National Laboratories, Albuquerque, NM"}]},{"given":"Bart G. Van Bloemen","family":"Waanders","sequence":"additional","affiliation":[{"name":"Sandia National Laboratories, Albuquerque, NM"}]},{"given":"Martin","family":"Berggren","sequence":"additional","affiliation":[{"name":"Uppsala University, Sweden"}]}],"member":"320","published-online":{"date-parts":[[2008,7,25]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Beda L. M. Korolev L. N. Sukkikh N. V. and Frolova T. S. 1959. Programs for automatic differentiation for the machine BESM. Tech. rep. Institute for Precise Mechanics and Computation Techniques Academy of Science.  Beda L. M. Korolev L. N. Sukkikh N. V. and Frolova T. S. 1959. Programs for automatic differentiation for the machine BESM. Tech. rep. Institute for Precise Mechanics and Computation Techniques Academy of Science."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1155\/1992\/125016"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1097-024X(199712)27:12%3C1427::AID-SPE138%3E3.3.CO;2-H"},{"volume-title":"Computational Fluid Dynamics: Principles and Applications","author":"Blazek J.","key":"e_1_2_1_4_1","unstructured":"Blazek , J. 2001. Computational Fluid Dynamics: Principles and Applications . Elsevier . Blazek, J. 2001. Computational Fluid Dynamics: Principles and Applications. Elsevier."},{"key":"e_1_2_1_5_1","unstructured":"Cesare N. and Pironneau O. 2000. Flow control problem using automatic differentiation in C++. Tech. rep. LAN-UPMC report 99013. Unversite Pierre et Marie Curie.  Cesare N. and Pironneau O. 2000. Flow control problem using automatic differentiation in C++. Tech. rep. LAN-UPMC report 99013. Unversite Pierre et Marie Curie."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1080\/10556780310001610501"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.future.2004.11.006"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/293686.293695"},{"key":"e_1_2_1_9_1","doi-asserted-by":"crossref","unstructured":"Goedecker S. and Hoisie A. 2001. Performance Optimization of Numerically Intensive Codes. SIAM.   Goedecker S. and Hoisie A. 2001. Performance Optimization of Numerically Intensive Codes. SIAM.","DOI":"10.1137\/1.9780898718218"},{"key":"e_1_2_1_10_1","volume-title":"Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. SIAM.","author":"Griewank A.","year":"2000","unstructured":"Griewank , A. 2000 . Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. SIAM. Griewank, A. 2000. Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. SIAM."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/229473.229474"},{"key":"e_1_2_1_12_1","volume-title":"Proceedings of the 4th European Congress on Computational Methods in Applied Sciences and Engineering (ECCOMAS) 2. P. Neittaanm aki, T. Rossi, S. Korotov, E. Onate, J. Periaux, and D. Knorzer, Eds.","author":"Hascoet L.","year":"2004","unstructured":"Hascoet , L. 2004 . Tapenade: a tool for automatic differentiation of programs . In Proceedings of the 4th European Congress on Computational Methods in Applied Sciences and Engineering (ECCOMAS) 2. P. Neittaanm aki, T. Rossi, S. Korotov, E. Onate, J. Periaux, and D. Knorzer, Eds. Hascoet, L. 2004. Tapenade: a tool for automatic differentiation of programs. In Proceedings of the 4th European Congress on Computational Methods in Applied Sciences and Engineering (ECCOMAS) 2. P. Neittaanm aki, T. Rossi, S. Korotov, E. Onate, J. Periaux, and D. Knorzer, Eds."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01931367"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/838250.838251"},{"key":"e_1_2_1_15_1","doi-asserted-by":"crossref","unstructured":"Moore R. 1979. Methods and Applications of Interval Analysis. SIAM.   Moore R. 1979. Methods and Applications of Interval Analysis. SIAM.","DOI":"10.1137\/1.9781611970906"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1016\/0021-9991(81)90128-5"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1137\/S003614459631241X"},{"key":"e_1_2_1_19_1","first-page":"76","article-title":"A comparative study of computational methods in cosmic gas dynamics","volume":"108","author":"van Albada B.","year":"1982","unstructured":"van Albada , B. , van Leer , G. , and Jr ., W. R. 1982 . A comparative study of computational methods in cosmic gas dynamics . Astronomy Astrophys. 108 , 76 -- 84 . van Albada, B., van Leer, G., and Jr., W. R. 1982. A comparative study of computational methods in cosmic gas dynamics. Astronomy Astrophys. 108, 76--84.","journal-title":"Astronomy Astrophys."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.2514\/3.13202"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/355586.364791"}],"container-title":["ACM Transactions on Mathematical Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1377603.1377604","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1377603.1377604","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T13:57:56Z","timestamp":1750255076000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1377603.1377604"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008,7,22]]},"references-count":20,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2008,7,22]]}},"alternative-id":["10.1145\/1377603.1377604"],"URL":"https:\/\/doi.org\/10.1145\/1377603.1377604","relation":{},"ISSN":["0098-3500","1557-7295"],"issn-type":[{"type":"print","value":"0098-3500"},{"type":"electronic","value":"1557-7295"}],"subject":[],"published":{"date-parts":[[2008,7,22]]},"assertion":[{"value":"2006-05-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2007-07-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2008-07-25","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}