Codebase list cppad / 9d82594
Imported Upstream version 2015.00.00.8 Barak A. Pearlmutter 8 years ago
15 changed file(s) with 206 addition(s) and 158 deletion(s). Raw diff Collapse all Expand all
0 # $Id: CMakeLists.txt 3643 2015-02-12 11:47:46Z bradbell $
0 # $Id: CMakeLists.txt 3647 2015-02-15 01:06:13Z bradbell $
11 # -----------------------------------------------------------------------------
22 # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell
33 #
1515 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
1616
1717 # cppad_version is used by set_version.sh to get the version number.
18 SET(cppad_version "20150000.7" )
18 SET(cppad_version "20150000.8" )
1919 SET(cppad_url "http://www.coin-or.org/CppAD" )
2020 SET(cppad_description "Differentiation of C++ Algorithms" )
2121
00 #! /bin/bash -e
1 # $Id: new_release.sh 3643 2015-02-12 11:47:46Z bradbell $
1 # $Id: new_release.sh 3647 2015-02-15 01:06:13Z bradbell $
22 # -----------------------------------------------------------------------------
33 # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-13 Bradley M. Bell
44 #
2222 # -----------------------------------------------------------------------------
2323 svn_repository="https://projects.coin-or.org/svn/CppAD"
2424 stable_version="20150000"
25 release='7'
25 release='8'
2626 release_version="$stable_version.$release"
2727 # -----------------------------------------------------------------------------
2828 # Check release version
00 #! /bin/sh
11 # Guess values for system-dependent variables and create Makefiles.
2 # Generated by GNU Autoconf 2.69 for cppad 20150000.7.
2 # Generated by GNU Autoconf 2.69 for cppad 20150000.8.
33 #
44 # Report bugs to <cppad@list.coin-or.org>.
55 #
579579 # Identity of this package.
580580 PACKAGE_NAME='cppad'
581581 PACKAGE_TARNAME='cppad'
582 PACKAGE_VERSION='20150000.7'
583 PACKAGE_STRING='cppad 20150000.7'
582 PACKAGE_VERSION='20150000.8'
583 PACKAGE_STRING='cppad 20150000.8'
584584 PACKAGE_BUGREPORT='cppad@list.coin-or.org'
585585 PACKAGE_URL=''
586586
14001400 # Omit some internal or obsolete options to make the list less imposing.
14011401 # This message is too long to be a string in the A/UX 3.1 sh.
14021402 cat <<_ACEOF
1403 \`configure' configures cppad 20150000.7 to adapt to many kinds of systems.
1403 \`configure' configures cppad 20150000.8 to adapt to many kinds of systems.
14041404
14051405 Usage: $0 [OPTION]... [VAR=VALUE]...
14061406
14701470
14711471 if test -n "$ac_init_help"; then
14721472 case $ac_init_help in
1473 short | recursive ) echo "Configuration of cppad 20150000.7:";;
1473 short | recursive ) echo "Configuration of cppad 20150000.8:";;
14741474 esac
14751475 cat <<\_ACEOF
14761476
16031603 test -n "$ac_init_help" && exit $ac_status
16041604 if $ac_init_version; then
16051605 cat <<\_ACEOF
1606 cppad configure 20150000.7
1606 cppad configure 20150000.8
16071607 generated by GNU Autoconf 2.69
16081608
16091609 Copyright (C) 2012 Free Software Foundation, Inc.
22322232 This file contains any messages produced by compilers while
22332233 running configure, to aid debugging if configure makes a mistake.
22342234
2235 It was created by cppad $as_me 20150000.7, which was
2235 It was created by cppad $as_me 20150000.8, which was
22362236 generated by GNU Autoconf 2.69. Invocation command line was
22372237
22382238 $ $0 $@
52405240
52415241 # Define the identity of the package.
52425242 PACKAGE='cppad'
5243 VERSION='20150000.7'
5243 VERSION='20150000.8'
52445244
52455245
52465246 cat >>confdefs.h <<_ACEOF
84128412 # report actual input values of CONFIG_FILES etc. instead of their
84138413 # values after options handling.
84148414 ac_log="
8415 This file was extended by cppad $as_me 20150000.7, which was
8415 This file was extended by cppad $as_me 20150000.8, which was
84168416 generated by GNU Autoconf 2.69. Invocation command line was
84178417
84188418 CONFIG_FILES = $CONFIG_FILES
84698469 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
84708470 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
84718471 ac_cs_version="\\
8472 cppad config.status 20150000.7
8472 cppad config.status 20150000.8
84738473 configured by $0, generated by GNU Autoconf 2.69,
84748474 with options \\"\$ac_cs_config\\"
84758475
0 dnl $Id: configure.ac 3643 2015-02-12 11:47:46Z bradbell $
0 dnl $Id: configure.ac 3647 2015-02-15 01:06:13Z bradbell $
11 dnl ---------------------------------------------------------------------------
22 dnl CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell
33 dnl
1111 dnl
1212 dnl Process this file with autoconf to produce a configure script.
1313 dnl package version bug-report
14 AC_INIT([cppad], [20150000.7], [cppad@list.coin-or.org])
14 AC_INIT([cppad], [20150000.8], [cppad@list.coin-or.org])
1515 AM_SILENT_RULES([yes])
1616
1717 dnl By defalut disable maintainer mode when running configure;
249249
250250 // zero order Taylor coefficient for z_4
251251 Base* x = taylor + arg[0] * cap_order;
252 Base* z_4 = taylor + i_z + 4 * cap_order;
252 Base* z_4 = taylor + (i_z + 4) * cap_order;
253253 z_4[0] = erf(x[0]);
254254 }
255255
6363 onmouseover='MouseOver(1)'
6464 onmouseout='MouseOut(1)'
6565 ><img src='_close.gif' name='folder1' align='middle' />
66 <u>cppad-20150000.7: A Package for Differentiation of C++ Algorithms</u></a>
66 <u>cppad-20150000.8: A Package for Differentiation of C++ Algorithms</u></a>
6767
6868 <span id='children1'>
69 <br/><a href="cppad.xml" target="_top">cppad-20150000.7: A Package for Differentiation of C++ Algorithms</a>
69 <br/><a href="cppad.xml" target="_top">cppad-20150000.8: A Package for Differentiation of C++ Algorithms</a>
7070
7171 <br/>&#xA0;&#xA0;&#xA0;&#xA0;<a href="_contents_xml.htm" target="_top">Table of Contents</a>
7272
171171
172172 <tr valign="top"><td><a href="http://www.coin-or.org/download/source/CppAD/" target="_top">http://www.coin-or.org/download/source/CppAD/</a></td><td><a href="whats_new_09.xml#06-25" target="_top">whats_new_09#06-25</a></td></tr>
173173
174 <tr valign="top"><td><a href="http://www.coin-or.org/download/source/CppAD/cppad-20150000.7.epl.tgz" target="_top">http://www.coin-or.org/download/source/CppAD/cppad-20150000.7.epl.tgz</a></td><td><a href="download.xml#Compressed Archives" target="_top">download#Compressed Archives</a></td></tr>
175
176 <tr valign="top"><td><a href="http://www.coin-or.org/download/source/CppAD/cppad-20150000.7.gpl.tgz" target="_top">http://www.coin-or.org/download/source/CppAD/cppad-20150000.7.gpl.tgz</a></td><td><a href="download.xml#Compressed Archives" target="_top">download#Compressed Archives</a></td></tr>
174 <tr valign="top"><td><a href="http://www.coin-or.org/download/source/CppAD/cppad-20150000.8.epl.tgz" target="_top">http://www.coin-or.org/download/source/CppAD/cppad-20150000.8.epl.tgz</a></td><td><a href="download.xml#Compressed Archives" target="_top">download#Compressed Archives</a></td></tr>
175
176 <tr valign="top"><td><a href="http://www.coin-or.org/download/source/CppAD/cppad-20150000.8.gpl.tgz" target="_top">http://www.coin-or.org/download/source/CppAD/cppad-20150000.8.gpl.tgz</a></td><td><a href="download.xml#Compressed Archives" target="_top">download#Compressed Archives</a></td></tr>
177177
178178 <tr valign="top"><td><a href="http://www.coin-or.org/foundation.html" target="_top">http://www.coin-or.org/foundation.html</a></td><td><a href="cppad.xml#Introduction" target="_top">CppAD#Introduction</a></td></tr>
179179
10091009 &#160;&#160;&#160;&#160;&#160;boost<b>&#xA0;</b>thread<b>&#xA0;</b>example&#160;<a href="a11c_bthread.cpp.xml" target="_top">A&#xA0;Simple&#xA0;Boost&#xA0;Thread&#xA0;Example&#xA0;and&#xA0;Test</a><br/>
10101010 &#160;&#160;&#160;&#160;&#160;OpenMP<b>&#xA0;</b>example&#160;<a href="a11c_pthread.cpp.xml" target="_top">A&#xA0;Simple&#xA0;Parallel&#xA0;Pthread&#xA0;Example&#xA0;and&#xA0;Test</a><br/>
10111011 &#160;&#160;&#160;&#160;&#160;OpenMP<b>&#xA0;</b>example&#160;<a href="a11c_openmp.cpp.xml" target="_top">A&#xA0;Simple&#xA0;OpenMP&#xA0;Example&#xA0;and&#xA0;Test</a><br/>
1012 AD&#160;<a href="cppad.xml" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
1012 AD&#160;<a href="cppad.xml" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
10131013 &#160;&#160;&#160;&#160;&#160;arithmetic<b>&#xA0;</b>operator&#160;<a href="arithmetic.xml" target="_top">AD&#xA0;Arithmetic&#xA0;Operators&#xA0;and&#xA0;Computed&#xA0;Assignments</a><br/>
10141014 &#160;&#160;&#160;&#160;&#160;assignment&#160;<a href="ad_assign.xml" target="_top">AD&#xA0;Assignment&#xA0;Operator</a><br/>
10151015 &#160;&#160;&#160;&#160;&#160;binary<b>&#xA0;</b>compare<b>&#xA0;</b>operator&#160;<a href="compare.xml" target="_top">AD&#xA0;Binary&#xA0;Comparison&#xA0;Operators</a><br/>
11701170 &#160;&#160;<a href="atomic_hes_sparse.cpp.xml#Test with x_1 Both a Variable and a Parameter" target="_top">Atomic&#xA0;Operation&#xA0;Hessian&#xA0;Sparsity:&#xA0;Example&#xA0;and&#xA0;Test:&#160;Test&#xA0;with&#xA0;x_1&#xA0;Both&#xA0;a&#xA0;Variable&#xA0;and&#xA0;a&#xA0;Parameter</a><br/>
11711171 &#160;&#160;<a href="var2par.cpp.xml" target="_top">Convert&#xA0;an&#xA0;AD&#xA0;Variable&#xA0;to&#xA0;a&#xA0;Parameter:&#xA0;Example&#xA0;and&#xA0;Test</a><br/>
11721172 &#160;&#160;<a href="var2par.xml" target="_top">Convert&#xA0;an&#xA0;AD&#xA0;Variable&#xA0;to&#xA0;a&#xA0;Parameter</a><br/>
1173 &#160;&#160;<a href="cppad.xml" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
1173 &#160;&#160;<a href="cppad.xml" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
11741174 a11c&#160;<a href="thread_test.cpp.xml#a11c" target="_top">Run&#xA0;Multi-Threading&#xA0;Examples&#xA0;and&#xA0;Speed&#xA0;Tests:&#160;a11c</a><br/>
11751175 abort&#160;<a href="abort_recording.cpp.xml" target="_top">Abort&#xA0;Current&#xA0;Recording:&#xA0;Example&#xA0;and&#xA0;Test</a><br/>
11761176 &#160;&#160;&#160;&#160;&#160;&#160;<a href="abort_recording.xml" target="_top">Abort&#xA0;Recording&#xA0;of&#xA0;an&#xA0;Operation&#xA0;Sequence</a><br/>
14241424 algorithmic&#160;<a href="introduction.xml#Preface.Algorithmic Differentiation" target="_top">An&#xA0;Introduction&#xA0;by&#xA0;Example&#xA0;to&#xA0;Algorithmic&#xA0;Differentiation:&#160;Preface.Algorithmic&#xA0;Differentiation</a><br/>
14251425 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="introduction.xml" target="_top">An&#xA0;Introduction&#xA0;by&#xA0;Example&#xA0;to&#xA0;Algorithmic&#xA0;Differentiation</a><br/>
14261426 &#160;&#160;&#160;&#160;&#160;C<b>&#xA0;</b>differentiation&#160;<a href="ad_in_c.cpp.xml" target="_top">Example&#xA0;and&#xA0;Test&#xA0;Linking&#xA0;CppAD&#xA0;to&#xA0;Languages&#xA0;Other&#xA0;than&#xA0;C++</a><br/>
1427 algorithmic<b>&#xA0;</b>differentiation&#160;<a href="cppad.xml" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
1428 algorithms&#160;<a href="cppad.xml" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
1427 algorithmic<b>&#xA0;</b>differentiation&#160;<a href="cppad.xml" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
1428 algorithms&#160;<a href="cppad.xml" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
14291429 alignment&#160;<a href="ta_create_array.xml#Alignment" target="_top">Allocate&#xA0;An&#xA0;Array&#xA0;and&#xA0;Call&#xA0;Default&#xA0;Constructor&#xA0;for&#xA0;its&#xA0;Elements:&#160;Alignment</a><br/>
14301430 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="ta_get_memory.xml#Alignment" target="_top">Get&#xA0;At&#xA0;Least&#xA0;A&#xA0;Specified&#xA0;Amount&#xA0;of&#xA0;Memory:&#160;Alignment</a><br/>
14311431 all&#160;<a href="listallexamples.xml" target="_top">List&#xA0;of&#xA0;All&#xA0;the&#xA0;CppAD&#xA0;Examples</a><br/>
19361936 atomic<b>_</b>user&#160;<a href="atomic_ctor.xml#atomic_user" target="_top">Atomic&#xA0;Function&#xA0;Constructor:&#160;atomic_user</a><br/>
19371937 automatic<br/>
19381938 &#160;&#160;&#160;&#160;&#160;C<b>&#xA0;</b>differentiation&#160;<a href="ad_in_c.cpp.xml" target="_top">Example&#xA0;and&#xA0;Test&#xA0;Linking&#xA0;CppAD&#xA0;to&#xA0;Languages&#xA0;Other&#xA0;than&#xA0;C++</a><br/>
1939 automatic<b>&#xA0;</b>differentiation&#160;<a href="cppad.xml" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
1939 automatic<b>&#xA0;</b>differentiation&#160;<a href="cppad.xml" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
19401940 available&#160;<a href="memory_leak.xml#available" target="_top">Memory&#xA0;Leak&#xA0;Detection:&#160;available</a><br/>
19411941 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="omp_delete_array.xml" target="_top">Return&#xA0;A&#xA0;Raw&#xA0;Array&#xA0;to&#xA0;The&#xA0;Available&#xA0;Memory&#xA0;for&#xA0;a&#xA0;Thread</a><br/>
19421942 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="omp_available.xml" target="_top">Amount&#xA0;of&#xA0;Memory&#xA0;Available&#xA0;for&#xA0;Quick&#xA0;Use&#xA0;by&#xA0;a&#xA0;Thread</a><br/>
21372137 &#160;&#160;&#160;&#160;&#160;compare<b>&#xA0;</b>speed<b>&#xA0;</b>with<b>&#xA0;</b>C<b>++</b>&#160;<a href="compare_c.xml" target="_top">Compare&#xA0;Speed&#xA0;of&#xA0;C&#xA0;and&#xA0;C++</a><br/>
21382138 &#160;&#160;&#160;&#160;&#160;interface<b>&#xA0;</b>to&#160;<a href="interface2c.cpp.xml" target="_top">Interfacing&#xA0;to&#xA0;C:&#xA0;Example&#xA0;and&#xA0;Test</a><br/>
21392139 C<b>++</b><br/>
2140 &#160;&#160;&#160;&#160;&#160;algorithm<b>&#xA0;</b>derivative&#160;<a href="cppad.xml" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
2140 &#160;&#160;&#160;&#160;&#160;algorithm<b>&#xA0;</b>derivative&#160;<a href="cppad.xml" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
21412141 &#160;&#160;&#160;&#160;&#160;compare<b>&#xA0;</b>speed<b>&#xA0;</b>with<b>&#xA0;</b>C&#160;<a href="compare_c.xml" target="_top">Compare&#xA0;Speed&#xA0;of&#xA0;C&#xA0;and&#xA0;C++</a><br/>
21422142 &#160;&#160;&#160;&#160;&#160;numerical<b>&#xA0;</b>template<b>&#xA0;</b>library&#160;<a href="library.xml" target="_top">The&#xA0;CppAD&#xA0;General&#xA0;Purpose&#xA0;Library</a><br/>
21432143 CheckNumericType&#160;<a href="check_numeric_type.cpp.xml" target="_top">The&#xA0;CheckNumericType&#xA0;Function:&#xA0;Example&#xA0;and&#xA0;Test</a><br/>
21692169 CPPAD<b>_</b>TRACK<b>_</b>NEW<b>_</b>VEC&#160;<a href="tracknewdel.xml#TrackNewVec.Macro" target="_top">Routines&#xA0;That&#xA0;Track&#xA0;Use&#xA0;of&#xA0;New&#xA0;and&#xA0;Delete:&#160;TrackNewVec.Macro</a><br/>
21702170 CPPAD<b>_</b>USER<b>_</b>ATOMIC&#160;<a href="old_atomic.xml#CPPAD_USER_ATOMIC" target="_top">User&#xA0;Defined&#xA0;Atomic&#xA0;AD&#xA0;Functions:&#160;CPPAD_USER_ATOMIC</a><br/>
21712171 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="old_atomic.xml" target="_top">User&#xA0;Defined&#xA0;Atomic&#xA0;AD&#xA0;Functions</a><br/>
2172 CppAD&#160;<a href="cppad.xml" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
2173 &#160;&#160;&#160;&#160;&#160;namespace&#160;<a href="cppad.xml#Namespace" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Namespace</a><br/>
2172 CppAD&#160;<a href="cppad.xml" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
2173 &#160;&#160;&#160;&#160;&#160;namespace&#160;<a href="cppad.xml#Namespace" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Namespace</a><br/>
21742174 &#160;&#160;&#160;&#160;&#160;nonlinear<b>&#xA0;</b>programming&#160;<a href="cppad_ipopt_nlp.xml" target="_top">Nonlinear&#xA0;Programming&#xA0;Using&#xA0;the&#xA0;CppAD&#xA0;Interface&#xA0;to&#xA0;Ipopt</a><br/>
2175 &#160;&#160;&#160;&#160;&#160;preprocessor<b>&#xA0;</b>symbol&#160;<a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Preprocessor&#xA0;Symbols</a><br/>
2175 &#160;&#160;&#160;&#160;&#160;preprocessor<b>&#xA0;</b>symbol&#160;<a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Preprocessor&#xA0;Symbols</a><br/>
21762176 &#160;&#160;&#160;&#160;&#160;unix<b>&#xA0;</b>install&#160;<a href="installunix.xml" target="_top">Deprecated&#xA0;Unix&#xA0;Test&#xA0;and&#xA0;Installation</a><br/>
21772177 CppAD<b>::</b>vector<br/>
21782178 &#160;&#160;&#160;&#160;&#160;example&#160;<a href="cppad_vector.cpp.xml" target="_top">CppAD::vector&#xA0;Template&#xA0;Class:&#xA0;Example&#xA0;and&#xA0;Test</a><br/>
21952195 &#160;&#160;&#160;&#160;<a href="bib.xml#The C++ Programming Language" target="_top">Bibliography:&#160;The&#xA0;C++&#xA0;Programming&#xA0;Language</a><br/>
21962196 &#160;&#160;&#160;&#160;<a href="ad_in_c.cpp.xml" target="_top">Example&#xA0;and&#xA0;Test&#xA0;Linking&#xA0;CppAD&#xA0;to&#xA0;Languages&#xA0;Other&#xA0;than&#xA0;C++</a><br/>
21972197 &#160;&#160;&#160;&#160;<a href="library.xml#C++ Concepts" target="_top">The&#xA0;CppAD&#xA0;General&#xA0;Purpose&#xA0;Library:&#160;C++&#xA0;Concepts</a><br/>
2198 &#160;&#160;&#160;&#160;<a href="cppad.xml" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
2198 &#160;&#160;&#160;&#160;<a href="cppad.xml" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
21992199 &#160;&#160;&#160;&#160;&#160;compile<b>&#xA0;</b>flags&#160;<a href="cmake.xml#cppad_cxx_flags" target="_top">Using&#xA0;CMake&#xA0;to&#xA0;Configure&#xA0;CppAD:&#160;cppad_cxx_flags</a><br/>
22002200 c<b>:</b>&#160;<a href="interface2c.cpp.xml" target="_top">Interfacing&#xA0;to&#xA0;C:&#xA0;Example&#xA0;and&#xA0;Test</a><br/>
22012201 calculating&#160;<a href="sparse.xml" target="_top">Calculating&#xA0;Sparsity&#xA0;Patterns</a><br/>
26892689 &#160;&#160;&#160;&#160;&#160;speed<b>&#xA0;</b>test&#160;<a href="speed_cppad.xml" target="_top">Speed&#xA0;Test&#xA0;Derivatives&#xA0;Using&#xA0;CppAD</a><br/>
26902690 &#160;&#160;&#160;&#160;&#160;speed<b>&#xA0;</b>test&#160;<a href="speed_main.xml" target="_top">Running&#xA0;the&#xA0;Speed&#xA0;Test&#xA0;Program</a><br/>
26912691 &#160;&#160;&#160;&#160;&#160;test<b>&#xA0;</b>vector&#160;<a href="cppad_testvector.xml" target="_top">Choosing&#xA0;the&#xA0;CppAD&#xA0;Test&#xA0;Vector&#xA0;Template&#xA0;Class</a><br/>
2692 cppad<b>-</b>20150000<b>.</b>7<b>:</b>&#160;<a href="cppad.xml" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
2692 cppad<b>-</b>20150000<b>.</b>8<b>:</b>&#160;<a href="cppad.xml" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
26932693 cppad<b>.</b>hpp<br/>
2694 &#160;&#160;&#160;&#160;&#160;include&#160;<a href="cppad.xml#Include File" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Include&#xA0;File</a><br/>
2694 &#160;&#160;&#160;&#160;&#160;include&#160;<a href="cppad.xml#Include File" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Include&#xA0;File</a><br/>
26952695 cppad<b>::</b>vector&#160;<a href="test_vector.xml#CppAD::vector" target="_top">Choosing&#xA0;The&#xA0;Vector&#xA0;Testing&#xA0;Template&#xA0;Class:&#160;CppAD::vector</a><br/>
26962696 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="testvector.xml#CppAD::vector" target="_top">Using&#xA0;The&#xA0;CppAD&#xA0;Test&#xA0;Vector&#xA0;Template&#xA0;Class:&#160;CppAD::vector</a><br/>
26972697 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad_vector.cpp.xml" target="_top">CppAD::vector&#xA0;Template&#xA0;Class:&#xA0;Example&#xA0;and&#xA0;Test</a><br/>
30633063 differentiating&#160;<a href="stack_machine.cpp.xml" target="_top">Example&#xA0;Differentiating&#xA0;a&#xA0;Stack&#xA0;Machine&#xA0;Interpreter</a><br/>
30643064 differentiation&#160;<a href="introduction.xml#Preface.Algorithmic Differentiation" target="_top">An&#xA0;Introduction&#xA0;by&#xA0;Example&#xA0;to&#xA0;Algorithmic&#xA0;Differentiation:&#160;Preface.Algorithmic&#xA0;Differentiation</a><br/>
30653065 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="introduction.xml" target="_top">An&#xA0;Introduction&#xA0;by&#xA0;Example&#xA0;to&#xA0;Algorithmic&#xA0;Differentiation</a><br/>
3066 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
3066 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
30673067 dimension<br/>
30683068 &#160;&#160;&#160;&#160;&#160;multi<b>&#xA0;</b>Romberg<b>&#xA0;</b>integration&#160;<a href="rombergmul.xml" target="_top">Multi-dimensional&#xA0;Romberg&#xA0;Integration</a><br/>
30693069 dimensional&#160;<a href="rombergmul.cpp.xml" target="_top">One&#xA0;Dimensional&#xA0;Romberg&#xA0;Integration:&#xA0;Example&#xA0;and&#xA0;Test</a><br/>
37123712 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="introduction.xml" target="_top">An&#xA0;Introduction&#xA0;by&#xA0;Example&#xA0;to&#xA0;Algorithmic&#xA0;Differentiation</a><br/>
37133713 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="colpack.cpp.xml" target="_top">Using&#xA0;ColPack:&#xA0;Example&#xA0;and&#xA0;Test</a><br/>
37143714 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="colpack_prefix.xml#Example" target="_top">Including&#xA0;the&#xA0;ColPack&#xA0;Sparsity&#xA0;Calculations:&#160;Example</a><br/>
3715 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Example" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Example</a><br/>
3715 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Example" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Example</a><br/>
37163716 &#160;&#160;&#160;&#160;&#160;AD<b>&#xA0;</b>acos&#160;<a href="acos.cpp.xml" target="_top">The&#xA0;AD&#xA0;acos&#xA0;Function:&#xA0;Example&#xA0;and&#xA0;Test</a><br/>
37173717 &#160;&#160;&#160;&#160;&#160;AD<b>&#xA0;</b>add&#160;<a href="add.cpp.xml" target="_top">AD&#xA0;Binary&#xA0;Addition:&#xA0;Example&#xA0;and&#xA0;Test</a><br/>
37183718 &#160;&#160;&#160;&#160;&#160;AD<b>&#xA0;</b>asin&#160;<a href="asin.cpp.xml" target="_top">The&#xA0;AD&#xA0;asin&#xA0;Function:&#xA0;Example&#xA0;and&#xA0;Test</a><br/>
42484248 &#160;&#160;&#160;&#160;&#160;<a href="base_alloc.hpp.xml#Include File" target="_top">Example&#xA0;AD&lt;Base&gt;&#xA0;Where&#xA0;Base&#xA0;Constructor&#xA0;Allocates&#xA0;Memory:&#160;Include&#xA0;File</a><br/>
42494249 &#160;&#160;&#160;&#160;&#160;<a href="download.xml#Compressed Archives.Windows File Extraction" target="_top">Download&#xA0;The&#xA0;CppAD&#xA0;Source&#xA0;Code:&#160;Compressed&#xA0;Archives.Windows&#xA0;File&#xA0;Extraction</a><br/>
42504250 &#160;&#160;&#160;&#160;&#160;<a href="download.xml#Compressed Archives.Unix File Extraction" target="_top">Download&#xA0;The&#xA0;CppAD&#xA0;Source&#xA0;Code:&#160;Compressed&#xA0;Archives.Unix&#xA0;File&#xA0;Extraction</a><br/>
4251 &#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Include File" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Include&#xA0;File</a><br/>
4251 &#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Include File" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Include&#xA0;File</a><br/>
42524252 &#160;&#160;&#160;&#160;&#160;deprecated<b>&#xA0;</b>include&#160;<a href="include_deprecated.xml" target="_top">Deprecated&#xA0;Include&#xA0;Files</a><br/>
42534253 files&#160;<a href="include_deprecated.xml#Linking New Files to Deprecated Commands" target="_top">Deprecated&#xA0;Include&#xA0;Files:&#160;Linking&#xA0;New&#xA0;Files&#xA0;to&#xA0;Deprecated&#xA0;Commands</a><br/>
42544254 &#160;&#160;&#160;&#160;&#160;&#160;<a href="include_deprecated.xml" target="_top">Deprecated&#xA0;Include&#xA0;Files</a><br/>
43604360 &#160;&#160;&#160;&#160;<a href="nearequalext.xml" target="_top">Compare&#xA0;AD&#xA0;and&#xA0;Base&#xA0;Objects&#xA0;for&#xA0;Nearly&#xA0;Equal</a><br/>
43614361 &#160;&#160;&#160;&#160;<a href="limits.xml" target="_top">Numeric&#xA0;Limits&#xA0;For&#xA0;an&#xA0;AD&#xA0;and&#xA0;Base&#xA0;Types</a><br/>
43624362 &#160;&#160;&#160;&#160;<a href="exp_apx_main.cpp.xml" target="_top">Correctness&#xA0;Tests&#xA0;For&#xA0;Exponential&#xA0;Approximation&#xA0;in&#xA0;Introduction</a><br/>
4363 &#160;&#160;&#160;&#160;<a href="cppad.xml" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
4363 &#160;&#160;&#160;&#160;<a href="cppad.xml" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
43644364 for<b>_</b>jac<b>_</b>sparse&#160;<a href="old_atomic.xml#for_jac_sparse" target="_top">User&#xA0;Defined&#xA0;Atomic&#xA0;AD&#xA0;Functions:&#160;for_jac_sparse</a><br/>
43654365 for<b>_</b>sparse<b>_</b>jac&#160;<a href="atomic_matrix_mul.hpp.xml#for_sparse_jac" target="_top">Matrix&#xA0;Multiply&#xA0;as&#xA0;an&#xA0;Atomic&#xA0;Operation:&#160;for_sparse_jac</a><br/>
43664366 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="atomic_mat_mul.cpp.xml#Use Atomic Function.for_sparse_jac" target="_top">User&#xA0;Atomic&#xA0;Matrix&#xA0;Multiply:&#xA0;Example&#xA0;and&#xA0;Test:&#160;Use&#xA0;Atomic&#xA0;Function.for_sparse_jac</a><br/>
49754975 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="base_require.xml#Include Order" target="_top">AD&lt;Base&gt;&#xA0;Requirements&#xA0;for&#xA0;Base&#xA0;Type:&#160;Include&#xA0;Order</a><br/>
49764976 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="exp_eps.xml#include" target="_top">An&#xA0;Epsilon&#xA0;Accurate&#xA0;Exponential&#xA0;Approximation:&#160;include</a><br/>
49774977 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="exp_2.xml#include" target="_top">Second&#xA0;Order&#xA0;Exponential&#xA0;Approximation:&#160;include</a><br/>
4978 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Include File" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Include&#xA0;File</a><br/>
4979 &#160;&#160;&#160;&#160;&#160;cppad<b>.</b>hpp&#160;<a href="cppad.xml#Include File" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Include&#xA0;File</a><br/>
4978 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Include File" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Include&#xA0;File</a><br/>
4979 &#160;&#160;&#160;&#160;&#160;cppad<b>.</b>hpp&#160;<a href="cppad.xml#Include File" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Include&#xA0;File</a><br/>
49804980 &#160;&#160;&#160;&#160;&#160;deprecated<b>&#xA0;</b>file&#160;<a href="include_deprecated.xml" target="_top">Deprecated&#xA0;Include&#xA0;Files</a><br/>
49814981 include<b>&#xA0;</b>directories<br/>
49824982 &#160;&#160;&#160;&#160;&#160;install&#160;<a href="cmake.xml#cmake_install_includedirs" target="_top">Using&#xA0;CMake&#xA0;to&#xA0;Configure&#xA0;CppAD:&#160;cmake_install_includedirs</a><br/>
51545154 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="example.xml#Introduction" target="_top">Examples:&#160;Introduction</a><br/>
51555155 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="exp_apx_main.cpp.xml" target="_top">Correctness&#xA0;Tests&#xA0;For&#xA0;Exponential&#xA0;Approximation&#xA0;in&#xA0;Introduction</a><br/>
51565156 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="introduction.xml" target="_top">An&#xA0;Introduction&#xA0;by&#xA0;Example&#xA0;to&#xA0;Algorithmic&#xA0;Differentiation</a><br/>
5157 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Introduction" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Introduction</a><br/>
5158 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Introduction" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Introduction</a><br/>
5157 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Introduction" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Introduction</a><br/>
5158 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Introduction" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Introduction</a><br/>
51595159 &#160;&#160;&#160;&#160;&#160;AD&#160;<a href="introduction.xml" target="_top">An&#xA0;Introduction&#xA0;by&#xA0;Example&#xA0;to&#xA0;Algorithmic&#xA0;Differentiation</a><br/>
51605160 inuse&#160;<a href="memory_leak.xml#inuse" target="_top">Memory&#xA0;Leak&#xA0;Detection:&#160;inuse</a><br/>
51615161 &#160;&#160;&#160;&#160;&#160;omp<b>_</b>alloc&#160;<a href="omp_inuse.xml#Deprecated" target="_top">Amount&#xA0;of&#xA0;Memory&#xA0;a&#xA0;Thread&#xA0;is&#xA0;Currently&#xA0;Using:&#160;Deprecated</a><br/>
59655965 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="faq.xml#Namespace" target="_top">Frequently&#xA0;Asked&#xA0;Questions&#xA0;and&#xA0;Answers:&#160;Namespace</a><br/>
59665966 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="faq.xml#Namespace" target="_top">Frequently&#xA0;Asked&#xA0;Questions&#xA0;and&#xA0;Answers:&#160;Namespace</a><br/>
59675967 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad_eigen.hpp.xml#CppAD Namespace" target="_top">Enable&#xA0;Use&#xA0;of&#xA0;Eigen&#xA0;Linear&#xA0;Algebra&#xA0;Package&#xA0;with&#xA0;CppAD:&#160;CppAD&#xA0;Namespace</a><br/>
5968 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Namespace" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Namespace</a><br/>
5969 &#160;&#160;&#160;&#160;&#160;CppAD&#160;<a href="cppad.xml#Namespace" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Namespace</a><br/>
5968 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Namespace" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Namespace</a><br/>
5969 &#160;&#160;&#160;&#160;&#160;CppAD&#160;<a href="cppad.xml#Namespace" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Namespace</a><br/>
59705970 nan&#160;<a href="ode_err_control.cpp.xml#Nan" target="_top">OdeErrControl:&#xA0;Example&#xA0;and&#xA0;Test:&#160;Nan</a><br/>
59715971 &#160;&#160;&#160;&#160;<a href="odeerrcontrol.xml#Method.Nan" target="_top">An&#xA0;Error&#xA0;Controller&#xA0;for&#xA0;ODE&#xA0;Solvers:&#160;Method.Nan</a><br/>
59725972 &#160;&#160;&#160;&#160;<a href="rosen34.xml#Fun.Nan" target="_top">A&#xA0;3rd&#xA0;and&#xA0;4th&#xA0;Order&#xA0;Rosenbrock&#xA0;ODE&#xA0;Solver:&#160;Fun.Nan</a><br/>
63036303 &#160;&#160;&#160;<a href="atomic_afun.xml" target="_top">Using&#xA0;AD&#xA0;Version&#xA0;of&#xA0;Atomic&#xA0;Function</a><br/>
63046304 &#160;&#160;&#160;<a href="convert.xml" target="_top">Conversion&#xA0;and&#xA0;I/O&#xA0;of&#xA0;AD&#xA0;Objects</a><br/>
63056305 &#160;&#160;&#160;<a href="exp_eps.cpp.xml" target="_top">exp_eps:&#xA0;Test&#xA0;of&#xA0;exp_eps</a><br/>
6306 &#160;&#160;&#160;<a href="cppad.xml" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
6306 &#160;&#160;&#160;<a href="cppad.xml" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
63076307 ok&#160;<a href="old_atomic.xml#ok" target="_top">User&#xA0;Defined&#xA0;Atomic&#xA0;AD&#xA0;Functions:&#160;ok</a><br/>
63086308 &#160;&#160;&#160;<a href="det_grad_33.xml#ok" target="_top">Check&#xA0;Gradient&#xA0;of&#xA0;Determinant&#xA0;of&#xA0;3&#xA0;by&#xA0;3&#xA0;matrix:&#160;ok</a><br/>
63096309 &#160;&#160;&#160;<a href="det_33.xml#ok" target="_top">Check&#xA0;Determinant&#xA0;of&#xA0;3&#xA0;by&#xA0;3&#xA0;matrix:&#160;ok</a><br/>
66916691 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="speed_main.xml#package" target="_top">Running&#xA0;the&#xA0;Speed&#xA0;Test&#xA0;Program:&#160;package</a><br/>
66926692 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="speed.xml" target="_top">Speed&#xA0;Test&#xA0;an&#xA0;Operator&#xA0;Overloading&#xA0;AD&#xA0;Package</a><br/>
66936693 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad_eigen.hpp.xml" target="_top">Enable&#xA0;Use&#xA0;of&#xA0;Eigen&#xA0;Linear&#xA0;Algebra&#xA0;Package&#xA0;with&#xA0;CppAD</a><br/>
6694 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
6694 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
66956695 &#160;&#160;&#160;&#160;&#160;prefix&#160;<a href="cmake.xml#package_prefix" target="_top">Using&#xA0;CMake&#xA0;to&#xA0;Configure&#xA0;CppAD:&#160;package_prefix</a><br/>
66966696 package<b>_</b>prefix&#160;<a href="cmake.xml#package_prefix" target="_top">Using&#xA0;CMake&#xA0;to&#xA0;Configure&#xA0;CppAD:&#160;package_prefix</a><br/>
66976697 pairs&#160;<a href="wishlist.xml#Optimization.Variable Pairs" target="_top">The&#xA0;CppAD&#xA0;Wish&#xA0;List:&#160;Optimization.Variable&#xA0;Pairs</a><br/>
68656865 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="wishlist.xml#Preprocessor Symbols" target="_top">The&#xA0;CppAD&#xA0;Wish&#xA0;List:&#160;Preprocessor&#xA0;Symbols</a><br/>
68666866 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="faq.xml#Namespace.Test Vector Preprocessor Symbol" target="_top">Frequently&#xA0;Asked&#xA0;Questions&#xA0;and&#xA0;Answers:&#160;Namespace.Test&#xA0;Vector&#xA0;Preprocessor&#xA0;Symbol</a><br/>
68676867 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="preprocessor.xml" target="_top">CppAD&#xA0;API&#xA0;Preprocessor&#xA0;Symbols</a><br/>
6868 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Preprocessor&#xA0;Symbols</a><br/>
6868 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Preprocessor&#xA0;Symbols</a><br/>
68696869 &#160;&#160;&#160;&#160;&#160;CPPAD<b>_&#xA0;</b>symbol&#160;<a href="preprocessor.xml" target="_top">CppAD&#xA0;API&#xA0;Preprocessor&#xA0;Symbols</a><br/>
6870 &#160;&#160;&#160;&#160;&#160;symbol<b>&#xA0;</b>CppAD&#160;<a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Preprocessor&#xA0;Symbols</a><br/>
6870 &#160;&#160;&#160;&#160;&#160;symbol<b>&#xA0;</b>CppAD&#160;<a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Preprocessor&#xA0;Symbols</a><br/>
68716871 &#160;&#160;&#160;&#160;&#160;symbols&#160;<a href="faq.xml#Namespace.Test Vector Preprocessor Symbol" target="_top">Frequently&#xA0;Asked&#xA0;Questions&#xA0;and&#xA0;Answers:&#160;Namespace.Test&#xA0;Vector&#xA0;Preprocessor&#xA0;Symbol</a><br/>
68726872 previous&#160;<a href="whats_new.xml#Previous Years" target="_top">Changes&#xA0;and&#xA0;Additions&#xA0;to&#xA0;CppAD:&#160;Previous&#xA0;Years</a><br/>
68736873 previously&#160;<a href="tracknewdel.xml#TrackCount.Previously Deprecated" target="_top">Routines&#xA0;That&#xA0;Track&#xA0;Use&#xA0;of&#xA0;New&#xA0;and&#xA0;Delete:&#160;TrackCount.Previously&#xA0;Deprecated</a><br/>
84248424 &#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="exp_2_cppad.xml" target="_top">exp_2:&#xA0;CppAD&#xA0;Forward&#xA0;and&#xA0;Reverse&#xA0;Sweeps</a><br/>
84258425 symbol&#160;<a href="faq.xml#Namespace.Test Vector Preprocessor Symbol" target="_top">Frequently&#xA0;Asked&#xA0;Questions&#xA0;and&#xA0;Answers:&#160;Namespace.Test&#xA0;Vector&#xA0;Preprocessor&#xA0;Symbol</a><br/>
84268426 &#160;&#160;&#160;&#160;&#160;preprocessor<b>&#xA0;</b>CPPAD<b>_</b>&#160;<a href="preprocessor.xml" target="_top">CppAD&#xA0;API&#xA0;Preprocessor&#xA0;Symbols</a><br/>
8427 &#160;&#160;&#160;&#160;&#160;preprocessor<b>&#xA0;</b>CppAD&#160;<a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Preprocessor&#xA0;Symbols</a><br/>
8427 &#160;&#160;&#160;&#160;&#160;preprocessor<b>&#xA0;</b>CppAD&#160;<a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Preprocessor&#xA0;Symbols</a><br/>
84288428 symbols&#160;<a href="wishlist.xml#Preprocessor Symbols" target="_top">The&#xA0;CppAD&#xA0;Wish&#xA0;List:&#160;Preprocessor&#xA0;Symbols</a><br/>
84298429 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="preprocessor.xml" target="_top">CppAD&#xA0;API&#xA0;Preprocessor&#xA0;Symbols</a><br/>
8430 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Preprocessor&#xA0;Symbols</a><br/>
8430 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Preprocessor&#xA0;Symbols</a><br/>
84318431 &#160;&#160;&#160;&#160;&#160;preprocessor&#160;<a href="faq.xml#Namespace.Test Vector Preprocessor Symbol" target="_top">Frequently&#xA0;Asked&#xA0;Questions&#xA0;and&#xA0;Answers:&#160;Namespace.Test&#xA0;Vector&#xA0;Preprocessor&#xA0;Symbol</a><br/>
84328432 syntax&#160;<a href="time_det_by_minor_c.xml#Syntax" target="_top">Determine&#xA0;Amount&#xA0;of&#xA0;Time&#xA0;to&#xA0;Execute&#xA0;det_by_minor:&#160;Syntax</a><br/>
84338433 &#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="elapsed_seconds_c.xml#Syntax" target="_top">Returns&#xA0;Elapsed&#xA0;Number&#xA0;of&#xA0;Seconds:&#160;Syntax</a><br/>
86058605 &#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="get_eigen.sh.xml#Syntax" target="_top">Download&#xA0;and&#xA0;Install&#xA0;Eigen&#xA0;in&#xA0;Build&#xA0;Directory:&#160;Syntax</a><br/>
86068606 &#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="get_colpack.sh.xml#Syntax" target="_top">Download&#xA0;and&#xA0;Install&#xA0;ColPack&#xA0;in&#xA0;Build&#xA0;Directory:&#160;Syntax</a><br/>
86078607 &#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="get_adolc.sh.xml#Syntax" target="_top">Download&#xA0;and&#xA0;Install&#xA0;Adolc&#xA0;in&#xA0;Build&#xA0;Directory:&#160;Syntax</a><br/>
8608 &#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Syntax" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Syntax</a><br/>
8608 &#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="cppad.xml#Syntax" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms:&#160;Syntax</a><br/>
86098609 systems&#160;<a href="elapsed_seconds.xml#Microsoft Systems" target="_top">Returns&#xA0;Elapsed&#xA0;Number&#xA0;of&#xA0;Seconds:&#160;Microsoft&#xA0;Systems</a><br/>
86108610
86118611 <b><big><a name="T">T</a></big></b>
98869886 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="discrete.xml#Create AD Version" target="_top">Discrete&#xA0;AD&#xA0;Functions:&#160;Create&#xA0;AD&#xA0;Version</a><br/>
98879887 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="download.xml#Subversion.Current Version" target="_top">Download&#xA0;The&#xA0;CppAD&#xA0;Source&#xA0;Code:&#160;Subversion.Current&#xA0;Version</a><br/>
98889888 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="download.xml#Compressed Archives.Current Version" target="_top">Download&#xA0;The&#xA0;CppAD&#xA0;Source&#xA0;Code:&#160;Compressed&#xA0;Archives.Current&#xA0;Version</a><br/>
9889 &#160;&#160;&#160;&#160;&#160;CppAD&#160;<a href="cppad.xml" target="_top">cppad-20150000.7:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
9889 &#160;&#160;&#160;&#160;&#160;CppAD&#160;<a href="cppad.xml" target="_top">cppad-20150000.8:&#xA0;A&#xA0;Package&#xA0;for&#xA0;Differentiation&#xA0;of&#xA0;C++&#xA0;Algorithms</a><br/>
98909890 version<b>)</b>&#160;<a href="double_mat_mul.cpp.xml" target="_top">CppAD&#xA0;Speed:&#xA0;Matrix&#xA0;Multiplication&#xA0;(Double&#xA0;Version)</a><br/>
98919891 versions&#160;<a href="download.xml#Subversion.Release Versions" target="_top">Download&#xA0;The&#xA0;CppAD&#xA0;Source&#xA0;Code:&#160;Subversion.Release&#xA0;Versions</a><br/>
98929892 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<a href="download.xml#Subversion.Stable Versions" target="_top">Download&#xA0;The&#xA0;CppAD&#xA0;Source&#xA0;Code:&#160;Subversion.Stable&#xA0;Versions</a><br/>
204204 <a href="correct_det_by_minor_c.xml" target="_top">correct_det_by_minor_c</a><br/> </td><td> Correctness Test of det_by_minor Routine </td></tr><tr valign="top"><td>
205205 <a href="cos.cpp.xml" target="_top">cos.cpp</a><br/> </td><td> The AD cos Function: Example and Test </td></tr><tr valign="top"><td>
206206 <a href="cosh.cpp.xml" target="_top">cosh.cpp</a><br/> </td><td> The AD cosh Function: Example and Test </td></tr><tr valign="top"><td>
207 <a href="cppad.xml" target="_top">CppAD</a><br/> </td><td> cppad-20150000.7: A Package for Differentiation of C++ Algorithms </td></tr><tr valign="top"><td>
207 <a href="cppad.xml" target="_top">CppAD</a><br/> </td><td> cppad-20150000.8: A Package for Differentiation of C++ Algorithms </td></tr><tr valign="top"><td>
208208 <a href="cppad_assert.xml" target="_top">cppad_assert</a><br/> </td><td> CppAD Assertions During Execution </td></tr><tr valign="top"><td>
209209 <a href="cppad_det_lu.cpp.xml" target="_top">cppad_det_lu.cpp</a><br/> </td><td> CppAD Speed: Gradient of Determinant Using Lu Factorization </td></tr><tr valign="top"><td>
210210 <a href="cppad_det_minor.cpp.xml" target="_top">cppad_det_minor.cpp</a><br/> </td><td> CppAD Speed: Gradient of Determinant by Minor Expansion </td></tr><tr valign="top"><td>
22 // -------------------------------------------------------
33 Keyword =
44 [
5 'CppAD cppad-20150000.7: A Package for Differentiation of C++ Algorithms ',' algorithmic automatic derivative version syntax introduction example include file cppad.hpp preprocessor symbols namespace ',
5 'CppAD cppad-20150000.8: A Package for Differentiation of C++ Algorithms ',' algorithmic automatic derivative version syntax introduction example include file cppad.hpp preprocessor symbols namespace ',
66 'Install CppAD Download, Test, and Install Instructions ',' step 1: 2: cmake 3: check 4: ',
77 'download Download The CppAD Source Code ',' purpose distribution directory compressed archives current version release versions monthly unix file extraction windows install instructions subversion limitations stable ',
88 'cmake Using CMake to Configure CppAD ',' the program command build directory generator makefile cmake_install_prefix cmake_install_includedirs directories cmake_install_datadir cmake_install_docdir cmake_install_libdirs library cmake_install_postfix package_prefix cppad_cxx_flags c++ compile cppad_testvector cppad_max_num_threads maximum number cppad_sparse_list sparsity internal structure of sets cppad_tape_id_type memory usage cstdint cppad_tape_addr_type cppad_implicit_ctor_from_any_type explicit ',
22 xmlns:math='http://www.w3.org/1998/Math/MathML'
33 >
44 <head>
5 <title>cppad-20150000.7: A Package for Differentiation of C++ Algorithms</title>
5 <title>cppad-20150000.8: A Package for Differentiation of C++ Algorithms</title>
66 <meta http-equiv='Content-Type' content='text/html' charset='utf-8'/>
7 <meta name="description" id="description" content="cppad-20150000.7: A Package for Differentiation of C++ Algorithms"/>
8 <meta name="keywords" id="keywords" content=" Ad algorithmic differentiation automatic C++ algorithm derivative Cppad version cppad-20150000.7: a package for of c++ algorithms syntax introduction example include file cppad.hpp preprocessor symbols symbol namespace "/>
7 <meta name="description" id="description" content="cppad-20150000.8: A Package for Differentiation of C++ Algorithms"/>
8 <meta name="keywords" id="keywords" content=" Ad algorithmic differentiation automatic C++ algorithm derivative Cppad version cppad-20150000.8: a package for of c++ algorithms syntax introduction example include file cppad.hpp preprocessor symbols symbol namespace "/>
99 <style type='text/css'>
1010 body { color : black }
1111 body { background-color : white }
7575
7676
7777
78 <center><b><big><big>cppad-20150000.7: A Package for Differentiation of C++ Algorithms</big></big></b></center>
78 <center><b><big><big>cppad-20150000.8: A Package for Differentiation of C++ Algorithms</big></big></b></center>
7979 <br/>
8080 <b><big><a name="Syntax" id="Syntax">Syntax</a></big></b>
8181
121121
122122 current </td><td align='left' valign='top'>
123123 EPL </td><td align='left' valign='top'>
124 <a href="http://www.coin-or.org/download/source/CppAD/cppad-20150000.7.epl.tgz" target="_top"><span style='white-space: nowrap'>cppad-20150000.7.epl.tgz</span></a>
124 <a href="http://www.coin-or.org/download/source/CppAD/cppad-20150000.8.epl.tgz" target="_top"><span style='white-space: nowrap'>cppad-20150000.8.epl.tgz</span></a>
125125
126126 </td></tr><tr><td align='left' valign='top'>
127127
128128 current </td><td align='left' valign='top'>
129129 GPL </td><td align='left' valign='top'>
130 <a href="http://www.coin-or.org/download/source/CppAD/cppad-20150000.7.gpl.tgz" target="_top"><span style='white-space: nowrap'>cppad-20150000.7.gpl.tgz</span></a>
130 <a href="http://www.coin-or.org/download/source/CppAD/cppad-20150000.8.gpl.tgz" target="_top"><span style='white-space: nowrap'>cppad-20150000.8.gpl.tgz</span></a>
131131
132132 </td></tr><tr><td align='left' valign='top'>
133133
0 $Id: doc.omh 3643 2015-02-12 11:47:46Z bradbell $
0 $Id: doc.omh 3647 2015-02-15 01:06:13Z bradbell $
11 /* --------------------------------------------------------------------------
22 CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-13 Bradley M. Bell
33
9494
9595 $comment bin/version assumes that : follows cppad version number here$$
9696 $section
97 cppad-20150000.7: A Package for Differentiation of C++ Algorithms
97 cppad-20150000.8: A Package for Differentiation of C++ Algorithms
9898 $$
9999
100100 $comment This comment is used to remove the table below$$
0 $Id: download.omh 3643 2015-02-12 11:47:46Z bradbell $
0 $Id: download.omh 3647 2015-02-15 01:06:13Z bradbell $
11 /* --------------------------------------------------------------------------
22 CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-13 Bradley M. Bell
33
6262 $bold version$$ $pre $$ $cnext $bold license$$ $pre $$ $cnext $bold link$$
6363 $rnext
6464 current $cnext EPL $cnext $href%
65 http://www.coin-or.org/download/source/CppAD/cppad-20150000.7.epl.tgz%
66 cppad-20150000.7.epl.tgz%$$
65 http://www.coin-or.org/download/source/CppAD/cppad-20150000.8.epl.tgz%
66 cppad-20150000.8.epl.tgz%$$
6767 $rnext
6868 current $cnext GPL $cnext $href%
69 http://www.coin-or.org/download/source/CppAD/cppad-20150000.7.gpl.tgz%
70 cppad-20150000.7.gpl.tgz%$$
69 http://www.coin-or.org/download/source/CppAD/cppad-20150000.8.gpl.tgz%
70 cppad-20150000.8.gpl.tgz%$$
7171 $rnext
7272 old $cnext Both $cnext
7373 $href%http://www.coin-or.org/download/source/CppAD/%CppAD download page%$$
0 /* $Id: erf.cpp 3501 2014-12-25 01:10:32Z bradbell $ */
0 /* $Id: erf.cpp 3647 2015-02-15 01:06:13Z bradbell $ */
11 /* --------------------------------------------------------------------------
2 CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-13 Bradley M. Bell
2 CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-15 Bradley M. Bell
33
44 CppAD is distributed under multiple licenses. This distribution is under
5 the terms of the
5 the terms of the
66 GNU General Public License Version 3.
77
88 A copy of this license is included in the COPYING file of this distribution.
99 Please visit http://www.coin-or.org/CppAD/ for information on other licenses.
1010 -------------------------------------------------------------------------- */
1111
12 /*
13 Old example now just used for validation testing
14 */
15
1612 # include <cppad/cppad.hpp>
1713
14 namespace {
15 bool old_example(void)
16 { bool ok = true;
17 using namespace CppAD;
18 using CppAD::atan;
19 using CppAD::exp;
20 using CppAD::sqrt;
21 # if CPPAD_COMPILER_HAS_ERF
22 double eps = 100.0 * std::numeric_limits<double>::epsilon();
23 # endif
24 // Construct function object corresponding to erf
25 CPPAD_TESTVECTOR(AD<double>) ax(1);
26 CPPAD_TESTVECTOR(AD<double>) ay(1);
27 ax[0] = 0.;
28 Independent(ax);
29 ay[0] = erf(ax[0]);
30 ADFun<double> f(ax, ay);
31
32 // Construct function object corresponding to derivative of erf
33 Independent(ax);
34 double pi = 4.0 * atan(1.0);
35 ay[0] = exp( - ax[0] * ax[0] ) * 2.0 / sqrt(pi);
36 ADFun<double> df(ax, ay);
37
38 // vectors to use with function object
39 CPPAD_TESTVECTOR(double) x0(1), y0(1), x1(1), y1(1), check(1);
40
41 // check value at zero
42 x0[0] = 1.5;
43 y0 = f.Forward(0, x0);
44 check[0] = 0.96611;
45 ok &= std::fabs(check[0] - y0[0]) <= 4e-4;
46
47 // check the derivative of error function
48 x1[0] = 1.0;
49 y1 = f.Forward(1, x1);
50 check = df.Forward(0, x0);
51 ok &= NearEqual(check[0], y1[0], 0., 2e-3);
52 # if CPPAD_COMPILER_HAS_ERF
53 ok &= NearEqual(check[0], y1[0], eps, eps);
54 # endif
55
56 // check second derivative
57 CPPAD_TESTVECTOR(double) x2(1), y2(1);
58 x2[0] = 0.0;
59 y2 = f.Forward(2, x2);
60 check = df.Forward(1, x1);
61 ok &= NearEqual(check[0] / 2.0, y2[0], 0., 2e-3);
62 # if CPPAD_COMPILER_HAS_ERF
63 ok &= NearEqual(check[0] / 2.0, y2[0], eps, eps);
64 # endif
65
66 // check third derivative
67 CPPAD_TESTVECTOR(double) x3(1), y3(1);
68 x3[0] = 0.0;
69 y3 = f.Forward(3, x3);
70 check = df.Forward(2, x2);
71 ok &= NearEqual(check[0] / 3.0, y3[0], 0., 2e-3);
72 # if CPPAD_COMPILER_HAS_ERF
73 ok &= NearEqual(check[0] / 3.0, y3[0], eps, eps);
74 # endif
75
76 // check 4-th order of reverse mode
77 CPPAD_TESTVECTOR(double) w(1), dy(4), x4(1), y4(1);
78 x4[0] = 0.0;
79 w[0] = 1.0;
80 dy = f.Reverse(4, w);
81 y4 = f.Forward(4, x4);
82 //
83 ok &= NearEqual(dy[0], y1[0], 0., 2e-3);
84 # if CPPAD_COMPILER_HAS_ERF
85 ok &= NearEqual(dy[0], y1[0], eps, eps);
86 # endif
87 //
88 ok &= NearEqual(dy[1], 2.0 * y2[0], 0., 2e-3);
89 # if CPPAD_COMPILER_HAS_ERF
90 ok &= NearEqual(dy[1], 2.0 * y2[0], eps, eps);
91 # endif
92 //
93 ok &= NearEqual(dy[2], 3.0 * y3[0], 0., 2e-3);
94 # if CPPAD_COMPILER_HAS_ERF
95 ok &= NearEqual(dy[2], 3.0 * y3[0], eps, eps);
96 # endif
97 //
98 ok &= NearEqual(dy[3], 4.0 * y4[0], 0., 2e-3);
99 # if CPPAD_COMPILER_HAS_ERF
100 ok &= NearEqual(dy[3], 4.0 * y4[0], eps, eps);
101 # endif
102
103 return ok;
104 }
105 bool hessian(void)
106 { bool ok = true;
107 double eps = 1.0 * std::numeric_limits<double>::epsilon();
108 using CppAD::vector;
109 using CppAD::AD;
110
111 size_t n = 2;
112 size_t m = 1;
113 vector<double> x(n), w(m);
114 w[0] = 1.0;
115 vector< AD<double> > ax(n), ay(m);
116 ax[0] = x[0] = 0.5;
117 ax[1] = x[1] = 0.0;
118
119 // construct function
120 CppAD::Independent(ax);
121 ay[0] = erf( 2.0 * ax[0] );
122 CppAD::ADFun<double> f(ax, ay);
123
124 // dense hessian
125 vector<double> dense_hess = f.Hessian(x, 0);
126
127 // sparse_hessian
128 vector<double> sparse_hess = f.SparseHessian(x, w);
129
130 // Define g(u) = erf(2 * u)
131 // g'(u) = 2 * erf'(2 * u)
132 // = 2 * exp( - 2 * u * 2 * u ) * 2 / sqrt(pi)
133 // = exp( - 4 * u * u ) * 4 / sqrt(pi)
134 // g''(u) = - exp( - 4 * u * u ) * 32 * u / sqrt(pi)
135 double root_pi = std::sqrt( 4.0 * atan(1.0) );
136 double check = -std::exp(-4.0 * x[0] * x[0]) * 32.0 * x[0] / root_pi;
137
138 ok &= CppAD::NearEqual(dense_hess[0], check, eps, eps);
139 ok &= CppAD::NearEqual(sparse_hess[0], check, eps, eps);
140
141 for(size_t k = 1; k < n * n; k++)
142 { ok &= CppAD::NearEqual(dense_hess[k], 0.0, eps, eps);
143 ok &= CppAD::NearEqual(sparse_hess[k], 0.0, eps, eps);
144 }
145 return ok;
146 }
147 }
18148 bool Erf(void)
19149 { bool ok = true;
20 using namespace CppAD;
21 using CppAD::atan;
22 using CppAD::exp;
23 using CppAD::sqrt;
150 ok &= old_example();
24151 # if CPPAD_COMPILER_HAS_ERF
25 double eps = 100.0 * std::numeric_limits<double>::epsilon();
152 ok &= hessian();
26153 # endif
27 // Construct function object corresponding to erf
28 CPPAD_TESTVECTOR(AD<double>) ax(1);
29 CPPAD_TESTVECTOR(AD<double>) ay(1);
30 ax[0] = 0.;
31 Independent(ax);
32 ay[0] = erf(ax[0]);
33 ADFun<double> f(ax, ay);
34
35 // Construct function object corresponding to derivative of erf
36 Independent(ax);
37 double pi = 4.0 * atan(1.0);
38 ay[0] = exp( - ax[0] * ax[0] ) * 2.0 / sqrt(pi);
39 ADFun<double> df(ax, ay);
40
41 // vectors to use with function object
42 CPPAD_TESTVECTOR(double) x0(1), y0(1), x1(1), y1(1), check(1);
43
44 // check value at zero
45 x0[0] = 1.5;
46 y0 = f.Forward(0, x0);
47 check[0] = 0.96611;
48 ok &= std::fabs(check[0] - y0[0]) <= 4e-4;
49
50 // check the derivative of error function
51 x1[0] = 1.0;
52 y1 = f.Forward(1, x1);
53 check = df.Forward(0, x0);
54 ok &= NearEqual(check[0], y1[0], 0., 2e-3);
55 # if CPPAD_COMPILER_HAS_ERF
56 ok &= NearEqual(check[0], y1[0], eps, eps);
57 # endif
58
59 // check second derivative
60 CPPAD_TESTVECTOR(double) x2(1), y2(1);
61 x2[0] = 0.0;
62 y2 = f.Forward(2, x2);
63 check = df.Forward(1, x1);
64 ok &= NearEqual(check[0] / 2.0, y2[0], 0., 2e-3);
65 # if CPPAD_COMPILER_HAS_ERF
66 ok &= NearEqual(check[0] / 2.0, y2[0], eps, eps);
67 # endif
68
69 // check third derivative
70 CPPAD_TESTVECTOR(double) x3(1), y3(1);
71 x3[0] = 0.0;
72 y3 = f.Forward(3, x3);
73 check = df.Forward(2, x2);
74 ok &= NearEqual(check[0] / 3.0, y3[0], 0., 2e-3);
75 # if CPPAD_COMPILER_HAS_ERF
76 ok &= NearEqual(check[0] / 3.0, y3[0], eps, eps);
77 # endif
78
79 // check 4-th order of reverse mode
80 CPPAD_TESTVECTOR(double) w(1), dy(4), x4(1), y4(1);
81 x4[0] = 0.0;
82 w[0] = 1.0;
83 dy = f.Reverse(4, w);
84 y4 = f.Forward(4, x4);
85 //
86 ok &= NearEqual(dy[0], y1[0], 0., 2e-3);
87 # if CPPAD_COMPILER_HAS_ERF
88 ok &= NearEqual(dy[0], y1[0], eps, eps);
89 # endif
90 //
91 ok &= NearEqual(dy[1], 2.0 * y2[0], 0., 2e-3);
92 # if CPPAD_COMPILER_HAS_ERF
93 ok &= NearEqual(dy[1], 2.0 * y2[0], eps, eps);
94 # endif
95 //
96 ok &= NearEqual(dy[2], 3.0 * y3[0], 0., 2e-3);
97 # if CPPAD_COMPILER_HAS_ERF
98 ok &= NearEqual(dy[2], 3.0 * y3[0], eps, eps);
99 # endif
100 //
101 ok &= NearEqual(dy[3], 4.0 * y4[0], 0., 2e-3);
102 # if CPPAD_COMPILER_HAS_ERF
103 ok &= NearEqual(dy[3], 4.0 * y4[0], eps, eps);
104 # endif
105
106154 return ok;
107155 }