<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>One possibility is ADiGator which is a MATLAB automatic (algorithmic) differentiation package.  ADiGator generates derivative source code given an actual MATLAB function code (that is, the function must be an m-file and cannot be a p-file, a mex file, or a Simulink model).  ADiGator takes full advantage of all sparsity in the derivative and even outputs the sparsity pattern in the derivative code.  Also, if you provide a vectorized function, ADiGator will differentiate your function in a vectorized manner as well.  The ADiGator project is found on SourceForge at </div><div><br></div><div><a href="http://sourceforge.net/projects/adigator">http://sourceforge.net/projects/adigator</a>.   </div><div><br></div><div><div><div><span style="background-color: rgba(255, 255, 255, 0);">Regards,</span></div><div><span style="background-color: rgba(255, 255, 255, 0);"><br></span></div><div><span style="background-color: rgba(255, 255, 255, 0);">Anil</span></div><div><i style="background-color: rgba(255, 255, 255, 0);"><br></i></div><i style="background-color: rgba(255, 255, 255, 0);">Sent from my iPhone.  Please excuse any typos.</i><div><i style="background-color: rgba(255, 255, 255, 0);"><br></i></div><div><span style="background-color: rgba(255, 255, 255, 0);">Anil V. Rao, PhD<br><a dir="ltr" href="x-apple-data-detectors://2/1" x-apple-data-detectors="true" x-apple-data-detectors-type="address" x-apple-data-detectors-result="2/1">Gainesville, FL 32607</a><br>Tel: <a dir="ltr" href="tel:352-672-1529" x-apple-data-detectors="true" x-apple-data-detectors-type="telephone" x-apple-data-detectors-result="2/2">352-672-1529</a> (cell)<br>Email:  <a dir="ltr" href="mailto:anilvrao@gmail.com" x-apple-data-detectors="true" x-apple-data-detectors-type="link" x-apple-data-detectors-result="2/3">anilvrao@gmail.com</a><br>Website:  <a dir="ltr" href="http://www.anilvrao.com/" x-apple-data-detectors="true" x-apple-data-detectors-type="link" x-apple-data-detectors-result="2/4">http://www.anilvrao.com</a></span></div></div></div><div><br>On Feb 28, 2017, at 4:43 PM, Brad Bell <<a href="mailto:bradbell@seanet.com">bradbell@seanet.com</a>> wrote:<br><br></div><blockquote type="cite"><div><span>If you are willing to use C++ to define the function, perhaps you would find the following useful:</span><br><span>    <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__www.coin-2Dor.org_CppAD_Doc_ipopt-5Fsolve.htm&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=CkSHWhOubghUqoasgZAuFQadckJg2c-JLO9y8qbAgUc&m=ew_Ps7PMa7XMMCA_PgsT815JcuP5l0eUVStL0JbKeKk&s=MbPur1y-UBT17U4MS3szKwbrg7oY561pjtedgHcAF2w&e=">https://urldefense.proofpoint.com/v2/url?u=https-3A__www.coin-2Dor.org_CppAD_Doc_ipopt-5Fsolve.htm&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=CkSHWhOubghUqoasgZAuFQadckJg2c-JLO9y8qbAgUc&m=ew_Ps7PMa7XMMCA_PgsT815JcuP5l0eUVStL0JbKeKk&s=MbPur1y-UBT17U4MS3szKwbrg7oY561pjtedgHcAF2w&e=</a> </span><br><span>On 02/28/2017 03:16 AM, Andrew Spiteri wrote:</span><br><blockquote type="cite"><span>Hi all,</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>I am currently using IPOPT through the MATLAB interface. Since I have rather complex functions, the Jacobians and Hessians are being calculated automatically using INTLAB's automatic differentiation feature. However, I am at times finding INTLAB difficult to use, since it does not support direct use of some built-in functions such as interp1 and atan2.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>I've also tried out ADiMat, but couldn't get the source code transformation routine to work (due to search path problems). I also tried ADiMat's finite difference function, which worked but was extremely slow and thus I couldn't adopt it.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>I would like to hear recommendations for other automatic differentiation tools/setups which you found useful. Thanks.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Best regards,</span><br></blockquote><blockquote type="cite"><span>Andrew Spiteri</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><span></span><br><span>_______________________________________________</span><br><span>Ipopt mailing list</span><br><span><a href="mailto:Ipopt@list.coin-or.org">Ipopt@list.coin-or.org</a></span><br><span><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__list.coin-2Dor.org_mailman_listinfo_ipopt&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=CkSHWhOubghUqoasgZAuFQadckJg2c-JLO9y8qbAgUc&m=ew_Ps7PMa7XMMCA_PgsT815JcuP5l0eUVStL0JbKeKk&s=lZOGaQPKjLhftt_FO-jhLueeA4kjIW-1vmqAuvtmF3Q&e=">https://urldefense.proofpoint.com/v2/url?u=http-3A__list.coin-2Dor.org_mailman_listinfo_ipopt&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=CkSHWhOubghUqoasgZAuFQadckJg2c-JLO9y8qbAgUc&m=ew_Ps7PMa7XMMCA_PgsT815JcuP5l0eUVStL0JbKeKk&s=lZOGaQPKjLhftt_FO-jhLueeA4kjIW-1vmqAuvtmF3Q&e=</a> </span><br></div></blockquote></body></html>