{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:39:21Z","timestamp":1750307961005,"version":"3.41.0"},"reference-count":19,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2007,7,29]],"date-time":"2007-07-29T00:00:00Z","timestamp":1185667200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Graph."],"published-print":{"date-parts":[[2007,7,29]]},"abstract":"<jats:p>\n            Functions with densely interconnected expression graphs, which arise in computer graphics applications such as dynamics, space-time optimization, and PRT, can be difficult to efficiently differentiate using existing symbolic or automatic differentiation techniques. Our new algorithm,\n            <jats:bold>D*<\/jats:bold>\n            , computes efficient symbolic derivatives for these functions by symbolically executing the expression graph at compile time to eliminate common subexpressions and by exploiting the special nature of the graph that represents the derivative of a function. This graph has a sum of products form; the new algorithm computes a factorization of this derivative graph along with an efficient grouping of product terms into subexpressions. For the problems in our test suite\n            <jats:bold>D*<\/jats:bold>\n            generates symbolic derivatives which are up to 4.6 x 10\n            <jats:sup>3<\/jats:sup>\n            times faster than those computed by the symbolic math program Mathematica and up to 2.2x10\n            <jats:sup>5<\/jats:sup>\n            times faster than the non-symbolic automatic differentiation program CppAD. In some cases the\n            <jats:bold>D*<\/jats:bold>\n            derivatives rival the best manually derived solutions.\n          <\/jats:p>","DOI":"10.1145\/1276377.1276512","type":"journal-article","created":{"date-parts":[[2007,9,14]],"date-time":"2007-09-14T13:44:55Z","timestamp":1189777495000},"page":"108","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":17,"title":["Efficient symbolic differentiation for graphics applications"],"prefix":"10.1145","volume":"26","author":[{"given":"Brian","family":"Guenter","sequence":"first","affiliation":[{"name":"Microsoft Research"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2007,7,29]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"crossref","unstructured":"Balafoutis C. A. and Patel R. V. 1991. Dynamic Analysis of Robot Manipulators: A Cartesion Tensor Approach. Kluwer Academic Publishers.   Balafoutis C. A. and Patel R. V. 1991. Dynamic Analysis of Robot Manipulators: A Cartesion Tensor Approach . Kluwer Academic Publishers.","DOI":"10.1007\/978-1-4615-3952-0"},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1137\/0711010"},{"key":"e_1_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/99.537089"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1097-024X(199712)27:12%3C1427::AID-SPE138%3E3.3.CO;2-H"},{"key":"e_1_2_2_5_1","unstructured":"Cooper K. Harvey T. and Kennedy K. 2001. A simple fast dominance algorithm. Software Practice and Experience.  Cooper K. Harvey T. and Kennedy K. 2001. A simple fast dominance algorithm. Software Practice and Experience ."},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/882262.882286"},{"volume-title":"Proc. IEEE Int. Conf. Robotics &amp; Automation.","author":"Featherstone R.","key":"e_1_2_2_7_1","unstructured":"Featherstone , R. , and Orin , D . 2000. Robot dynamics: Equations and algorithms . Proc. IEEE Int. Conf. Robotics &amp; Automation. Featherstone, R., and Orin, D. 2000. Robot dynamics: Equations and algorithms. Proc. IEEE Int. Conf. Robotics &amp; Automation."},{"key":"e_1_2_2_8_1","series-title":"Lecture Notes in Computer Science 120.","volume-title":"Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation","author":"Griewank A.","year":"2000","unstructured":"Griewank , A. 2000 . Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation . Lecture Notes in Computer Science 120. Griewank, A. 2000. Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. Lecture Notes in Computer Science 120."},{"volume-title":"Acta Numerica","author":"Griewank A.","key":"e_1_2_2_9_1","unstructured":"Griewank , A. 2003. A mathematical view of automatic differentiation . In Acta Numerica , vol. 12 . Cambridge University Press , 321--398. Griewank, A. 2003. A mathematical view of automatic differentiation. In Acta Numerica, vol. 12. Cambridge University Press, 321--398."},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/TRO.2004.842336"},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/192161.192169"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1186822.1073314"},{"key":"e_1_2_2_13_1","unstructured":"Martin B. and Bobrow J. 1997. Minimum effort motions for open chain manipulators with task dependent end-effector constraints.  Martin B. and Bobrow J. 1997. Minimum effort motions for open chain manipulators with task dependent end-effector constraints."},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-10861-0"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1186822.1073335"},{"key":"e_1_2_2_16_1","volume-title":"Vertex ordering algorithms for jacobian computations using automatic differentiation. Submitted to the Computer Journal","author":"Tadjouddine E. M.","year":"2007","unstructured":"Tadjouddine , E. M. 2007. Vertex ordering algorithms for jacobian computations using automatic differentiation. Submitted to the Computer Journal , Oxford University Press , March 2007 . Tadjouddine, E. M. 2007. Vertex ordering algorithms for jacobian computations using automatic differentiation. Submitted to the Computer Journal, Oxford University Press, March 2007."},{"key":"e_1_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/344779.344876"},{"key":"e_1_2_2_18_1","unstructured":"Waters R. C. 1979. Mechanical arm control. MIT Artificial Intelligence Lab Memo 549.  Waters R. C. 1979. Mechanical arm control. MIT Artificial Intelligence Lab Memo 549 ."},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/54852.378507"}],"container-title":["ACM Transactions on Graphics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1276377.1276512","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1276377.1276512","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T14:58:04Z","timestamp":1750258684000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1276377.1276512"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2007,7,29]]},"references-count":19,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2007,7,29]]}},"alternative-id":["10.1145\/1276377.1276512"],"URL":"https:\/\/doi.org\/10.1145\/1276377.1276512","relation":{},"ISSN":["0730-0301","1557-7368"],"issn-type":[{"type":"print","value":"0730-0301"},{"type":"electronic","value":"1557-7368"}],"subject":[],"published":{"date-parts":[[2007,7,29]]},"assertion":[{"value":"2007-07-29","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}