Imported Upstream version 2015.00.00.1
Barak A. Pearlmutter
9 years ago
0 | # $Id: CMakeLists.txt 3509 2014-12-27 20:38:37Z bradbell $ | |
0 | # $Id: CMakeLists.txt 3546 2015-01-01 02:52:34Z bradbell $ | |
1 | 1 | # ----------------------------------------------------------------------------- |
2 | 2 | # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | # |
15 | 15 | CMAKE_MINIMUM_REQUIRED(VERSION 2.6) |
16 | 16 | |
17 | 17 | # cppad_version is used by set_version.sh to get the version number. |
18 | SET(cppad_version "20150000.0" ) | |
18 | SET(cppad_version "20150000.1" ) | |
19 | 19 | SET(cppad_url "http://www.coin-or.org/CppAD" ) |
20 | 20 | SET(cppad_description "Differentiation of C++ Algorithms" ) |
21 | 21 | |
62 | 62 | # |
63 | 63 | # sources_libs_define(prefix_name sources libs define) |
64 | 64 | INCLUDE(cmake/sources_libs_define.cmake) |
65 | # | |
66 | # check_source_runs(source variable) | |
67 | INCLUDE(cmake/check_source_runs.cmake) | |
65 | 68 | # ============================================================================= |
66 | 69 | # command line arguments |
67 | 70 | # ============================================================================= |
1 | 1 | corresponding to the current date are in the files: |
2 | 2 | http://www.coin-or.org/CppAD/Doc/whats_new.htm |
3 | 3 | http://www.coin-or.org/CppAD/Doc/whats_new.xml |
4 | ||
5 | The HTML and XML summary of recent changes for this version of CppAD | |
6 | are in the files: | |
7 | doc/whats_new.htm | |
8 | doc/whats_new.xml |
0 | CppAD is available with both the CPL and GPL licenses; see the CppAD home page. | |
0 | Homepage: | |
1 | http://www.coin-or.org/CppAD/ | |
1 | 2 | |
2 | http://www.coin-or.org/CppAD | |
3 | is the CppAD home page. | |
3 | License: | |
4 | CppAD is available from Coin-OR | |
5 | http://www.coin-or.org | |
6 | with both the CPL and GPL licenses; see the CppAD download page: | |
7 | http://www.coin-or.org/CppAD/Doc/download.xml | |
4 | 8 | |
5 | cppad@list.coin-or.org | |
6 | This mailing list is used for CppAD discussion and bug reporting. Only members | |
9 | Documentation: | |
10 | The documentation is available with the math either in latex, or rendered | |
11 | using MathML: | |
12 | http://www.coin-or.org/CppAD/Doc/cppad.htm latex | |
13 | http://www.coin-or.org/CppAD/Doc/cppad.xml MathML | |
14 | ||
15 | Install: | |
16 | http://www.coin-or.org/CppAD/Doc/install.htm | |
17 | ||
18 | Mailing List: | |
19 | The mailing list is used for CppAD discussion and bug reporting. Only members | |
7 | 20 | of the mailing list can post messages (this avoids spam on the mailing list). |
8 | 21 | You can join the mailing list using its general information page |
9 | 22 | http://list.coin-or.org/mailman/listinfo/CppAD |
10 | 23 | |
11 | doc/index.htm | |
12 | is the top level file for the user documentation of this version of CppAD. | |
13 | This version of the documentation has the mathematics displayed as latex. | |
14 | ||
15 | doc/index.xml | |
16 | is another top level file for the user documentation of this version of CppAD. | |
17 | This version of the documentation has the mathematics displayed using MathML. | |
18 | ||
19 | Directories Description | |
20 | =========== =========== | |
24 | Sub-Directories: | |
21 | 25 | bin Helper shell and sed scripts used for CppAD development. |
22 | bug Directory containing demonstration of known bugs (may be empty) | |
23 | cppad CppAD include directory (will be copied to prefix/include) | |
24 | cppad_ipopt The CppAD interface to the Ipopt optimizer. | |
25 | doc Directory containing the CppAD user documentation. | |
26 | build If present, used to build examples and tests. | |
27 | bug Directory containing demonstration of known bugs (may be empty). | |
28 | cmake CMake macros used by the CMakeLists.txt files. | |
29 | compare_c Compare speed of C and C++ on the same soruce code. | |
30 | cppad CppAD include directory (will be copied to prefix/include). | |
31 | cppad_ipopt Deprecated version of a CppAD interface to the Ipopt optimizer. | |
32 | doc If present, replaces http://www.coin-or.org/CppAD/Doc in links. | |
26 | 33 | example Most all the CppAD example files are here. |
27 | 34 | introduction Contains an introduction to Algorithmic Differentiation. |
28 | 35 | multi_thread Multi-threading examples and tests. |
29 | omh Files for user documentation only (in OMhelp input format). | |
36 | omh User documentation in OMhelp format (without any source code). | |
30 | 37 | pkgconfig pkg-config support files. |
31 | print_for Example printing during forward mode, pkg-config support files. | |
32 | speed Speed comparison tests for CppAD and other AD packages. | |
33 | test_more Extra tests that are not intended as examples. | |
38 | print_for Example printing during forward mode. | |
39 | speed Speed tests for CppAD and comparison with other AD packages. | |
40 | test_more Extra correctness tests that are not intended as examples. | |
41 | ||
42 | ||
43 | Files: | |
44 | AUTHORS Statement of authorship and copyright. | |
45 | CMakeLists.txt Top level CMake commands. | |
46 | COPYING Statement of user license to use this version of software. | |
47 | ChangeLog Pointer to logs for recent changes. | |
48 | INSTALL Points to install instructions. | |
49 | NEWS Pointer to release notes; i.e., whats new. | |
50 | README This file. | |
51 | build.sh Script used to create auto-tools distribution (deprecated). | |
52 | configure.ac Command for auto-tools configuration (deprecated). | |
53 | doc.omh Top level user documentation file. | |
54 | epl-v10.* Eclipse public license files in text and html. | |
55 | gpl-3.0.txt GNU general public license. | |
56 | makefile.am Top level automake input file. | |
34 | 57 | uw_copy*.html UW policy on intellectual property. |
35 | 58 | |
36 | ||
37 | Files Description | |
38 | ========== =========== | |
39 | AUTHORS Statement of authorship and copyright. | |
40 | Build Script used by coin-or for nightly builds | |
41 | build.sh Main shell script used for CppAD development. | |
42 | ChangeLog Pointer to log of recent changes. | |
43 | configure.ac CppAD autoconf input file. | |
44 | COPYING Statement of user license to use software. | |
45 | cpl1.0.txt A copy of the CPL license version 1.0. | |
46 | doc.omh.in Root input file for CppAD user documentation tree. | |
47 | doxyfile.in Control file for CppAD developer documentation. | |
48 | gpl2.txt A copy of the GPL license version 2. | |
49 | INSTALL Points to README file. | |
50 | install-sh A Gnu installation helper script. | |
51 | LICENSE License for this version of CppAD. | |
52 | makefile.am Top level automake input file. | |
53 | makefile.in Top level autoconf/automake output file. | |
54 | missing A Gnu installation helper script. | |
55 | NEWS Pointer to release notes; i.e., whats new in this version. | |
59 | auto-tolls created files: | |
60 | config.guess, config.sub, configure, decomp, install-sh, makefile.in, missing. |
0 | 0 | #! /bin/bash -e |
1 | # $Id: check_include_omh.sh 3308 2014-05-26 14:29:01Z bradbell $ | |
1 | # $Id: check_include_omh.sh 3526 2014-12-29 21:56:45Z bradbell $ | |
2 | 2 | # ----------------------------------------------------------------------------- |
3 | 3 | # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
4 | 4 | # |
26 | 26 | # |
27 | 27 | for file in `cat bin/check_include_omh.1.$$` |
28 | 28 | do |
29 | # assume $childtable, ... , $verbatim use % for delimiter | |
30 | # also assume verbatim commands use one line (would be nice to allow | |
29 | # 1. assume $childtable, ... , $verbatim use % for delimiter | |
30 | # 2. assume verbatim commands use one line. | |
31 | # 3. assume $childtable, $children, $contents use multiple lines. | |
31 | 32 | # multiple line verbatim commands). |
32 | 33 | sed -n < $file >> bin/check_include_omh.2.$$ \ |
33 | 34 | -e 's/^#[ \t][ \t]*//' \ |
0 | #! /bin/bash -e | |
1 | # $Id$ | |
2 | # ----------------------------------------------------------------------------- | |
3 | # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell | |
4 | # | |
5 | # CppAD is distributed under multiple licenses. This distribution is under | |
6 | # the terms of the | |
7 | # GNU General Public License Version 3. | |
8 | # | |
9 | # A copy of this license is included in the COPYING file of this distribution. | |
10 | # Please visit http://www.coin-or.org/CppAD/ for information on other licenses. | |
11 | # ----------------------------------------------------------------------------- | |
12 | if [ $0 != "bin/clean_tar.sh" ] | |
13 | then | |
14 | echo "bin/clean_tar.sh: must be executed from its parent directory" | |
15 | exit 1 | |
16 | fi | |
17 | # bash function that echos and executes a command | |
18 | echo_eval() { | |
19 | echo $* | |
20 | eval $* | |
21 | } | |
22 | # ----------------------------------------------------------------------------- | |
23 | list=`find . -name '*.swp'` | |
24 | for file in $list | |
25 | do | |
26 | response='' | |
27 | read -p "Remove the editor temporary file $file [y/n]" response | |
28 | if [ "$response" == 'y' ] | |
29 | then | |
30 | echo_eval rm $file | |
31 | fi | |
32 | done | |
33 | for dir in build doc doxydoc | |
34 | do | |
35 | if [ -e "$dir" ] | |
36 | then | |
37 | echo_eval rm -r $dir | |
38 | fi | |
39 | done | |
40 | list=`find . -name 'new'` | |
41 | for dir in $list | |
42 | do | |
43 | echo_eval rm -r $dir | |
44 | done | |
45 | list=`find . \ | |
46 | \( -name '*.err' \) -or \ | |
47 | \( -name '*.log' \) -or \ | |
48 | \( -name '*.tmp' \) -or \ | |
49 | \( -name 'junk.*' \) -or \ | |
50 | \( -name 'temp.*' \) -or \ | |
51 | \( -name 'test_one.exe' \) -or \ | |
52 | \( -name 'test_one.sh' \) -or \ | |
53 | \( -name 'test_one.cpp' \) -or \ | |
54 | \( -name 'aclocal.m4' \) -or \ | |
55 | \( -name 'ar-lib' \) -or \ | |
56 | \( -name 'configure.hpp' \) -or \ | |
57 | \( -name 'git_commit.sh' \) -or \ | |
58 | \( -name 'junk' \) -or \ | |
59 | \( -name 'temp' \) | \ | |
60 | sed -e '/\.git\//d' -e '/example\/atomic\/test_one.sh/d' ` | |
61 | for file in $list | |
62 | do | |
63 | echo_eval rm $file | |
64 | done | |
65 | version=`date +%Y%m%d` | |
66 | name=`pwd | sed -e 's|.*/||'` | |
67 | cd .. | |
68 | cp -r $name $name-$version | |
69 | echo_eval tar -czf $name-$version.tgz $name-$version | |
70 | rm -rf $name-$version |
0 | 0 | #! /bin/bash -e |
1 | # $Id: new_release.sh 3512 2014-12-27 20:39:59Z bradbell $ | |
1 | # $Id: new_release.sh 3546 2015-01-01 02:52:34Z bradbell $ | |
2 | 2 | # ----------------------------------------------------------------------------- |
3 | 3 | # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-13 Bradley M. Bell |
4 | 4 | # |
22 | 22 | # ----------------------------------------------------------------------------- |
23 | 23 | repository="https://projects.coin-or.org/svn/CppAD" |
24 | 24 | stable_version="20150000" |
25 | release='0' | |
25 | release='1' | |
26 | 26 | release_version="$stable_version.$release" |
27 | 27 | # ----------------------------------------------------------------------------- |
28 | 28 | # Check release version |
35 | 35 | exit 1 |
36 | 36 | fi |
37 | 37 | # ----------------------------------------------------------------------------- |
38 | echo_eval git checkout $stable_version | |
38 | echo_eval git checkout stable/$stable_version | |
39 | 39 | # ----------------------------------------------------------------------------- |
40 | 40 | # |
41 | 41 | check_one=`bin/version.sh get` |
85 | 85 | -e "/^ *<release/,/^ *<\/release/s/[0-9]\{8\}\.[0-9]*/$release_version/" |
86 | 86 | # |
87 | 87 | echo "Use the command the following command to finish the process" |
88 | echo " svn commit -m \"$msg\" ../../conf/projDesc.xml" | |
88 | echo " svn commit -m \"$msg\" build/conf/projDesc.xml" |
0 | 0 | #! /bin/bash -e |
1 | # $Id: run_cmake.sh 3476 2014-12-16 17:15:01Z bradbell $ | |
1 | # $Id: run_cmake.sh 3526 2014-12-29 21:56:45Z bradbell $ | |
2 | 2 | # ----------------------------------------------------------------------------- |
3 | 3 | # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
4 | 4 | # |
23 | 23 | # ----------------------------------------------- |
24 | 24 | verbose='no' |
25 | 25 | standard='c++11' |
26 | testvector='boost' | |
27 | 26 | debug_speed='no' |
28 | 27 | profile_speed='no' |
28 | clang='no' | |
29 | testvector='boost' | |
29 | 30 | while [ "$1" != "" ] |
30 | 31 | do |
31 | 32 | if [ "$1" == '--verbose' ] |
34 | 35 | elif [ "$1" == '--c++98' ] |
35 | 36 | then |
36 | 37 | standard='c++98' |
38 | elif [ "$1" == '--debug_speed' ] | |
39 | then | |
40 | debug_speed='yes' | |
41 | profile_speed='no' | |
42 | elif [ "$1" == '--profile_speed' ] | |
43 | then | |
44 | profile_speed='yes' | |
45 | debug_speed='no' | |
46 | elif [ "$1" == '--clang' ] | |
47 | then | |
48 | clang='yes' | |
37 | 49 | elif [ "$1" == '--cppad_vector' ] |
38 | 50 | then |
39 | 51 | testvector='cppad' |
43 | 55 | elif [ "$1" == '--eigen_vector' ] |
44 | 56 | then |
45 | 57 | testvector='eigen' |
46 | elif [ "$1" == '--debug_speed' ] | |
47 | then | |
48 | debug_speed='yes' | |
49 | profile_speed='no' | |
50 | elif [ "$1" == '--profile_speed' ] | |
51 | then | |
52 | profile_speed='yes' | |
53 | debug_speed='no' | |
54 | 58 | else |
55 | options='[--verbose] [--c++98] [--<package>_vector]' | |
56 | options="$options [--debug_speed] [--profile_speed']" | |
57 | echo "usage: bin/run_cmake.sh: $options" | |
58 | echo 'where <package> is cppad, boost, or eigen' | |
59 | cat << EOF | |
60 | usage: bin/run_cmake.sh: \\ | |
61 | [--verbose] \\ | |
62 | [--c++98] \\ | |
63 | [--debug_speed] \\ | |
64 | [--profile_speed] \\ | |
65 | [--clang ] \\ | |
66 | [--<package>_vector] | |
67 | ||
68 | where <package> is cppad, boost, or eigen | |
69 | EOF | |
59 | 70 | exit 1 |
60 | 71 | fi |
61 | 72 | shift |
132 | 143 | fi |
133 | 144 | cmake_args="$cmake_args -D cppad_cxx_flags='$cppad_cxx_flags'" |
134 | 145 | # |
146 | # clang | |
147 | if [ "$clang" == 'yes' ] | |
148 | then | |
149 | cmake_args="$cmake_args -D CMAKE_C_COMPILER=clang" | |
150 | cmake_args="$cmake_args -D CMAKE_CXX_COMPILER=clang++" | |
151 | fi | |
152 | # | |
135 | 153 | # simple options |
136 | cmake_args="$cmake_args -D cppad_implicit_ctor_from_any_type_from_any_type=NO" | |
154 | cmake_args="$cmake_args -D cppad_implicit_ctor_from_any_type=NO" | |
137 | 155 | cmake_args="$cmake_args -D cppad_sparse_list=YES" |
138 | 156 | cmake_args="$cmake_args -D cppad_testvector=$testvector" |
139 | 157 | cmake_args="$cmake_args -D cppad_tape_id_type='int32_t'" |
0 | # $Id$ | |
1 | # ----------------------------------------------------------------------------- | |
2 | # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-13 Bradley M. Bell | |
3 | # | |
4 | # CppAD is distributed under multiple licenses. This distribution is under | |
5 | # the terms of the | |
6 | # Eclipse Public License Version 1.0. | |
7 | # | |
8 | # A copy of this license is included in the COPYING file of this distribution. | |
9 | # Please visit http://www.coin-or.org/CppAD/ for information on other licenses. | |
10 | # ----------------------------------------------------------------------------- | |
11 | # check_source_runs(source variable) | |
12 | # | |
13 | # source: (in) | |
14 | # contains the source for the program that will be run. | |
15 | # | |
16 | # variable: (out) | |
17 | # the value of this variable is 1 if the program runs and | |
18 | # returns a zero status. Otherwise its value is 0. | |
19 | # Note that this is the reverse of the status flag returned by the program. | |
20 | # | |
21 | MACRO(check_source_runs source variable) | |
22 | SET(CMAKE_REQUIRED_INCLUDES "") | |
23 | SET(CMAKE_REQUIRED_LIBRARIES "") | |
24 | SET(CMAKE_REQUIRED_FLAGS ${cppad_cxx_flags} ) | |
25 | CHECK_CXX_SOURCE_RUNS("${source}" result) | |
26 | IF( result ) | |
27 | SET(${variable} 1) | |
28 | ELSE( result ) | |
29 | SET(${variable} 0) | |
30 | ENDIF( result ) | |
31 | MESSAGE(STATUS "${variable} = ${${variable}}" ) | |
32 | ENDMACRO( check_source_runs ) |
0 | # $Id: command_line_arg.cmake 2770 2013-03-08 13:42:40Z bradbell $ | |
0 | # $Id: command_line_arg.cmake 3529 2014-12-30 15:36:27Z bradbell $ | |
1 | 1 | # ----------------------------------------------------------------------------- |
2 | 2 | # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-13 Bradley M. Bell |
3 | 3 | # |
38 | 38 | ENDIF( NOT ( ${type} STREQUAL "STRING" ) ) |
39 | 39 | # |
40 | 40 | SET(${variable} "${default}" CACHE ${type} "${description}") |
41 | MESSAGE(STATUS "${variable} = ${${variable}}") | |
41 | MESSAGE(STATUS "${variable} = \"${${variable}}\"") | |
42 | 42 | ENDMACRO( command_line_arg ) |
0 | 0 | #! /bin/sh |
1 | 1 | # Guess values for system-dependent variables and create Makefiles. |
2 | # Generated by GNU Autoconf 2.69 for cppad 20150000.0. | |
2 | # Generated by GNU Autoconf 2.69 for cppad 20150000.1. | |
3 | 3 | # |
4 | 4 | # Report bugs to <cppad@list.coin-or.org>. |
5 | 5 | # |
579 | 579 | # Identity of this package. |
580 | 580 | PACKAGE_NAME='cppad' |
581 | 581 | PACKAGE_TARNAME='cppad' |
582 | PACKAGE_VERSION='20150000.0' | |
583 | PACKAGE_STRING='cppad 20150000.0' | |
582 | PACKAGE_VERSION='20150000.1' | |
583 | PACKAGE_STRING='cppad 20150000.1' | |
584 | 584 | PACKAGE_BUGREPORT='cppad@list.coin-or.org' |
585 | 585 | PACKAGE_URL='' |
586 | 586 | |
1400 | 1400 | # Omit some internal or obsolete options to make the list less imposing. |
1401 | 1401 | # This message is too long to be a string in the A/UX 3.1 sh. |
1402 | 1402 | cat <<_ACEOF |
1403 | \`configure' configures cppad 20150000.0 to adapt to many kinds of systems. | |
1403 | \`configure' configures cppad 20150000.1 to adapt to many kinds of systems. | |
1404 | 1404 | |
1405 | 1405 | Usage: $0 [OPTION]... [VAR=VALUE]... |
1406 | 1406 | |
1470 | 1470 | |
1471 | 1471 | if test -n "$ac_init_help"; then |
1472 | 1472 | case $ac_init_help in |
1473 | short | recursive ) echo "Configuration of cppad 20150000.0:";; | |
1473 | short | recursive ) echo "Configuration of cppad 20150000.1:";; | |
1474 | 1474 | esac |
1475 | 1475 | cat <<\_ACEOF |
1476 | 1476 | |
1603 | 1603 | test -n "$ac_init_help" && exit $ac_status |
1604 | 1604 | if $ac_init_version; then |
1605 | 1605 | cat <<\_ACEOF |
1606 | cppad configure 20150000.0 | |
1606 | cppad configure 20150000.1 | |
1607 | 1607 | generated by GNU Autoconf 2.69 |
1608 | 1608 | |
1609 | 1609 | Copyright (C) 2012 Free Software Foundation, Inc. |
2232 | 2232 | This file contains any messages produced by compilers while |
2233 | 2233 | running configure, to aid debugging if configure makes a mistake. |
2234 | 2234 | |
2235 | It was created by cppad $as_me 20150000.0, which was | |
2235 | It was created by cppad $as_me 20150000.1, which was | |
2236 | 2236 | generated by GNU Autoconf 2.69. Invocation command line was |
2237 | 2237 | |
2238 | 2238 | $ $0 $@ |
5240 | 5240 | |
5241 | 5241 | # Define the identity of the package. |
5242 | 5242 | PACKAGE='cppad' |
5243 | VERSION='20150000.0' | |
5243 | VERSION='20150000.1' | |
5244 | 5244 | |
5245 | 5245 | |
5246 | 5246 | cat >>confdefs.h <<_ACEOF |
8412 | 8412 | # report actual input values of CONFIG_FILES etc. instead of their |
8413 | 8413 | # values after options handling. |
8414 | 8414 | ac_log=" |
8415 | This file was extended by cppad $as_me 20150000.0, which was | |
8415 | This file was extended by cppad $as_me 20150000.1, which was | |
8416 | 8416 | generated by GNU Autoconf 2.69. Invocation command line was |
8417 | 8417 | |
8418 | 8418 | CONFIG_FILES = $CONFIG_FILES |
8469 | 8469 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
8470 | 8470 | ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" |
8471 | 8471 | ac_cs_version="\\ |
8472 | cppad config.status 20150000.0 | |
8472 | cppad config.status 20150000.1 | |
8473 | 8473 | configured by $0, generated by GNU Autoconf 2.69, |
8474 | 8474 | with options \\"\$ac_cs_config\\" |
8475 | 8475 |
0 | dnl $Id: configure.ac 3509 2014-12-27 20:38:37Z bradbell $ | |
0 | dnl $Id: configure.ac 3546 2015-01-01 02:52:34Z bradbell $ | |
1 | 1 | dnl --------------------------------------------------------------------------- |
2 | 2 | dnl CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | dnl |
11 | 11 | dnl |
12 | 12 | dnl Process this file with autoconf to produce a configure script. |
13 | 13 | dnl package version bug-report |
14 | AC_INIT([cppad], [20150000.0], [cppad@list.coin-or.org]) | |
14 | AC_INIT([cppad], [20150000.1], [cppad@list.coin-or.org]) | |
15 | 15 | AM_SILENT_RULES([yes]) |
16 | 16 | |
17 | 17 | dnl By defalut disable maintainer mode when running configure; |
0 | # $Id: CMakeLists.txt 3495 2014-12-24 01:16:15Z bradbell $ | |
0 | # $Id: CMakeLists.txt 3532 2014-12-30 19:49:53Z bradbell $ | |
1 | 1 | # ----------------------------------------------------------------------------- |
2 | 2 | # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | # |
47 | 47 | "type used to identify variables on one tape, size must be <= sizeof(size_t)" |
48 | 48 | ) |
49 | 49 | # |
50 | # cppad_implicit_ctor_from_any_type_from_any_type | |
51 | command_line_arg(cppad_implicit_ctor_from_any_type_from_any_type NO BOOL | |
50 | # cppad_implicit_ctor_from_any_type | |
51 | command_line_arg(cppad_implicit_ctor_from_any_type NO BOOL | |
52 | 52 | "implicit (instead of explicit) conversion from any type to AD<Base>" |
53 | 53 | ) |
54 | 54 | # ----------------------------------------------------------------------------- |
55 | 55 | # cppad_explicit_ctor |
56 | IF( cppad_implicit_ctor_from_any_type_from_any_type ) | |
56 | IF( cppad_implicit_ctor_from_any_type ) | |
57 | 57 | SET(cppad_implicit_ctor_from_any_type 1) |
58 | ELSE( cppad_implicit_ctor_from_any_type_from_any_type ) | |
58 | ELSE( cppad_implicit_ctor_from_any_type ) | |
59 | 59 | SET(cppad_implicit_ctor_from_any_type 0) |
60 | ENDIF( cppad_implicit_ctor_from_any_type_from_any_type ) | |
60 | ENDIF( cppad_implicit_ctor_from_any_type ) | |
61 | 61 | # ----------------------------------------------------------------------------- |
62 | 62 | # cppad_internal_sparse_set |
63 | 63 | # |
107 | 107 | # ----------------------------------------------------------------------------- |
108 | 108 | # cppad_has_rvalue |
109 | 109 | # |
110 | # CHECK_CXX_SOURCE_RUNS(source variable) | |
111 | SET(CMAKE_REQUIRED_INCLUDES "") | |
112 | SET(CMAKE_REQUIRED_LIBRARIES "") | |
113 | SET(CMAKE_REQUIRED_FLAGS ${cppad_cxx_flags}) | |
114 | 110 | SET(source " |
115 | 111 | int main(void) |
116 | 112 | { int&& value = 1 + 2; |
117 | 113 | if( value != 3 ) |
118 | 114 | return 1; |
119 | 115 | return 0; |
120 | }" ) | |
121 | CHECK_CXX_SOURCE_RUNS("${source}" rvalue_ok) | |
122 | IF( rvalue_ok ) | |
123 | SET(cppad_has_rvalue 1) | |
124 | ELSE( rvalue_ok ) | |
125 | SET(cppad_has_rvalue 0) | |
126 | ENDIF( rvalue_ok ) | |
127 | MESSAGE(STATUS "cppad_has_rvalue = ${cppad_has_rvalue}" ) | |
116 | }" | |
117 | ) | |
118 | check_source_runs("${source}" cppad_has_rvalue) | |
128 | 119 | # ----------------------------------------------------------------------------- |
129 | 120 | # cppad_has_nullptr |
130 | 121 | # |
131 | # CHECK_CXX_SOURCE_RUNS(source variable) | |
132 | SET(CMAKE_REQUIRED_INCLUDES "") | |
133 | SET(CMAKE_REQUIRED_LIBRARIES "") | |
134 | SET(CMAKE_REQUIRED_FLAGS ${cppad_cxx_flags}) | |
135 | 122 | SET(source " |
136 | 123 | int main(void) |
137 | 124 | { char *c = nullptr; |
138 | 125 | return 0; |
139 | }" ) | |
140 | CHECK_CXX_SOURCE_RUNS("${source}" nullptr_ok) | |
141 | IF( nullptr_ok ) | |
142 | SET(cppad_has_nullptr 1) | |
143 | ELSE( nullptr_ok ) | |
144 | SET(cppad_has_nullptr 0) | |
145 | ENDIF( nullptr_ok ) | |
146 | MESSAGE(STATUS "cppad_has_nullptr = ${cppad_has_nullptr}" ) | |
147 | ||
126 | }" | |
127 | ) | |
128 | check_source_runs("${source}" cppad_has_nullptr) | |
148 | 129 | # ----------------------------------------------------------------------------- |
149 | 130 | # cppad_has_gettimeofday |
150 | 131 | # |
151 | # CHECK_CXX_SOURCE_RUNS(source variable) | |
152 | SET(CMAKE_REQUIRED_INCLUDES "") | |
153 | SET(CMAKE_REQUIRED_LIBRARIES "") | |
154 | SET(CMAKE_REQUIRED_FLAGS ${cppad_cxx_flags}) | |
155 | 132 | SET(source " |
156 | 133 | # include<sys/time.h> |
157 | 134 | int main(void) |
158 | 135 | { struct timeval time; |
159 | 136 | gettimeofday(&time, 0); |
160 | 137 | return 0; |
161 | }" ) | |
162 | CHECK_CXX_SOURCE_RUNS("${source}" gettimeofday_ok) | |
163 | IF( gettimeofday_ok ) | |
164 | SET(cppad_has_gettimeofday 1) | |
165 | ELSE( gettimeofday_ok ) | |
166 | SET(cppad_has_gettimeofday 0) | |
167 | ENDIF( gettimeofday_ok ) | |
168 | MESSAGE(STATUS "cppad_has_gettimeofday = ${cppad_has_gettimeofday}" ) | |
138 | }" | |
139 | ) | |
140 | check_source_runs("${source}" cppad_has_gettimeofday) | |
169 | 141 | # ----------------------------------------------------------------------------- |
170 | 142 | # cppad_size_t_not_unsigned_int |
171 | 143 | # |
172 | # CHECK_CXX_SOURCE_RUNS(source variable) | |
173 | SET(CMAKE_REQUIRED_INCLUDES "") | |
174 | SET(CMAKE_REQUIRED_LIBRARIES "") | |
175 | SET(CMAKE_REQUIRED_FLAGS ${cppad_cxx_flags}) | |
176 | 144 | SET(source " |
177 | 145 | # include <cstring> |
178 | 146 | template <class T> inline bool is_pod(void) { return false; } |
180 | 148 | template <> inline bool is_pod<size_t>(void) { return true; } |
181 | 149 | int main(void) |
182 | 150 | { return 0; } |
183 | " ) | |
184 | CHECK_CXX_SOURCE_RUNS("${source}" size_t_not_unsigned_int) | |
185 | IF( size_t_not_unsigned_int ) | |
186 | SET(cppad_size_t_not_unsigned_int 1) | |
187 | ELSE( size_t_not_unsigned_int ) | |
188 | SET(cppad_size_t_not_unsigned_int 0) | |
189 | ENDIF( size_t_not_unsigned_int ) | |
190 | MESSAGE(STATUS | |
191 | "cppad_size_t_not_unsigned_int = ${cppad_size_t_not_unsigned_int}" | |
192 | ) | |
151 | " | |
152 | ) | |
153 | check_source_runs("${source}" cppad_size_t_not_unsigned_int) | |
193 | 154 | # ----------------------------------------------------------------------------- |
194 | 155 | # cppad_has_cstdint_8_to_64 |
195 | 156 | # |
196 | # CHECK_CXX_SOURCE_RUNS(source variable) | |
197 | SET(CMAKE_REQUIRED_INCLUDES "") | |
198 | SET(CMAKE_REQUIRED_LIBRARIES "") | |
199 | SET(CMAKE_REQUIRED_FLAGS ${cppad_cxx_flags}) | |
200 | 157 | SET(source " |
201 | 158 | # include <cstdint> |
202 | 159 | template <class T> inline bool is_pod(void) { return false; } |
206 | 163 | template <> inline bool is_pod<uint64_t>(void) { return true; } |
207 | 164 | int main(void) |
208 | 165 | { return 0; } |
209 | " ) | |
210 | CHECK_CXX_SOURCE_RUNS("${source}" has_cstdint_8_to_64) | |
211 | IF( has_cstdint_8_to_64 ) | |
212 | SET(cppad_has_cstdint_8_to_64 1) | |
213 | ELSE( has_cstdint_8_to_64 ) | |
214 | SET(cppad_has_cstdint_8_to_64 0) | |
215 | ENDIF( has_cstdint_8_to_64 ) | |
216 | MESSAGE(STATUS | |
217 | "cppad_has_cstdint_8_to_64 = ${cppad_has_cstdint_8_to_64}" | |
218 | ) | |
166 | " | |
167 | ) | |
168 | check_source_runs("${source}" cppad_has_cstdint_8_to_64) | |
219 | 169 | # ----------------------------------------------------------------------------- |
220 | 170 | # cppad_compiler_has_erf |
221 | 171 | # |
222 | # CHECK_CXX_SOURCE_RUNS(source variable) | |
223 | SET(CMAKE_REQUIRED_INCLUDES "") | |
224 | SET(CMAKE_REQUIRED_LIBRARIES "") | |
225 | SET(CMAKE_REQUIRED_FLAGS ${cppad_cxx_flags}) | |
226 | 172 | SET(source " |
227 | 173 | # include <cmath> |
228 | 174 | int main(void) |
230 | 176 | return 0; |
231 | 177 | return 1; |
232 | 178 | } |
233 | " ) | |
234 | CHECK_CXX_SOURCE_RUNS("${source}" has_error_function) | |
235 | IF( has_error_function ) | |
236 | SET(cppad_compiler_has_erf 1) | |
237 | ELSE( has_error_function ) | |
238 | SET(cppad_compiler_has_erf 0) | |
239 | ENDIF( has_error_function ) | |
240 | MESSAGE(STATUS | |
241 | "has_error_function = ${has_error_function}" | |
242 | "cppad_compiler_has_erf = ${cppad_compiler_has_erf}" | |
243 | ) | |
179 | " | |
180 | ) | |
181 | check_source_runs("${source}" cppad_compiler_has_erf) | |
244 | 182 | # ----------------------------------------------------------------------------- |
245 | 183 | # cppad_tape_addr_type, cppad_tape_id_type |
246 | 184 | # |
247 | FOREACH( cmake_var cppad_tape_id_type cppad_tape_addr_type ) | |
185 | FOREACH(cmake_var cppad_tape_id_type cppad_tape_addr_type ) | |
248 | 186 | SET(source " |
249 | 187 | # include <limits> |
250 | 188 | int main(void) |
251 | 189 | { bool is_signed = std::numeric_limits<${${cmake_var}}>::is_signed; |
252 | 190 | return int(! is_signed); |
253 | 191 | } |
254 | " ) | |
255 | CHECK_CXX_SOURCE_RUNS("${source}" ${cmake_var}_is_signed) | |
256 | IF( ${cmake_var}_is_signed ) | |
192 | " | |
193 | ) | |
194 | check_source_runs("${source}" ${cmake_var}_is_signed) | |
195 | IF( ${cmake_var}_is_signed STREQUAL 1 ) | |
257 | 196 | MESSAGE(STATUS |
258 | 197 | "Warning: using a signed ${cmake_var} (for CppAD developers not users)" |
259 | 198 | ) |
260 | ENDIF( ${cmake_var}_is_signed ) | |
199 | ENDIF( ${cmake_var}_is_signed STREQUAL 1 ) | |
261 | 200 | ENDFOREACH( cmake_var ) |
262 | 201 | # ----------------------------------------------------------------------------- |
263 | 202 | # cppad_max_num_threads |
264 | 203 | # |
204 | SET(CMAKE_REQUIRED_INCLUDES "") | |
205 | SET(CMAKE_REQUIRED_LIBRARIES "") | |
206 | SET(CMAKE_REQUIRED_FLAGS ) | |
265 | 207 | SET(source " |
266 | 208 | int main(void) |
267 | 209 | { const char* number = \"${cppad_max_num_threads}\"; |
268 | 210 | int value = 0; |
269 | while( '0' <= *number && *number <= '9' && *number != char(0) ) | |
211 | while( *number == ' ' ) | |
212 | number++; | |
213 | while( '0' <= *number && *number <= '9' ) | |
270 | 214 | { value = 10 * value + (int)(*number - '0'); |
271 | 215 | number++; |
272 | 216 | } |
217 | while( *number == ' ' ) | |
218 | number++; | |
273 | 219 | if( *number != char(0) ) |
274 | 220 | return 1; |
275 | 221 | if( value < 4 ) |
0 | // $Id: matrix_mul.hpp 2903 2013-09-19 15:53:13Z bradbell $ | |
0 | // $Id: matrix_mul.hpp 3543 2014-12-31 18:38:00Z bradbell $ | |
1 | 1 | # ifndef CPPAD_MATRIX_MUL_INCLUDED |
2 | 2 | # define CPPAD_MATRIX_MUL_INCLUDED |
3 | 3 | |
60 | 60 | // dimension of the domain space |
61 | 61 | const size_t n_; |
62 | 62 | // dimension of the range space |
63 | # ifndef NDEBUG | |
63 | 64 | const size_t m_; |
65 | # endif | |
64 | 66 | public: |
65 | 67 | // --------------------------------------------------------------------- |
66 | 68 | // constructor |
69 | 71 | nr_result_(nr_result) , |
70 | 72 | n_middle_(n_middle) , |
71 | 73 | nc_result_(nc_result) , |
72 | n_( nr_result * n_middle + n_middle * nc_result ) , | |
73 | m_( n_middle * nc_result ) | |
74 | n_( nr_result * n_middle + n_middle * nc_result ) | |
75 | # ifndef NDEBUG | |
76 | , m_( n_middle * nc_result ) | |
77 | # endif | |
74 | 78 | { } |
75 | 79 | private: |
76 | 80 | /* $$ |
0 | /* $Id: base_complex.hpp 3495 2014-12-24 01:16:15Z bradbell $ */ | |
0 | /* $Id: base_complex.hpp 3526 2014-12-29 21:56:45Z bradbell $ */ | |
1 | 1 | # ifndef CPPAD_BASE_COMPLEX_INCLUDED |
2 | 2 | # define CPPAD_BASE_COMPLEX_INCLUDED |
3 | 3 | /* -------------------------------------------------------------------------- |
54 | 54 | |
55 | 55 | $section Enable use of AD<Base> where Base is std::complex<double>$$ |
56 | 56 | |
57 | $children% | |
58 | example/complex_poly.cpp% | |
59 | example/not_complex_ad.cpp | |
57 | $children%example/complex_poly.cpp | |
60 | 58 | %$$ |
61 | ||
62 | 59 | $head Example$$ |
63 | 60 | The file $cref complex_poly.cpp$$ contains an example use of |
64 | 61 | $code std::complex<double>$$ type for a CppAD $icode Base$$ type. |
65 | 62 | It returns true if it succeeds and false otherwise. |
66 | ||
67 | $head See Also$$ | |
68 | The file $cref not_complex_ad.cpp$$ contains an example using | |
69 | complex arithmetic where the function is not complex differentiable. | |
70 | 63 | |
71 | 64 | $head Include Order$$ |
72 | 65 | This file is included before $code <cppad/cppad.hpp>$$ |
37 | 37 | 'base_complex.hpp.xml' |
38 | 38 | ]; |
39 | 39 | var list_down0 = [ |
40 | 'complex_poly.cpp.xml', | |
41 | 'not_complex_ad.cpp.xml' | |
40 | 'complex_poly.cpp.xml' | |
42 | 41 | ]; |
43 | 42 | var list_current0 = [ |
44 | 43 | 'base_complex.hpp.xml#Example', |
45 | 'base_complex.hpp.xml#See Also', | |
46 | 44 | 'base_complex.hpp.xml#Include Order', |
47 | 45 | 'base_complex.hpp.xml#CondExpOp', |
48 | 46 | 'base_complex.hpp.xml#CondExpRel', |
29 | 29 | 'base_complex.hpp.xml' |
30 | 30 | ]; |
31 | 31 | var list_down1 = [ |
32 | 'complex_poly.cpp.xml', | |
33 | 'not_complex_ad.cpp.xml' | |
32 | 'complex_poly.cpp.xml' | |
34 | 33 | ]; |
35 | 34 | var list_current0 = [ |
36 | 'complex_poly.cpp.xml#See Also', | |
37 | 35 | 'complex_poly.cpp.xml#Poly' |
38 | 36 | ]; |
39 | 37 | function choose_across0(item) |
0 | 0 | var Cookie = document.cookie; |
1 | 1 | var Open = ''; |
2 | var SectionCount = 548 ; | |
2 | var SectionCount = 547 ; | |
3 | 3 | var ImagesInitialized = false; |
4 | 4 | Children = new Array(); |
5 | 5 | Initialize(); |
63 | 63 | onmouseover='MouseOver(1)' |
64 | 64 | onmouseout='MouseOut(1)' |
65 | 65 | ><img src='_close.gif' name='folder1' align='middle' /> |
66 | <u>cppad-20150000.0: A Package for Differentiation of C++ Algorithms</u></a> | |
66 | <u>cppad-20150000.1: A Package for Differentiation of C++ Algorithms</u></a> | |
67 | 67 | |
68 | 68 | <span id='children1'> |
69 | <br/><a href="cppad.xml" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms</a> | |
69 | <br/><a href="cppad.xml" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms</a> | |
70 | 70 | |
71 | 71 | <br/>    <a href="_contents_xml.htm" target="_top">Table of Contents</a> |
72 | 72 | |
895 | 895 | <br/>                <a href="base_complex.hpp.xml" target="_top">Enable use of AD<Base> where Base is std::complex<double></a> |
896 | 896 | |
897 | 897 | <br/>                    <a href="complex_poly.cpp.xml" target="_top">Complex Polynomial: Example and Test</a> |
898 | ||
899 | <br/>                    <a href="not_complex_ad.cpp.xml" target="_top">Not Complex Differentiable: Example and Test</a> | |
900 | </span> | |
901 | </span> | |
902 | </span> | |
903 | </span> | |
904 | ||
905 | <br/>    <a onclick='Select(171)' | |
898 | </span> | |
899 | </span> | |
900 | </span> | |
901 | </span> | |
902 | ||
903 | <br/>    <a onclick='Select(170)' | |
904 | onmouseover='MouseOver(170)' | |
905 | onmouseout='MouseOut(170)' | |
906 | ><img src='_close.gif' name='folder170' align='middle' /> | |
907 | <u>ADFun Objects</u></a> | |
908 | ||
909 | <span id='children170'> | |
910 | <br/>    <a href="adfun.xml" target="_top">ADFun Objects</a> | |
911 | ||
912 | <br/>        <a onclick='Select(171)' | |
906 | 913 | onmouseover='MouseOver(171)' |
907 | 914 | onmouseout='MouseOut(171)' |
908 | 915 | ><img src='_close.gif' name='folder171' align='middle' /> |
909 | <u>ADFun Objects</u></a> | |
916 | <u>Declare Independent Variables and Start Recording</u></a> | |
910 | 917 | |
911 | 918 | <span id='children171'> |
912 | <br/>    <a href="adfun.xml" target="_top">ADFun Objects</a> | |
913 | ||
914 | <br/>        <a onclick='Select(172)' | |
915 | onmouseover='MouseOver(172)' | |
916 | onmouseout='MouseOut(172)' | |
917 | ><img src='_close.gif' name='folder172' align='middle' /> | |
918 | <u>Declare Independent Variables and Start Recording</u></a> | |
919 | ||
920 | <span id='children172'> | |
921 | 919 | <br/>        <a href="independent.xml" target="_top">Declare Independent Variables and Start Recording</a> |
922 | 920 | |
923 | 921 | <br/>            <a href="independent.cpp.xml" target="_top">Independent and ADFun Constructor: Example and Test</a> |
924 | 922 | </span> |
925 | 923 | |
926 | <br/>        <a onclick='Select(174)' | |
927 | onmouseover='MouseOver(174)' | |
928 | onmouseout='MouseOut(174)' | |
929 | ><img src='_close.gif' name='folder174' align='middle' /> | |
924 | <br/>        <a onclick='Select(173)' | |
925 | onmouseover='MouseOver(173)' | |
926 | onmouseout='MouseOut(173)' | |
927 | ><img src='_close.gif' name='folder173' align='middle' /> | |
930 | 928 | <u>Construct an ADFun Object and Stop Recording</u></a> |
931 | 929 | |
932 | <span id='children174'> | |
930 | <span id='children173'> | |
933 | 931 | <br/>        <a href="funconstruct.xml" target="_top">Construct an ADFun Object and Stop Recording</a> |
934 | 932 | |
935 | 933 | <br/>            <a href="fun_assign.cpp.xml" target="_top">ADFun Assignment: Example and Test</a> |
937 | 935 | |
938 | 936 | <br/>        <a href="dependent.xml" target="_top">Stop Recording and Store Operation Sequence</a> |
939 | 937 | |
940 | <br/>        <a onclick='Select(177)' | |
941 | onmouseover='MouseOver(177)' | |
942 | onmouseout='MouseOut(177)' | |
943 | ><img src='_close.gif' name='folder177' align='middle' /> | |
938 | <br/>        <a onclick='Select(176)' | |
939 | onmouseover='MouseOver(176)' | |
940 | onmouseout='MouseOut(176)' | |
941 | ><img src='_close.gif' name='folder176' align='middle' /> | |
944 | 942 | <u>Abort Recording of an Operation Sequence</u></a> |
945 | 943 | |
946 | <span id='children177'> | |
944 | <span id='children176'> | |
947 | 945 | <br/>        <a href="abort_recording.xml" target="_top">Abort Recording of an Operation Sequence</a> |
948 | 946 | |
949 | 947 | <br/>            <a href="abort_recording.cpp.xml" target="_top">Abort Current Recording: Example and Test</a> |
950 | 948 | </span> |
951 | 949 | |
952 | <br/>        <a onclick='Select(179)' | |
953 | onmouseover='MouseOver(179)' | |
954 | onmouseout='MouseOut(179)' | |
955 | ><img src='_close.gif' name='folder179' align='middle' /> | |
950 | <br/>        <a onclick='Select(178)' | |
951 | onmouseover='MouseOver(178)' | |
952 | onmouseout='MouseOut(178)' | |
953 | ><img src='_close.gif' name='folder178' align='middle' /> | |
956 | 954 | <u>ADFun Sequence Properties</u></a> |
957 | 955 | |
958 | <span id='children179'> | |
956 | <span id='children178'> | |
959 | 957 | <br/>        <a href="seq_property.xml" target="_top">ADFun Sequence Properties</a> |
960 | 958 | |
961 | 959 | <br/>            <a href="seq_property.cpp.xml" target="_top">ADFun Sequence Properties: Example and Test</a> |
962 | 960 | </span> |
963 | 961 | |
964 | <br/>        <a onclick='Select(181)' | |
962 | <br/>        <a onclick='Select(180)' | |
963 | onmouseover='MouseOver(180)' | |
964 | onmouseout='MouseOut(180)' | |
965 | ><img src='_close.gif' name='folder180' align='middle' /> | |
966 | <u>Evaluate ADFun Functions, Derivatives, and Sparsity Patterns</u></a> | |
967 | ||
968 | <span id='children180'> | |
969 | <br/>        <a href="funeval.xml" target="_top">Evaluate ADFun Functions, Derivatives, and Sparsity Patterns</a> | |
970 | ||
971 | <br/>            <a onclick='Select(181)' | |
965 | 972 | onmouseover='MouseOver(181)' |
966 | 973 | onmouseout='MouseOut(181)' |
967 | 974 | ><img src='_close.gif' name='folder181' align='middle' /> |
968 | <u>Evaluate ADFun Functions, Derivatives, and Sparsity Patterns</u></a> | |
975 | <u>Forward Mode</u></a> | |
969 | 976 | |
970 | 977 | <span id='children181'> |
971 | <br/>        <a href="funeval.xml" target="_top">Evaluate ADFun Functions, Derivatives, and Sparsity Patterns</a> | |
972 | ||
973 | <br/>            <a onclick='Select(182)' | |
974 | onmouseover='MouseOver(182)' | |
975 | onmouseout='MouseOut(182)' | |
976 | ><img src='_close.gif' name='folder182' align='middle' /> | |
977 | <u>Forward Mode</u></a> | |
978 | ||
979 | <span id='children182'> | |
980 | 978 | <br/>            <a href="forward.xml" target="_top">Forward Mode</a> |
981 | 979 | |
982 | 980 | <br/>                <a href="forward_zero.xml" target="_top">Zero Order Forward Mode: Function Values</a> |
985 | 983 | |
986 | 984 | <br/>                <a href="forward_two.xml" target="_top">Second Order Forward Mode: Derivative Values</a> |
987 | 985 | |
988 | <br/>                <a onclick='Select(186)' | |
989 | onmouseover='MouseOver(186)' | |
990 | onmouseout='MouseOut(186)' | |
991 | ><img src='_close.gif' name='folder186' align='middle' /> | |
986 | <br/>                <a onclick='Select(185)' | |
987 | onmouseover='MouseOver(185)' | |
988 | onmouseout='MouseOut(185)' | |
989 | ><img src='_close.gif' name='folder185' align='middle' /> | |
992 | 990 | <u>Multiple Order Forward Mode</u></a> |
993 | 991 | |
994 | <span id='children186'> | |
992 | <span id='children185'> | |
995 | 993 | <br/>                <a href="forward_order.xml" target="_top">Multiple Order Forward Mode</a> |
996 | 994 | |
997 | 995 | <br/>                    <a href="forward.cpp.xml" target="_top">Forward Mode: Example and Test</a> |
999 | 997 | <br/>                    <a href="forward_order.cpp.xml" target="_top">Forward Mode: Example and Test of Multiple Orders</a> |
1000 | 998 | </span> |
1001 | 999 | |
1002 | <br/>                <a onclick='Select(189)' | |
1003 | onmouseover='MouseOver(189)' | |
1004 | onmouseout='MouseOut(189)' | |
1005 | ><img src='_close.gif' name='folder189' align='middle' /> | |
1000 | <br/>                <a onclick='Select(188)' | |
1001 | onmouseover='MouseOver(188)' | |
1002 | onmouseout='MouseOut(188)' | |
1003 | ><img src='_close.gif' name='folder188' align='middle' /> | |
1006 | 1004 | <u>Multiple Directions Forward Mode</u></a> |
1007 | 1005 | |
1008 | <span id='children189'> | |
1006 | <span id='children188'> | |
1009 | 1007 | <br/>                <a href="forward_dir.xml" target="_top">Multiple Directions Forward Mode</a> |
1010 | 1008 | |
1011 | 1009 | <br/>                    <a href="forward_dir.cpp.xml" target="_top">Forward Mode: Example and Test of Multiple Directions</a> |
1013 | 1011 | |
1014 | 1012 | <br/>                <a href="size_order.xml" target="_top">Number Taylor Coefficient Orders Currently Stored</a> |
1015 | 1013 | |
1016 | <br/>                <a onclick='Select(192)' | |
1017 | onmouseover='MouseOver(192)' | |
1018 | onmouseout='MouseOut(192)' | |
1019 | ><img src='_close.gif' name='folder192' align='middle' /> | |
1014 | <br/>                <a onclick='Select(191)' | |
1015 | onmouseover='MouseOver(191)' | |
1016 | onmouseout='MouseOut(191)' | |
1017 | ><img src='_close.gif' name='folder191' align='middle' /> | |
1020 | 1018 | <u>Comparison Changes During Zero Order Forward Mode</u></a> |
1021 | 1019 | |
1022 | <span id='children192'> | |
1020 | <span id='children191'> | |
1023 | 1021 | <br/>                <a href="comparechange.xml" target="_top">Comparison Changes During Zero Order Forward Mode</a> |
1024 | 1022 | |
1025 | 1023 | <br/>                    <a href="compare_change.cpp.xml" target="_top">CompareChange and Re-Tape: Example and Test</a> |
1026 | 1024 | </span> |
1027 | 1025 | |
1028 | <br/>                <a onclick='Select(194)' | |
1029 | onmouseover='MouseOver(194)' | |
1030 | onmouseout='MouseOut(194)' | |
1031 | ><img src='_close.gif' name='folder194' align='middle' /> | |
1026 | <br/>                <a onclick='Select(193)' | |
1027 | onmouseover='MouseOver(193)' | |
1028 | onmouseout='MouseOut(193)' | |
1029 | ><img src='_close.gif' name='folder193' align='middle' /> | |
1032 | 1030 | <u>Controlling Taylor Coefficients Memory Allocation</u></a> |
1033 | 1031 | |
1034 | <span id='children194'> | |
1032 | <span id='children193'> | |
1035 | 1033 | <br/>                <a href="capacity_order.xml" target="_top">Controlling Taylor Coefficients Memory Allocation</a> |
1036 | 1034 | |
1037 | 1035 | <br/>                    <a href="capacity_order.cpp.xml" target="_top">Controlling Taylor Coefficient Memory Allocation: Example and Test</a> |
1038 | 1036 | </span> |
1039 | 1037 | |
1040 | <br/>                <a onclick='Select(196)' | |
1041 | onmouseover='MouseOver(196)' | |
1042 | onmouseout='MouseOut(196)' | |
1043 | ><img src='_close.gif' name='folder196' align='middle' /> | |
1038 | <br/>                <a onclick='Select(195)' | |
1039 | onmouseover='MouseOver(195)' | |
1040 | onmouseout='MouseOut(195)' | |
1041 | ><img src='_close.gif' name='folder195' align='middle' /> | |
1044 | 1042 | <u>Number of Variables that Can be Skipped</u></a> |
1045 | 1043 | |
1046 | <span id='children196'> | |
1044 | <span id='children195'> | |
1047 | 1045 | <br/>                <a href="number_skip.xml" target="_top">Number of Variables that Can be Skipped</a> |
1048 | 1046 | |
1049 | 1047 | <br/>                    <a href="number_skip.cpp.xml" target="_top">Number of Variables That Can be Skipped: Example and Test</a> |
1050 | 1048 | </span> |
1051 | 1049 | </span> |
1052 | 1050 | |
1053 | <br/>            <a onclick='Select(198)' | |
1051 | <br/>            <a onclick='Select(197)' | |
1052 | onmouseover='MouseOver(197)' | |
1053 | onmouseout='MouseOut(197)' | |
1054 | ><img src='_close.gif' name='folder197' align='middle' /> | |
1055 | <u>Reverse Mode</u></a> | |
1056 | ||
1057 | <span id='children197'> | |
1058 | <br/>            <a href="reverse.xml" target="_top">Reverse Mode</a> | |
1059 | ||
1060 | <br/>                <a onclick='Select(198)' | |
1054 | 1061 | onmouseover='MouseOver(198)' |
1055 | 1062 | onmouseout='MouseOut(198)' |
1056 | 1063 | ><img src='_close.gif' name='folder198' align='middle' /> |
1057 | <u>Reverse Mode</u></a> | |
1064 | <u>First Order Reverse Mode</u></a> | |
1058 | 1065 | |
1059 | 1066 | <span id='children198'> |
1060 | <br/>            <a href="reverse.xml" target="_top">Reverse Mode</a> | |
1061 | ||
1062 | <br/>                <a onclick='Select(199)' | |
1063 | onmouseover='MouseOver(199)' | |
1064 | onmouseout='MouseOut(199)' | |
1065 | ><img src='_close.gif' name='folder199' align='middle' /> | |
1066 | <u>First Order Reverse Mode</u></a> | |
1067 | ||
1068 | <span id='children199'> | |
1069 | 1067 | <br/>                <a href="reverse_one.xml" target="_top">First Order Reverse Mode</a> |
1070 | 1068 | |
1071 | 1069 | <br/>                    <a href="reverse_one.cpp.xml" target="_top">First Order Reverse Mode: Example and Test</a> |
1072 | 1070 | </span> |
1073 | 1071 | |
1074 | <br/>                <a onclick='Select(201)' | |
1075 | onmouseover='MouseOver(201)' | |
1076 | onmouseout='MouseOut(201)' | |
1077 | ><img src='_close.gif' name='folder201' align='middle' /> | |
1072 | <br/>                <a onclick='Select(200)' | |
1073 | onmouseover='MouseOver(200)' | |
1074 | onmouseout='MouseOut(200)' | |
1075 | ><img src='_close.gif' name='folder200' align='middle' /> | |
1078 | 1076 | <u>Second Order Reverse Mode</u></a> |
1079 | 1077 | |
1080 | <span id='children201'> | |
1078 | <span id='children200'> | |
1081 | 1079 | <br/>                <a href="reverse_two.xml" target="_top">Second Order Reverse Mode</a> |
1082 | 1080 | |
1083 | 1081 | <br/>                    <a href="reverse_two.cpp.xml" target="_top">Second Order Reverse ModeExample and Test</a> |
1085 | 1083 | <br/>                    <a href="hes_times_dir.cpp.xml" target="_top">Hessian Times Direction: Example and Test</a> |
1086 | 1084 | </span> |
1087 | 1085 | |
1088 | <br/>                <a onclick='Select(204)' | |
1089 | onmouseover='MouseOver(204)' | |
1090 | onmouseout='MouseOut(204)' | |
1091 | ><img src='_close.gif' name='folder204' align='middle' /> | |
1086 | <br/>                <a onclick='Select(203)' | |
1087 | onmouseover='MouseOver(203)' | |
1088 | onmouseout='MouseOut(203)' | |
1089 | ><img src='_close.gif' name='folder203' align='middle' /> | |
1092 | 1090 | <u>Any Order Reverse Mode</u></a> |
1093 | 1091 | |
1094 | <span id='children204'> | |
1092 | <span id='children203'> | |
1095 | 1093 | <br/>                <a href="reverse_any.xml" target="_top">Any Order Reverse Mode</a> |
1096 | 1094 | |
1097 | 1095 | <br/>                    <a href="reverse_three.cpp.xml" target="_top">Third Order Reverse Mode: Example and Test</a> |
1100 | 1098 | </span> |
1101 | 1099 | </span> |
1102 | 1100 | |
1103 | <br/>            <a onclick='Select(207)' | |
1101 | <br/>            <a onclick='Select(206)' | |
1102 | onmouseover='MouseOver(206)' | |
1103 | onmouseout='MouseOut(206)' | |
1104 | ><img src='_close.gif' name='folder206' align='middle' /> | |
1105 | <u>Calculating Sparsity Patterns</u></a> | |
1106 | ||
1107 | <span id='children206'> | |
1108 | <br/>            <a href="sparse.xml" target="_top">Calculating Sparsity Patterns</a> | |
1109 | ||
1110 | <br/>                <a onclick='Select(207)' | |
1104 | 1111 | onmouseover='MouseOver(207)' |
1105 | 1112 | onmouseout='MouseOut(207)' |
1106 | 1113 | ><img src='_close.gif' name='folder207' align='middle' /> |
1107 | <u>Calculating Sparsity Patterns</u></a> | |
1114 | <u>Jacobian Sparsity Pattern: Forward Mode</u></a> | |
1108 | 1115 | |
1109 | 1116 | <span id='children207'> |
1110 | <br/>            <a href="sparse.xml" target="_top">Calculating Sparsity Patterns</a> | |
1111 | ||
1112 | <br/>                <a onclick='Select(208)' | |
1113 | onmouseover='MouseOver(208)' | |
1114 | onmouseout='MouseOut(208)' | |
1115 | ><img src='_close.gif' name='folder208' align='middle' /> | |
1116 | <u>Jacobian Sparsity Pattern: Forward Mode</u></a> | |
1117 | ||
1118 | <span id='children208'> | |
1119 | 1117 | <br/>                <a href="forsparsejac.xml" target="_top">Jacobian Sparsity Pattern: Forward Mode</a> |
1120 | 1118 | |
1121 | 1119 | <br/>                    <a href="for_sparse_jac.cpp.xml" target="_top">Forward Mode Jacobian Sparsity: Example and Test</a> |
1122 | 1120 | </span> |
1123 | 1121 | |
1124 | <br/>                <a onclick='Select(210)' | |
1125 | onmouseover='MouseOver(210)' | |
1126 | onmouseout='MouseOut(210)' | |
1127 | ><img src='_close.gif' name='folder210' align='middle' /> | |
1122 | <br/>                <a onclick='Select(209)' | |
1123 | onmouseover='MouseOver(209)' | |
1124 | onmouseout='MouseOut(209)' | |
1125 | ><img src='_close.gif' name='folder209' align='middle' /> | |
1128 | 1126 | <u>Jacobian Sparsity Pattern: Reverse Mode</u></a> |
1129 | 1127 | |
1130 | <span id='children210'> | |
1128 | <span id='children209'> | |
1131 | 1129 | <br/>                <a href="revsparsejac.xml" target="_top">Jacobian Sparsity Pattern: Reverse Mode</a> |
1132 | 1130 | |
1133 | 1131 | <br/>                    <a href="rev_sparse_jac.cpp.xml" target="_top">Reverse Mode Jacobian Sparsity: Example and Test</a> |
1134 | 1132 | </span> |
1135 | 1133 | |
1136 | <br/>                <a onclick='Select(212)' | |
1137 | onmouseover='MouseOver(212)' | |
1138 | onmouseout='MouseOut(212)' | |
1139 | ><img src='_close.gif' name='folder212' align='middle' /> | |
1134 | <br/>                <a onclick='Select(211)' | |
1135 | onmouseover='MouseOver(211)' | |
1136 | onmouseout='MouseOut(211)' | |
1137 | ><img src='_close.gif' name='folder211' align='middle' /> | |
1140 | 1138 | <u>Hessian Sparsity Pattern: Reverse Mode</u></a> |
1141 | 1139 | |
1142 | <span id='children212'> | |
1140 | <span id='children211'> | |
1143 | 1141 | <br/>                <a href="revsparsehes.xml" target="_top">Hessian Sparsity Pattern: Reverse Mode</a> |
1144 | 1142 | |
1145 | 1143 | <br/>                    <a href="rev_sparse_hes.cpp.xml" target="_top">Reverse Mode Hessian Sparsity: Example and Test</a> |
1147 | 1145 | </span> |
1148 | 1146 | </span> |
1149 | 1147 | |
1150 | <br/>        <a onclick='Select(214)' | |
1148 | <br/>        <a onclick='Select(213)' | |
1149 | onmouseover='MouseOver(213)' | |
1150 | onmouseout='MouseOut(213)' | |
1151 | ><img src='_close.gif' name='folder213' align='middle' /> | |
1152 | <u>First and Second Derivatives: Easy Drivers</u></a> | |
1153 | ||
1154 | <span id='children213'> | |
1155 | <br/>        <a href="drivers.xml" target="_top">First and Second Derivatives: Easy Drivers</a> | |
1156 | ||
1157 | <br/>            <a onclick='Select(214)' | |
1151 | 1158 | onmouseover='MouseOver(214)' |
1152 | 1159 | onmouseout='MouseOut(214)' |
1153 | 1160 | ><img src='_close.gif' name='folder214' align='middle' /> |
1154 | <u>First and Second Derivatives: Easy Drivers</u></a> | |
1161 | <u>Jacobian: Driver Routine</u></a> | |
1155 | 1162 | |
1156 | 1163 | <span id='children214'> |
1157 | <br/>        <a href="drivers.xml" target="_top">First and Second Derivatives: Easy Drivers</a> | |
1158 | ||
1159 | <br/>            <a onclick='Select(215)' | |
1160 | onmouseover='MouseOver(215)' | |
1161 | onmouseout='MouseOut(215)' | |
1162 | ><img src='_close.gif' name='folder215' align='middle' /> | |
1163 | <u>Jacobian: Driver Routine</u></a> | |
1164 | ||
1165 | <span id='children215'> | |
1166 | 1164 | <br/>            <a href="jacobian.xml" target="_top">Jacobian: Driver Routine</a> |
1167 | 1165 | |
1168 | 1166 | <br/>                <a href="jacobian.cpp.xml" target="_top">Jacobian: Example and Test</a> |
1169 | 1167 | </span> |
1170 | 1168 | |
1171 | <br/>            <a onclick='Select(217)' | |
1172 | onmouseover='MouseOver(217)' | |
1173 | onmouseout='MouseOut(217)' | |
1174 | ><img src='_close.gif' name='folder217' align='middle' /> | |
1169 | <br/>            <a onclick='Select(216)' | |
1170 | onmouseover='MouseOver(216)' | |
1171 | onmouseout='MouseOut(216)' | |
1172 | ><img src='_close.gif' name='folder216' align='middle' /> | |
1175 | 1173 | <u>First Order Partial Derivative: Driver Routine</u></a> |
1176 | 1174 | |
1177 | <span id='children217'> | |
1175 | <span id='children216'> | |
1178 | 1176 | <br/>            <a href="forone.xml" target="_top">First Order Partial Derivative: Driver Routine</a> |
1179 | 1177 | |
1180 | 1178 | <br/>                <a href="for_one.cpp.xml" target="_top">First Order Partial Driver: Example and Test</a> |
1181 | 1179 | </span> |
1182 | 1180 | |
1183 | <br/>            <a onclick='Select(219)' | |
1184 | onmouseover='MouseOver(219)' | |
1185 | onmouseout='MouseOut(219)' | |
1186 | ><img src='_close.gif' name='folder219' align='middle' /> | |
1181 | <br/>            <a onclick='Select(218)' | |
1182 | onmouseover='MouseOver(218)' | |
1183 | onmouseout='MouseOut(218)' | |
1184 | ><img src='_close.gif' name='folder218' align='middle' /> | |
1187 | 1185 | <u>First Order Derivative: Driver Routine</u></a> |
1188 | 1186 | |
1189 | <span id='children219'> | |
1187 | <span id='children218'> | |
1190 | 1188 | <br/>            <a href="revone.xml" target="_top">First Order Derivative: Driver Routine</a> |
1191 | 1189 | |
1192 | 1190 | <br/>                <a href="rev_one.cpp.xml" target="_top">First Order Derivative Driver: Example and Test</a> |
1193 | 1191 | </span> |
1194 | 1192 | |
1195 | <br/>            <a onclick='Select(221)' | |
1196 | onmouseover='MouseOver(221)' | |
1197 | onmouseout='MouseOut(221)' | |
1198 | ><img src='_close.gif' name='folder221' align='middle' /> | |
1193 | <br/>            <a onclick='Select(220)' | |
1194 | onmouseover='MouseOver(220)' | |
1195 | onmouseout='MouseOut(220)' | |
1196 | ><img src='_close.gif' name='folder220' align='middle' /> | |
1199 | 1197 | <u>Hessian: Easy Driver</u></a> |
1200 | 1198 | |
1201 | <span id='children221'> | |
1199 | <span id='children220'> | |
1202 | 1200 | <br/>            <a href="hessian.xml" target="_top">Hessian: Easy Driver</a> |
1203 | 1201 | |
1204 | 1202 | <br/>                <a href="hessian.cpp.xml" target="_top">Hessian: Example and Test</a> |
1206 | 1204 | <br/>                <a href="hes_lagrangian.cpp.xml" target="_top">Hessian of Lagrangian and ADFun Default Constructor: Example and Test</a> |
1207 | 1205 | </span> |
1208 | 1206 | |
1209 | <br/>            <a onclick='Select(224)' | |
1210 | onmouseover='MouseOver(224)' | |
1211 | onmouseout='MouseOut(224)' | |
1212 | ><img src='_close.gif' name='folder224' align='middle' /> | |
1207 | <br/>            <a onclick='Select(223)' | |
1208 | onmouseover='MouseOver(223)' | |
1209 | onmouseout='MouseOut(223)' | |
1210 | ><img src='_close.gif' name='folder223' align='middle' /> | |
1213 | 1211 | <u>Forward Mode Second Partial Derivative Driver</u></a> |
1214 | 1212 | |
1215 | <span id='children224'> | |
1213 | <span id='children223'> | |
1216 | 1214 | <br/>            <a href="fortwo.xml" target="_top">Forward Mode Second Partial Derivative Driver</a> |
1217 | 1215 | |
1218 | 1216 | <br/>                <a href="for_two.cpp.xml" target="_top">Subset of Second Order Partials: Example and Test</a> |
1219 | 1217 | </span> |
1220 | 1218 | |
1221 | <br/>            <a onclick='Select(226)' | |
1222 | onmouseover='MouseOver(226)' | |
1223 | onmouseout='MouseOut(226)' | |
1224 | ><img src='_close.gif' name='folder226' align='middle' /> | |
1219 | <br/>            <a onclick='Select(225)' | |
1220 | onmouseover='MouseOver(225)' | |
1221 | onmouseout='MouseOut(225)' | |
1222 | ><img src='_close.gif' name='folder225' align='middle' /> | |
1225 | 1223 | <u>Reverse Mode Second Partial Derivative Driver</u></a> |
1226 | 1224 | |
1227 | <span id='children226'> | |
1225 | <span id='children225'> | |
1228 | 1226 | <br/>            <a href="revtwo.xml" target="_top">Reverse Mode Second Partial Derivative Driver</a> |
1229 | 1227 | |
1230 | 1228 | <br/>                <a href="rev_two.cpp.xml" target="_top">Second Partials Reverse Driver: Example and Test</a> |
1231 | 1229 | </span> |
1232 | 1230 | |
1233 | <br/>            <a onclick='Select(228)' | |
1234 | onmouseover='MouseOver(228)' | |
1235 | onmouseout='MouseOut(228)' | |
1236 | ><img src='_close.gif' name='folder228' align='middle' /> | |
1231 | <br/>            <a onclick='Select(227)' | |
1232 | onmouseover='MouseOver(227)' | |
1233 | onmouseout='MouseOut(227)' | |
1234 | ><img src='_close.gif' name='folder227' align='middle' /> | |
1237 | 1235 | <u>Sparse Jacobian: Easy Driver</u></a> |
1238 | 1236 | |
1239 | <span id='children228'> | |
1237 | <span id='children227'> | |
1240 | 1238 | <br/>            <a href="sparse_jacobian.xml" target="_top">Sparse Jacobian: Easy Driver</a> |
1241 | 1239 | |
1242 | 1240 | <br/>                <a href="sparse_jacobian.cpp.xml" target="_top">Sparse Jacobian: Example and Test</a> |
1243 | 1241 | </span> |
1244 | 1242 | |
1245 | <br/>            <a onclick='Select(230)' | |
1246 | onmouseover='MouseOver(230)' | |
1247 | onmouseout='MouseOut(230)' | |
1248 | ><img src='_close.gif' name='folder230' align='middle' /> | |
1243 | <br/>            <a onclick='Select(229)' | |
1244 | onmouseover='MouseOver(229)' | |
1245 | onmouseout='MouseOut(229)' | |
1246 | ><img src='_close.gif' name='folder229' align='middle' /> | |
1249 | 1247 | <u>Sparse Hessian: Easy Driver</u></a> |
1250 | 1248 | |
1251 | <span id='children230'> | |
1249 | <span id='children229'> | |
1252 | 1250 | <br/>            <a href="sparse_hessian.xml" target="_top">Sparse Hessian: Easy Driver</a> |
1253 | 1251 | |
1254 | 1252 | <br/>                <a href="sparse_hessian.cpp.xml" target="_top">Sparse Hessian: Example and Test</a> |
1255 | 1253 | </span> |
1256 | 1254 | </span> |
1257 | 1255 | |
1258 | <br/>        <a onclick='Select(232)' | |
1259 | onmouseover='MouseOver(232)' | |
1260 | onmouseout='MouseOut(232)' | |
1261 | ><img src='_close.gif' name='folder232' align='middle' /> | |
1256 | <br/>        <a onclick='Select(231)' | |
1257 | onmouseover='MouseOver(231)' | |
1258 | onmouseout='MouseOut(231)' | |
1259 | ><img src='_close.gif' name='folder231' align='middle' /> | |
1262 | 1260 | <u>Check an ADFun Sequence of Operations</u></a> |
1263 | 1261 | |
1264 | <span id='children232'> | |
1262 | <span id='children231'> | |
1265 | 1263 | <br/>        <a href="funcheck.xml" target="_top">Check an ADFun Sequence of Operations</a> |
1266 | 1264 | |
1267 | 1265 | <br/>            <a href="fun_check.cpp.xml" target="_top">ADFun Check and Re-Tape: Example and Test</a> |
1268 | 1266 | </span> |
1269 | 1267 | |
1270 | <br/>        <a onclick='Select(234)' | |
1271 | onmouseover='MouseOver(234)' | |
1272 | onmouseout='MouseOut(234)' | |
1273 | ><img src='_close.gif' name='folder234' align='middle' /> | |
1268 | <br/>        <a onclick='Select(233)' | |
1269 | onmouseover='MouseOver(233)' | |
1270 | onmouseout='MouseOut(233)' | |
1271 | ><img src='_close.gif' name='folder233' align='middle' /> | |
1274 | 1272 | <u>Optimize an ADFun Object Tape</u></a> |
1275 | 1273 | |
1276 | <span id='children234'> | |
1274 | <span id='children233'> | |
1277 | 1275 | <br/>        <a href="optimize.xml" target="_top">Optimize an ADFun Object Tape</a> |
1278 | 1276 | |
1279 | 1277 | <br/>            <a href="optimize.cpp.xml" target="_top">ADFun Operation Sequence Optimization: Example and Test</a> |
1280 | 1278 | </span> |
1281 | 1279 | |
1282 | <br/>        <a onclick='Select(236)' | |
1283 | onmouseover='MouseOver(236)' | |
1284 | onmouseout='MouseOut(236)' | |
1285 | ><img src='_close.gif' name='folder236' align='middle' /> | |
1280 | <br/>        <a onclick='Select(235)' | |
1281 | onmouseover='MouseOver(235)' | |
1282 | onmouseout='MouseOut(235)' | |
1283 | ><img src='_close.gif' name='folder235' align='middle' /> | |
1286 | 1284 | <u>Check an ADFun Object For Nan</u></a> |
1287 | 1285 | |
1288 | <span id='children236'> | |
1286 | <span id='children235'> | |
1289 | 1287 | <br/>        <a href="check_for_nan.xml" target="_top">Check an ADFun Object For Nan</a> |
1290 | 1288 | |
1291 | 1289 | <br/>            <a href="check_for_nan.cpp.xml" target="_top">ADFun Checking For Nan: Example and Test</a> |
1294 | 1292 | |
1295 | 1293 | <br/>    <a href="preprocessor.xml" target="_top">CppAD API Preprocessor Symbols</a> |
1296 | 1294 | |
1297 | <br/>    <a onclick='Select(239)' | |
1298 | onmouseover='MouseOver(239)' | |
1299 | onmouseout='MouseOut(239)' | |
1300 | ><img src='_close.gif' name='folder239' align='middle' /> | |
1295 | <br/>    <a onclick='Select(238)' | |
1296 | onmouseover='MouseOver(238)' | |
1297 | onmouseout='MouseOut(238)' | |
1298 | ><img src='_close.gif' name='folder238' align='middle' /> | |
1301 | 1299 | <u>Using CppAD in a Multi-Threading Environment</u></a> |
1302 | 1300 | |
1303 | <span id='children239'> | |
1301 | <span id='children238'> | |
1304 | 1302 | <br/>    <a href="multi_thread.xml" target="_top">Using CppAD in a Multi-Threading Environment</a> |
1305 | 1303 | |
1306 | 1304 | <br/>        <a href="parallel_ad.xml" target="_top">Enable AD Calculations During Parallel Mode</a> |
1307 | 1305 | |
1308 | <br/>        <a onclick='Select(241)' | |
1309 | onmouseover='MouseOver(241)' | |
1310 | onmouseout='MouseOut(241)' | |
1311 | ><img src='_close.gif' name='folder241' align='middle' /> | |
1306 | <br/>        <a onclick='Select(240)' | |
1307 | onmouseover='MouseOver(240)' | |
1308 | onmouseout='MouseOut(240)' | |
1309 | ><img src='_close.gif' name='folder240' align='middle' /> | |
1312 | 1310 | <u>Run Multi-Threading Examples and Speed Tests</u></a> |
1313 | 1311 | |
1314 | <span id='children241'> | |
1312 | <span id='children240'> | |
1315 | 1313 | <br/>        <a href="thread_test.cpp.xml" target="_top">Run Multi-Threading Examples and Speed Tests</a> |
1316 | 1314 | |
1317 | 1315 | <br/>            <a href="a11c_openmp.cpp.xml" target="_top">A Simple OpenMP Example and Test</a> |
1328 | 1326 | |
1329 | 1327 | <br/>            <a href="team_example.cpp.xml" target="_top">Using a Team of AD Threads: Example and Test</a> |
1330 | 1328 | |
1331 | <br/>            <a onclick='Select(249)' | |
1332 | onmouseover='MouseOver(249)' | |
1333 | onmouseout='MouseOut(249)' | |
1334 | ><img src='_close.gif' name='folder249' align='middle' /> | |
1329 | <br/>            <a onclick='Select(248)' | |
1330 | onmouseover='MouseOver(248)' | |
1331 | onmouseout='MouseOut(248)' | |
1332 | ><img src='_close.gif' name='folder248' align='middle' /> | |
1335 | 1333 | <u>Multi-Threaded Implementation of Summation of 1/i</u></a> |
1336 | 1334 | |
1337 | <span id='children249'> | |
1335 | <span id='children248'> | |
1338 | 1336 | <br/>            <a href="harmonic.cpp.xml" target="_top">Multi-Threaded Implementation of Summation of 1/i</a> |
1339 | 1337 | |
1340 | 1338 | <br/>                <a href="harmonic_time.cpp.xml" target="_top">Timing Test of Multi-Threaded Summation of 1/i</a> |
1342 | 1340 | <br/>                <a href="harmonic_work.cpp.xml" target="_top">Multi-threading Sum of 1/i Utility Routines</a> |
1343 | 1341 | </span> |
1344 | 1342 | |
1345 | <br/>            <a onclick='Select(252)' | |
1346 | onmouseover='MouseOver(252)' | |
1347 | onmouseout='MouseOut(252)' | |
1348 | ><img src='_close.gif' name='folder252' align='middle' /> | |
1343 | <br/>            <a onclick='Select(251)' | |
1344 | onmouseover='MouseOver(251)' | |
1345 | onmouseout='MouseOut(251)' | |
1346 | ><img src='_close.gif' name='folder251' align='middle' /> | |
1349 | 1347 | <u>A Multi-Threaded Newton's Method</u></a> |
1350 | 1348 | |
1351 | <span id='children252'> | |
1349 | <span id='children251'> | |
1352 | 1350 | <br/>            <a href="multi_newton.cpp.xml" target="_top">A Multi-Threaded Newton's Method</a> |
1353 | 1351 | |
1354 | 1352 | <br/>                <a href="multi_newton_time.cpp.xml" target="_top">Timing Test of Multi-Threaded Newton Method</a> |
1356 | 1354 | <br/>                <a href="multi_newton_work.cpp.xml" target="_top">Multi-threading Newton Method Utility Routines</a> |
1357 | 1355 | </span> |
1358 | 1356 | |
1359 | <br/>            <a onclick='Select(255)' | |
1360 | onmouseover='MouseOver(255)' | |
1361 | onmouseout='MouseOut(255)' | |
1362 | ><img src='_close.gif' name='folder255' align='middle' /> | |
1357 | <br/>            <a onclick='Select(254)' | |
1358 | onmouseover='MouseOver(254)' | |
1359 | onmouseout='MouseOut(254)' | |
1360 | ><img src='_close.gif' name='folder254' align='middle' /> | |
1363 | 1361 | <u>Specifications for A Team of AD Threads</u></a> |
1364 | 1362 | |
1365 | <span id='children255'> | |
1363 | <span id='children254'> | |
1366 | 1364 | <br/>            <a href="team_thread.hpp.xml" target="_top">Specifications for A Team of AD Threads</a> |
1367 | 1365 | |
1368 | 1366 | <br/>                <a href="team_openmp.cpp.xml" target="_top">OpenMP Implementation of a Team of AD Threads</a> |
1374 | 1372 | </span> |
1375 | 1373 | </span> |
1376 | 1374 | |
1377 | <br/>    <a onclick='Select(259)' | |
1375 | <br/>    <a onclick='Select(258)' | |
1376 | onmouseover='MouseOver(258)' | |
1377 | onmouseout='MouseOut(258)' | |
1378 | ><img src='_close.gif' name='folder258' align='middle' /> | |
1379 | <u>The CppAD General Purpose Library</u></a> | |
1380 | ||
1381 | <span id='children258'> | |
1382 | <br/>    <a href="library.xml" target="_top">The CppAD General Purpose Library</a> | |
1383 | ||
1384 | <br/>        <a onclick='Select(259)' | |
1378 | 1385 | onmouseover='MouseOver(259)' |
1379 | 1386 | onmouseout='MouseOut(259)' |
1380 | 1387 | ><img src='_close.gif' name='folder259' align='middle' /> |
1381 | <u>The CppAD General Purpose Library</u></a> | |
1388 | <u>Replacing the CppAD Error Handler</u></a> | |
1382 | 1389 | |
1383 | 1390 | <span id='children259'> |
1384 | <br/>    <a href="library.xml" target="_top">The CppAD General Purpose Library</a> | |
1385 | ||
1386 | <br/>        <a onclick='Select(260)' | |
1387 | onmouseover='MouseOver(260)' | |
1388 | onmouseout='MouseOut(260)' | |
1389 | ><img src='_close.gif' name='folder260' align='middle' /> | |
1390 | <u>Replacing the CppAD Error Handler</u></a> | |
1391 | ||
1392 | <span id='children260'> | |
1393 | 1391 | <br/>        <a href="errorhandler.xml" target="_top">Replacing the CppAD Error Handler</a> |
1394 | 1392 | |
1395 | 1393 | <br/>            <a href="error_handler.cpp.xml" target="_top">Replacing The CppAD Error Handler: Example and Test</a> |
1397 | 1395 | <br/>            <a href="cppad_assert.xml" target="_top">CppAD Assertions During Execution</a> |
1398 | 1396 | </span> |
1399 | 1397 | |
1400 | <br/>        <a onclick='Select(263)' | |
1401 | onmouseover='MouseOver(263)' | |
1402 | onmouseout='MouseOut(263)' | |
1403 | ><img src='_close.gif' name='folder263' align='middle' /> | |
1398 | <br/>        <a onclick='Select(262)' | |
1399 | onmouseover='MouseOver(262)' | |
1400 | onmouseout='MouseOut(262)' | |
1401 | ><img src='_close.gif' name='folder262' align='middle' /> | |
1404 | 1402 | <u>Determine if Two Values Are Nearly Equal</u></a> |
1405 | 1403 | |
1406 | <span id='children263'> | |
1404 | <span id='children262'> | |
1407 | 1405 | <br/>        <a href="nearequal.xml" target="_top">Determine if Two Values Are Nearly Equal</a> |
1408 | 1406 | |
1409 | 1407 | <br/>            <a href="near_equal.cpp.xml" target="_top">NearEqual Function: Example and Test</a> |
1410 | 1408 | </span> |
1411 | 1409 | |
1412 | <br/>        <a onclick='Select(265)' | |
1413 | onmouseover='MouseOver(265)' | |
1414 | onmouseout='MouseOut(265)' | |
1415 | ><img src='_close.gif' name='folder265' align='middle' /> | |
1410 | <br/>        <a onclick='Select(264)' | |
1411 | onmouseover='MouseOver(264)' | |
1412 | onmouseout='MouseOut(264)' | |
1413 | ><img src='_close.gif' name='folder264' align='middle' /> | |
1416 | 1414 | <u>Run One Speed Test and Return Results</u></a> |
1417 | 1415 | |
1418 | <span id='children265'> | |
1416 | <span id='children264'> | |
1419 | 1417 | <br/>        <a href="speed_test.xml" target="_top">Run One Speed Test and Return Results</a> |
1420 | 1418 | |
1421 | 1419 | <br/>            <a href="speed_test.cpp.xml" target="_top">speed_test: Example and test</a> |
1422 | 1420 | </span> |
1423 | 1421 | |
1424 | <br/>        <a onclick='Select(267)' | |
1425 | onmouseover='MouseOver(267)' | |
1426 | onmouseout='MouseOut(267)' | |
1427 | ><img src='_close.gif' name='folder267' align='middle' /> | |
1422 | <br/>        <a onclick='Select(266)' | |
1423 | onmouseover='MouseOver(266)' | |
1424 | onmouseout='MouseOut(266)' | |
1425 | ><img src='_close.gif' name='folder266' align='middle' /> | |
1428 | 1426 | <u>Run One Speed Test and Print Results</u></a> |
1429 | 1427 | |
1430 | <span id='children267'> | |
1428 | <span id='children266'> | |
1431 | 1429 | <br/>        <a href="speedtest.xml" target="_top">Run One Speed Test and Print Results</a> |
1432 | 1430 | |
1433 | 1431 | <br/>            <a href="speed_program.cpp.xml" target="_top">Example Use of SpeedTest</a> |
1434 | 1432 | </span> |
1435 | 1433 | |
1436 | <br/>        <a onclick='Select(269)' | |
1434 | <br/>        <a onclick='Select(268)' | |
1435 | onmouseover='MouseOver(268)' | |
1436 | onmouseout='MouseOut(268)' | |
1437 | ><img src='_close.gif' name='folder268' align='middle' /> | |
1438 | <u>Determine Amount of Time to Execute a Test</u></a> | |
1439 | ||
1440 | <span id='children268'> | |
1441 | <br/>        <a href="time_test.xml" target="_top">Determine Amount of Time to Execute a Test</a> | |
1442 | ||
1443 | <br/>            <a onclick='Select(269)' | |
1437 | 1444 | onmouseover='MouseOver(269)' |
1438 | 1445 | onmouseout='MouseOut(269)' |
1439 | 1446 | ><img src='_close.gif' name='folder269' align='middle' /> |
1440 | <u>Determine Amount of Time to Execute a Test</u></a> | |
1447 | <u>Returns Elapsed Number of Seconds</u></a> | |
1441 | 1448 | |
1442 | 1449 | <span id='children269'> |
1443 | <br/>        <a href="time_test.xml" target="_top">Determine Amount of Time to Execute a Test</a> | |
1444 | ||
1445 | <br/>            <a onclick='Select(270)' | |
1446 | onmouseover='MouseOver(270)' | |
1447 | onmouseout='MouseOut(270)' | |
1448 | ><img src='_close.gif' name='folder270' align='middle' /> | |
1449 | <u>Returns Elapsed Number of Seconds</u></a> | |
1450 | ||
1451 | <span id='children270'> | |
1452 | 1450 | <br/>            <a href="elapsed_seconds.xml" target="_top">Returns Elapsed Number of Seconds</a> |
1453 | 1451 | |
1454 | 1452 | <br/>                <a href="elapsed_seconds.cpp.xml" target="_top">Elapsed Seconds: Example and Test</a> |
1457 | 1455 | <br/>            <a href="time_test.cpp.xml" target="_top">time_test: Example and test</a> |
1458 | 1456 | </span> |
1459 | 1457 | |
1460 | <br/>        <a onclick='Select(273)' | |
1461 | onmouseover='MouseOver(273)' | |
1462 | onmouseout='MouseOut(273)' | |
1463 | ><img src='_close.gif' name='folder273' align='middle' /> | |
1458 | <br/>        <a onclick='Select(272)' | |
1459 | onmouseover='MouseOver(272)' | |
1460 | onmouseout='MouseOut(272)' | |
1461 | ><img src='_close.gif' name='folder272' align='middle' /> | |
1464 | 1462 | <u>Definition of a Numeric Type</u></a> |
1465 | 1463 | |
1466 | <span id='children273'> | |
1464 | <span id='children272'> | |
1467 | 1465 | <br/>        <a href="numerictype.xml" target="_top">Definition of a Numeric Type</a> |
1468 | 1466 | |
1469 | 1467 | <br/>            <a href="numeric_type.cpp.xml" target="_top">The NumericType: Example and Test</a> |
1470 | 1468 | </span> |
1471 | 1469 | |
1472 | <br/>        <a onclick='Select(275)' | |
1473 | onmouseover='MouseOver(275)' | |
1474 | onmouseout='MouseOut(275)' | |
1475 | ><img src='_close.gif' name='folder275' align='middle' /> | |
1470 | <br/>        <a onclick='Select(274)' | |
1471 | onmouseover='MouseOver(274)' | |
1472 | onmouseout='MouseOut(274)' | |
1473 | ><img src='_close.gif' name='folder274' align='middle' /> | |
1476 | 1474 | <u>Check NumericType Class Concept</u></a> |
1477 | 1475 | |
1478 | <span id='children275'> | |
1476 | <span id='children274'> | |
1479 | 1477 | <br/>        <a href="checknumerictype.xml" target="_top">Check NumericType Class Concept</a> |
1480 | 1478 | |
1481 | 1479 | <br/>            <a href="check_numeric_type.cpp.xml" target="_top">The CheckNumericType Function: Example and Test</a> |
1482 | 1480 | </span> |
1483 | 1481 | |
1484 | <br/>        <a onclick='Select(277)' | |
1485 | onmouseover='MouseOver(277)' | |
1486 | onmouseout='MouseOut(277)' | |
1487 | ><img src='_close.gif' name='folder277' align='middle' /> | |
1482 | <br/>        <a onclick='Select(276)' | |
1483 | onmouseover='MouseOver(276)' | |
1484 | onmouseout='MouseOut(276)' | |
1485 | ><img src='_close.gif' name='folder276' align='middle' /> | |
1488 | 1486 | <u>Definition of a Simple Vector</u></a> |
1489 | 1487 | |
1490 | <span id='children277'> | |
1488 | <span id='children276'> | |
1491 | 1489 | <br/>        <a href="simplevector.xml" target="_top">Definition of a Simple Vector</a> |
1492 | 1490 | |
1493 | 1491 | <br/>            <a href="simple_vector.cpp.xml" target="_top">Simple Vector Template Class: Example and Test</a> |
1494 | 1492 | </span> |
1495 | 1493 | |
1496 | <br/>        <a onclick='Select(279)' | |
1497 | onmouseover='MouseOver(279)' | |
1498 | onmouseout='MouseOut(279)' | |
1499 | ><img src='_close.gif' name='folder279' align='middle' /> | |
1494 | <br/>        <a onclick='Select(278)' | |
1495 | onmouseover='MouseOver(278)' | |
1496 | onmouseout='MouseOut(278)' | |
1497 | ><img src='_close.gif' name='folder278' align='middle' /> | |
1500 | 1498 | <u>Check Simple Vector Concept</u></a> |
1501 | 1499 | |
1502 | <span id='children279'> | |
1500 | <span id='children278'> | |
1503 | 1501 | <br/>        <a href="checksimplevector.xml" target="_top">Check Simple Vector Concept</a> |
1504 | 1502 | |
1505 | 1503 | <br/>            <a href="check_simple_vector.cpp.xml" target="_top">The CheckSimpleVector Function: Example and Test</a> |
1506 | 1504 | </span> |
1507 | 1505 | |
1508 | <br/>        <a onclick='Select(281)' | |
1509 | onmouseover='MouseOver(281)' | |
1510 | onmouseout='MouseOut(281)' | |
1511 | ><img src='_close.gif' name='folder281' align='middle' /> | |
1506 | <br/>        <a onclick='Select(280)' | |
1507 | onmouseover='MouseOver(280)' | |
1508 | onmouseout='MouseOut(280)' | |
1509 | ><img src='_close.gif' name='folder280' align='middle' /> | |
1512 | 1510 | <u>Obtain Nan or Determine if a Value is Nan</u></a> |
1513 | 1511 | |
1514 | <span id='children281'> | |
1512 | <span id='children280'> | |
1515 | 1513 | <br/>        <a href="nan.xml" target="_top">Obtain Nan or Determine if a Value is Nan</a> |
1516 | 1514 | |
1517 | 1515 | <br/>            <a href="nan.cpp.xml" target="_top">nan: Example and Test</a> |
1518 | 1516 | </span> |
1519 | 1517 | |
1520 | <br/>        <a onclick='Select(283)' | |
1521 | onmouseover='MouseOver(283)' | |
1522 | onmouseout='MouseOut(283)' | |
1523 | ><img src='_close.gif' name='folder283' align='middle' /> | |
1518 | <br/>        <a onclick='Select(282)' | |
1519 | onmouseover='MouseOver(282)' | |
1520 | onmouseout='MouseOut(282)' | |
1521 | ><img src='_close.gif' name='folder282' align='middle' /> | |
1524 | 1522 | <u>The Integer Power Function</u></a> |
1525 | 1523 | |
1526 | <span id='children283'> | |
1524 | <span id='children282'> | |
1527 | 1525 | <br/>        <a href="pow_int.xml" target="_top">The Integer Power Function</a> |
1528 | 1526 | |
1529 | 1527 | <br/>            <a href="pow_int.cpp.xml" target="_top">The Pow Integer Exponent: Example and Test</a> |
1530 | 1528 | </span> |
1531 | 1529 | |
1532 | <br/>        <a onclick='Select(285)' | |
1533 | onmouseover='MouseOver(285)' | |
1534 | onmouseout='MouseOut(285)' | |
1535 | ><img src='_close.gif' name='folder285' align='middle' /> | |
1530 | <br/>        <a onclick='Select(284)' | |
1531 | onmouseover='MouseOver(284)' | |
1532 | onmouseout='MouseOut(284)' | |
1533 | ><img src='_close.gif' name='folder284' align='middle' /> | |
1536 | 1534 | <u>Evaluate a Polynomial or its Derivative</u></a> |
1537 | 1535 | |
1538 | <span id='children285'> | |
1536 | <span id='children284'> | |
1539 | 1537 | <br/>        <a href="poly.xml" target="_top">Evaluate a Polynomial or its Derivative</a> |
1540 | 1538 | |
1541 | 1539 | <br/>            <a href="poly.cpp.xml" target="_top">Polynomial Evaluation: Example and Test</a> |
1543 | 1541 | <br/>            <a href="poly.hpp.xml" target="_top">Source: Poly</a> |
1544 | 1542 | </span> |
1545 | 1543 | |
1546 | <br/>        <a onclick='Select(288)' | |
1544 | <br/>        <a onclick='Select(287)' | |
1545 | onmouseover='MouseOver(287)' | |
1546 | onmouseout='MouseOut(287)' | |
1547 | ><img src='_close.gif' name='folder287' align='middle' /> | |
1548 | <u>Compute Determinants and Solve Equations by LU Factorization</u></a> | |
1549 | ||
1550 | <span id='children287'> | |
1551 | <br/>        <a href="ludetandsolve.xml" target="_top">Compute Determinants and Solve Equations by LU Factorization</a> | |
1552 | ||
1553 | <br/>            <a onclick='Select(288)' | |
1547 | 1554 | onmouseover='MouseOver(288)' |
1548 | 1555 | onmouseout='MouseOut(288)' |
1549 | 1556 | ><img src='_close.gif' name='folder288' align='middle' /> |
1550 | <u>Compute Determinants and Solve Equations by LU Factorization</u></a> | |
1557 | <u>Compute Determinant and Solve Linear Equations</u></a> | |
1551 | 1558 | |
1552 | 1559 | <span id='children288'> |
1553 | <br/>        <a href="ludetandsolve.xml" target="_top">Compute Determinants and Solve Equations by LU Factorization</a> | |
1554 | ||
1555 | <br/>            <a onclick='Select(289)' | |
1556 | onmouseover='MouseOver(289)' | |
1557 | onmouseout='MouseOut(289)' | |
1558 | ><img src='_close.gif' name='folder289' align='middle' /> | |
1559 | <u>Compute Determinant and Solve Linear Equations</u></a> | |
1560 | ||
1561 | <span id='children289'> | |
1562 | 1560 | <br/>            <a href="lusolve.xml" target="_top">Compute Determinant and Solve Linear Equations</a> |
1563 | 1561 | |
1564 | 1562 | <br/>                <a href="lu_solve.cpp.xml" target="_top">LuSolve With Complex Arguments: Example and Test</a> |
1566 | 1564 | <br/>                <a href="lu_solve.hpp.xml" target="_top">Source: LuSolve</a> |
1567 | 1565 | </span> |
1568 | 1566 | |
1569 | <br/>            <a onclick='Select(292)' | |
1570 | onmouseover='MouseOver(292)' | |
1571 | onmouseout='MouseOut(292)' | |
1572 | ><img src='_close.gif' name='folder292' align='middle' /> | |
1567 | <br/>            <a onclick='Select(291)' | |
1568 | onmouseover='MouseOver(291)' | |
1569 | onmouseout='MouseOut(291)' | |
1570 | ><img src='_close.gif' name='folder291' align='middle' /> | |
1573 | 1571 | <u>LU Factorization of A Square Matrix</u></a> |
1574 | 1572 | |
1575 | <span id='children292'> | |
1573 | <span id='children291'> | |
1576 | 1574 | <br/>            <a href="lufactor.xml" target="_top">LU Factorization of A Square Matrix</a> |
1577 | 1575 | |
1578 | 1576 | <br/>                <a href="lu_factor.cpp.xml" target="_top">LuFactor: Example and Test</a> |
1580 | 1578 | <br/>                <a href="lu_factor.hpp.xml" target="_top">Source: LuFactor</a> |
1581 | 1579 | </span> |
1582 | 1580 | |
1583 | <br/>            <a onclick='Select(295)' | |
1584 | onmouseover='MouseOver(295)' | |
1585 | onmouseout='MouseOut(295)' | |
1586 | ><img src='_close.gif' name='folder295' align='middle' /> | |
1581 | <br/>            <a onclick='Select(294)' | |
1582 | onmouseover='MouseOver(294)' | |
1583 | onmouseout='MouseOut(294)' | |
1584 | ><img src='_close.gif' name='folder294' align='middle' /> | |
1587 | 1585 | <u>Invert an LU Factored Equation</u></a> |
1588 | 1586 | |
1589 | <span id='children295'> | |
1587 | <span id='children294'> | |
1590 | 1588 | <br/>            <a href="luinvert.xml" target="_top">Invert an LU Factored Equation</a> |
1591 | 1589 | |
1592 | 1590 | <br/>                <a href="lu_invert.cpp.xml" target="_top">LuInvert: Example and Test</a> |
1595 | 1593 | </span> |
1596 | 1594 | </span> |
1597 | 1595 | |
1598 | <br/>        <a onclick='Select(298)' | |
1599 | onmouseover='MouseOver(298)' | |
1600 | onmouseout='MouseOut(298)' | |
1601 | ><img src='_close.gif' name='folder298' align='middle' /> | |
1596 | <br/>        <a onclick='Select(297)' | |
1597 | onmouseover='MouseOver(297)' | |
1598 | onmouseout='MouseOut(297)' | |
1599 | ><img src='_close.gif' name='folder297' align='middle' /> | |
1602 | 1600 | <u>One DimensionalRomberg Integration</u></a> |
1603 | 1601 | |
1604 | <span id='children298'> | |
1602 | <span id='children297'> | |
1605 | 1603 | <br/>        <a href="rombergone.xml" target="_top">One DimensionalRomberg Integration</a> |
1606 | 1604 | |
1607 | 1605 | <br/>            <a href="romberg_one.cpp.xml" target="_top">One Dimensional Romberg Integration: Example and Test</a> |
1608 | 1606 | </span> |
1609 | 1607 | |
1610 | <br/>        <a onclick='Select(300)' | |
1611 | onmouseover='MouseOver(300)' | |
1612 | onmouseout='MouseOut(300)' | |
1613 | ><img src='_close.gif' name='folder300' align='middle' /> | |
1608 | <br/>        <a onclick='Select(299)' | |
1609 | onmouseover='MouseOver(299)' | |
1610 | onmouseout='MouseOut(299)' | |
1611 | ><img src='_close.gif' name='folder299' align='middle' /> | |
1614 | 1612 | <u>Multi-dimensional Romberg Integration</u></a> |
1615 | 1613 | |
1616 | <span id='children300'> | |
1614 | <span id='children299'> | |
1617 | 1615 | <br/>        <a href="rombergmul.xml" target="_top">Multi-dimensional Romberg Integration</a> |
1618 | 1616 | |
1619 | 1617 | <br/>            <a href="rombergmul.cpp.xml" target="_top">One Dimensional Romberg Integration: Example and Test</a> |
1620 | 1618 | </span> |
1621 | 1619 | |
1622 | <br/>        <a onclick='Select(302)' | |
1623 | onmouseover='MouseOver(302)' | |
1624 | onmouseout='MouseOut(302)' | |
1625 | ><img src='_close.gif' name='folder302' align='middle' /> | |
1620 | <br/>        <a onclick='Select(301)' | |
1621 | onmouseover='MouseOver(301)' | |
1622 | onmouseout='MouseOut(301)' | |
1623 | ><img src='_close.gif' name='folder301' align='middle' /> | |
1626 | 1624 | <u>An Embedded 4th and 5th Order Runge-Kutta ODE Solver</u></a> |
1627 | 1625 | |
1628 | <span id='children302'> | |
1626 | <span id='children301'> | |
1629 | 1627 | <br/>        <a href="runge45.xml" target="_top">An Embedded 4th and 5th Order Runge-Kutta ODE Solver</a> |
1630 | 1628 | |
1631 | 1629 | <br/>            <a href="runge45_1.cpp.xml" target="_top">Runge45: Example and Test</a> |
1633 | 1631 | <br/>            <a href="runge45_2.cpp.xml" target="_top">Runge45: Example and Test</a> |
1634 | 1632 | </span> |
1635 | 1633 | |
1636 | <br/>        <a onclick='Select(305)' | |
1637 | onmouseover='MouseOver(305)' | |
1638 | onmouseout='MouseOut(305)' | |
1639 | ><img src='_close.gif' name='folder305' align='middle' /> | |
1634 | <br/>        <a onclick='Select(304)' | |
1635 | onmouseover='MouseOver(304)' | |
1636 | onmouseout='MouseOut(304)' | |
1637 | ><img src='_close.gif' name='folder304' align='middle' /> | |
1640 | 1638 | <u>A 3rd and 4th Order Rosenbrock ODE Solver</u></a> |
1641 | 1639 | |
1642 | <span id='children305'> | |
1640 | <span id='children304'> | |
1643 | 1641 | <br/>        <a href="rosen34.xml" target="_top">A 3rd and 4th Order Rosenbrock ODE Solver</a> |
1644 | 1642 | |
1645 | 1643 | <br/>            <a href="rosen_34.cpp.xml" target="_top">Rosen34: Example and Test</a> |
1646 | 1644 | </span> |
1647 | 1645 | |
1648 | <br/>        <a onclick='Select(307)' | |
1649 | onmouseover='MouseOver(307)' | |
1650 | onmouseout='MouseOut(307)' | |
1651 | ><img src='_close.gif' name='folder307' align='middle' /> | |
1646 | <br/>        <a onclick='Select(306)' | |
1647 | onmouseover='MouseOver(306)' | |
1648 | onmouseout='MouseOut(306)' | |
1649 | ><img src='_close.gif' name='folder306' align='middle' /> | |
1652 | 1650 | <u>An Error Controller for ODE Solvers</u></a> |
1653 | 1651 | |
1654 | <span id='children307'> | |
1652 | <span id='children306'> | |
1655 | 1653 | <br/>        <a href="odeerrcontrol.xml" target="_top">An Error Controller for ODE Solvers</a> |
1656 | 1654 | |
1657 | 1655 | <br/>            <a href="ode_err_control.cpp.xml" target="_top">OdeErrControl: Example and Test</a> |
1659 | 1657 | <br/>            <a href="ode_err_maxabs.cpp.xml" target="_top">OdeErrControl: Example and Test Using Maxabs Argument</a> |
1660 | 1658 | </span> |
1661 | 1659 | |
1662 | <br/>        <a onclick='Select(310)' | |
1663 | onmouseover='MouseOver(310)' | |
1664 | onmouseout='MouseOut(310)' | |
1665 | ><img src='_close.gif' name='folder310' align='middle' /> | |
1660 | <br/>        <a onclick='Select(309)' | |
1661 | onmouseover='MouseOver(309)' | |
1662 | onmouseout='MouseOut(309)' | |
1663 | ><img src='_close.gif' name='folder309' align='middle' /> | |
1666 | 1664 | <u>An Arbitrary Order Gear Method</u></a> |
1667 | 1665 | |
1668 | <span id='children310'> | |
1666 | <span id='children309'> | |
1669 | 1667 | <br/>        <a href="odegear.xml" target="_top">An Arbitrary Order Gear Method</a> |
1670 | 1668 | |
1671 | 1669 | <br/>            <a href="ode_gear.cpp.xml" target="_top">OdeGear: Example and Test</a> |
1672 | 1670 | </span> |
1673 | 1671 | |
1674 | <br/>        <a onclick='Select(312)' | |
1675 | onmouseover='MouseOver(312)' | |
1676 | onmouseout='MouseOut(312)' | |
1677 | ><img src='_close.gif' name='folder312' align='middle' /> | |
1672 | <br/>        <a onclick='Select(311)' | |
1673 | onmouseover='MouseOver(311)' | |
1674 | onmouseout='MouseOut(311)' | |
1675 | ><img src='_close.gif' name='folder311' align='middle' /> | |
1678 | 1676 | <u>An Error Controller for Gear's Ode Solvers</u></a> |
1679 | 1677 | |
1680 | <span id='children312'> | |
1678 | <span id='children311'> | |
1681 | 1679 | <br/>        <a href="odegearcontrol.xml" target="_top">An Error Controller for Gear's Ode Solvers</a> |
1682 | 1680 | |
1683 | 1681 | <br/>            <a href="ode_gear_control.cpp.xml" target="_top">OdeGearControl: Example and Test</a> |
1684 | 1682 | </span> |
1685 | 1683 | |
1686 | <br/>        <a onclick='Select(314)' | |
1687 | onmouseover='MouseOver(314)' | |
1688 | onmouseout='MouseOut(314)' | |
1689 | ><img src='_close.gif' name='folder314' align='middle' /> | |
1684 | <br/>        <a onclick='Select(313)' | |
1685 | onmouseover='MouseOver(313)' | |
1686 | onmouseout='MouseOut(313)' | |
1687 | ><img src='_close.gif' name='folder313' align='middle' /> | |
1690 | 1688 | <u>The CppAD::vector Template Class</u></a> |
1691 | 1689 | |
1692 | <span id='children314'> | |
1690 | <span id='children313'> | |
1693 | 1691 | <br/>        <a href="cppad_vector.xml" target="_top">The CppAD::vector Template Class</a> |
1694 | 1692 | |
1695 | 1693 | <br/>            <a href="cppad_vector.cpp.xml" target="_top">CppAD::vector Template Class: Example and Test</a> |
1697 | 1695 | <br/>            <a href="vector_bool.cpp.xml" target="_top">CppAD::vectorBool Class: Example and Test</a> |
1698 | 1696 | </span> |
1699 | 1697 | |
1700 | <br/>        <a onclick='Select(317)' | |
1701 | onmouseover='MouseOver(317)' | |
1702 | onmouseout='MouseOut(317)' | |
1703 | ><img src='_close.gif' name='folder317' align='middle' /> | |
1698 | <br/>        <a onclick='Select(316)' | |
1699 | onmouseover='MouseOver(316)' | |
1700 | onmouseout='MouseOut(316)' | |
1701 | ><img src='_close.gif' name='folder316' align='middle' /> | |
1704 | 1702 | <u>A Fast Multi-Threading Memory Allocator</u></a> |
1705 | 1703 | |
1706 | <span id='children317'> | |
1704 | <span id='children316'> | |
1707 | 1705 | <br/>        <a href="thread_alloc.xml" target="_top">A Fast Multi-Threading Memory Allocator</a> |
1708 | 1706 | |
1709 | 1707 | <br/>            <a href="thread_alloc.cpp.xml" target="_top">Fast Multi-Threading Memory Allocator: Example and Test</a> |
1735 | 1733 | <br/>            <a href="ta_free_all.xml" target="_top">Free All Memory That Was Allocated for Use by thread_alloc</a> |
1736 | 1734 | </span> |
1737 | 1735 | |
1738 | <br/>        <a onclick='Select(332)' | |
1739 | onmouseover='MouseOver(332)' | |
1740 | onmouseout='MouseOut(332)' | |
1741 | ><img src='_close.gif' name='folder332' align='middle' /> | |
1736 | <br/>        <a onclick='Select(331)' | |
1737 | onmouseover='MouseOver(331)' | |
1738 | onmouseout='MouseOut(331)' | |
1739 | ><img src='_close.gif' name='folder331' align='middle' /> | |
1742 | 1740 | <u>Returns Indices that Sort a Vector</u></a> |
1743 | 1741 | |
1744 | <span id='children332'> | |
1742 | <span id='children331'> | |
1745 | 1743 | <br/>        <a href="index_sort.xml" target="_top">Returns Indices that Sort a Vector</a> |
1746 | 1744 | |
1747 | 1745 | <br/>            <a href="index_sort.cpp.xml" target="_top">Index Sort: Example and Test</a> |
1748 | 1746 | </span> |
1749 | 1747 | |
1750 | <br/>        <a onclick='Select(334)' | |
1751 | onmouseover='MouseOver(334)' | |
1752 | onmouseout='MouseOut(334)' | |
1753 | ><img src='_close.gif' name='folder334' align='middle' /> | |
1748 | <br/>        <a onclick='Select(333)' | |
1749 | onmouseover='MouseOver(333)' | |
1750 | onmouseout='MouseOut(333)' | |
1751 | ><img src='_close.gif' name='folder333' align='middle' /> | |
1754 | 1752 | <u>Computing Jacobian and Hessian of Bender's Reduced Objective</u></a> |
1755 | 1753 | |
1756 | <span id='children334'> | |
1754 | <span id='children333'> | |
1757 | 1755 | <br/>        <a href="benderquad.xml" target="_top">Computing Jacobian and Hessian of Bender's Reduced Objective</a> |
1758 | 1756 | |
1759 | 1757 | <br/>            <a href="bender_quad.cpp.xml" target="_top">BenderQuad: Example and Test</a> |
1760 | 1758 | </span> |
1761 | 1759 | |
1762 | <br/>        <a onclick='Select(336)' | |
1763 | onmouseover='MouseOver(336)' | |
1764 | onmouseout='MouseOut(336)' | |
1765 | ><img src='_close.gif' name='folder336' align='middle' /> | |
1760 | <br/>        <a onclick='Select(335)' | |
1761 | onmouseover='MouseOver(335)' | |
1762 | onmouseout='MouseOut(335)' | |
1763 | ><img src='_close.gif' name='folder335' align='middle' /> | |
1766 | 1764 | <u>Jacobian and Hessian of Optimal Values</u></a> |
1767 | 1765 | |
1768 | <span id='children336'> | |
1766 | <span id='children335'> | |
1769 | 1767 | <br/>        <a href="opt_val_hes.xml" target="_top">Jacobian and Hessian of Optimal Values</a> |
1770 | 1768 | |
1771 | 1769 | <br/>            <a href="opt_val_hes.cpp.xml" target="_top">opt_val_hes: Example and Test</a> |
1772 | 1770 | </span> |
1773 | 1771 | |
1774 | <br/>        <a onclick='Select(338)' | |
1775 | onmouseover='MouseOver(338)' | |
1776 | onmouseout='MouseOut(338)' | |
1777 | ><img src='_close.gif' name='folder338' align='middle' /> | |
1772 | <br/>        <a onclick='Select(337)' | |
1773 | onmouseover='MouseOver(337)' | |
1774 | onmouseout='MouseOut(337)' | |
1775 | ><img src='_close.gif' name='folder337' align='middle' /> | |
1778 | 1776 | <u>LU Factorization of A Square Matrix and Stability Calculation</u></a> |
1779 | 1777 | |
1780 | <span id='children338'> | |
1778 | <span id='children337'> | |
1781 | 1779 | <br/>        <a href="luratio.xml" target="_top">LU Factorization of A Square Matrix and Stability Calculation</a> |
1782 | 1780 | |
1783 | 1781 | <br/>            <a href="lu_ratio.cpp.xml" target="_top">LuRatio: Example and Test</a> |
1784 | 1782 | </span> |
1785 | 1783 | </span> |
1786 | 1784 | |
1787 | <br/>    <a onclick='Select(340)' | |
1788 | onmouseover='MouseOver(340)' | |
1789 | onmouseout='MouseOut(340)' | |
1790 | ><img src='_close.gif' name='folder340' align='middle' /> | |
1785 | <br/>    <a onclick='Select(339)' | |
1786 | onmouseover='MouseOver(339)' | |
1787 | onmouseout='MouseOut(339)' | |
1788 | ><img src='_close.gif' name='folder339' align='middle' /> | |
1791 | 1789 | <u>Use Ipopt to Solve a Nonlinear Programming Problem</u></a> |
1792 | 1790 | |
1793 | <span id='children340'> | |
1791 | <span id='children339'> | |
1794 | 1792 | <br/>    <a href="ipopt_solve.xml" target="_top">Use Ipopt to Solve a Nonlinear Programming Problem</a> |
1795 | 1793 | |
1796 | 1794 | <br/>        <a href="ipopt_solve_get_started.cpp.xml" target="_top">Nonlinear Programming Using CppAD and Ipopt: Example and Test</a> |
1800 | 1798 | <br/>        <a href="ipopt_solve_ode_inverse.cpp.xml" target="_top">ODE Inverse Problem Definitions: Source Code</a> |
1801 | 1799 | </span> |
1802 | 1800 | |
1803 | <br/>    <a onclick='Select(344)' | |
1801 | <br/>    <a onclick='Select(343)' | |
1802 | onmouseover='MouseOver(343)' | |
1803 | onmouseout='MouseOut(343)' | |
1804 | ><img src='_close.gif' name='folder343' align='middle' /> | |
1805 | <u>Examples</u></a> | |
1806 | ||
1807 | <span id='children343'> | |
1808 | <br/>    <a href="example.xml" target="_top">Examples</a> | |
1809 | ||
1810 | <br/>        <a onclick='Select(344)' | |
1804 | 1811 | onmouseover='MouseOver(344)' |
1805 | 1812 | onmouseout='MouseOut(344)' |
1806 | 1813 | ><img src='_close.gif' name='folder344' align='middle' /> |
1807 | <u>Examples</u></a> | |
1814 | <u>General Examples</u></a> | |
1808 | 1815 | |
1809 | 1816 | <span id='children344'> |
1810 | <br/>    <a href="example.xml" target="_top">Examples</a> | |
1811 | ||
1812 | <br/>        <a onclick='Select(345)' | |
1813 | onmouseover='MouseOver(345)' | |
1814 | onmouseout='MouseOut(345)' | |
1815 | ><img src='_close.gif' name='folder345' align='middle' /> | |
1816 | <u>General Examples</u></a> | |
1817 | ||
1818 | <span id='children345'> | |
1819 | 1817 | <br/>        <a href="general.xml" target="_top">General Examples</a> |
1820 | 1818 | |
1821 | 1819 | <br/>            <a href="ad_fun.cpp.xml" target="_top">Creating Your Own Interface to an ADFun Object</a> |
1824 | 1822 | |
1825 | 1823 | <br/>            <a href="conj_grad.cpp.xml" target="_top">Differentiate Conjugate Gradient Algorithm: Example and Test</a> |
1826 | 1824 | |
1827 | <br/>            <a onclick='Select(349)' | |
1828 | onmouseover='MouseOver(349)' | |
1829 | onmouseout='MouseOut(349)' | |
1830 | ><img src='_close.gif' name='folder349' align='middle' /> | |
1825 | <br/>            <a onclick='Select(348)' | |
1826 | onmouseover='MouseOver(348)' | |
1827 | onmouseout='MouseOut(348)' | |
1828 | ><img src='_close.gif' name='folder348' align='middle' /> | |
1831 | 1829 | <u>Enable Use of Eigen Linear Algebra Package with CppAD</u></a> |
1832 | 1830 | |
1833 | <span id='children349'> | |
1831 | <span id='children348'> | |
1834 | 1832 | <br/>            <a href="cppad_eigen.hpp.xml" target="_top">Enable Use of Eigen Linear Algebra Package with CppAD</a> |
1835 | 1833 | |
1836 | 1834 | <br/>                <a href="eigen_plugin.hpp.xml" target="_top">Source Code for eigen_plugin.hpp</a> |
1850 | 1848 | |
1851 | 1849 | <br/>            <a href="jac_lu_det.cpp.xml" target="_top">Gradient of Determinant Using Lu Factorization: Example and Test</a> |
1852 | 1850 | |
1853 | <br/>            <a onclick='Select(358)' | |
1854 | onmouseover='MouseOver(358)' | |
1855 | onmouseout='MouseOut(358)' | |
1856 | ><img src='_close.gif' name='folder358' align='middle' /> | |
1851 | <br/>            <a onclick='Select(357)' | |
1852 | onmouseover='MouseOver(357)' | |
1853 | onmouseout='MouseOut(357)' | |
1854 | ><img src='_close.gif' name='folder357' align='middle' /> | |
1857 | 1855 | <u>Using Multiple Levels of AD</u></a> |
1858 | 1856 | |
1859 | <span id='children358'> | |
1857 | <span id='children357'> | |
1860 | 1858 | <br/>            <a href="mul_level.xml" target="_top">Using Multiple Levels of AD</a> |
1861 | 1859 | |
1862 | 1860 | <br/>                <a href="mul_level.cpp.xml" target="_top">Multiple Tapes: Example and Test</a> |
1875 | 1873 | <br/>            <a href="stack_machine.cpp.xml" target="_top">Example Differentiating a Stack Machine Interpreter</a> |
1876 | 1874 | </span> |
1877 | 1875 | |
1878 | <br/>        <a onclick='Select(366)' | |
1879 | onmouseover='MouseOver(366)' | |
1880 | onmouseout='MouseOut(366)' | |
1881 | ><img src='_close.gif' name='folder366' align='middle' /> | |
1876 | <br/>        <a onclick='Select(365)' | |
1877 | onmouseover='MouseOver(365)' | |
1878 | onmouseout='MouseOut(365)' | |
1879 | ><img src='_close.gif' name='folder365' align='middle' /> | |
1882 | 1880 | <u>Utility Routines used by CppAD Examples</u></a> |
1883 | 1881 | |
1884 | <span id='children366'> | |
1882 | <span id='children365'> | |
1885 | 1883 | <br/>        <a href="exampleutility.xml" target="_top">Utility Routines used by CppAD Examples</a> |
1886 | 1884 | |
1887 | 1885 | <br/>            <a href="example.cpp.xml" target="_top">CppAD Examples and Tests</a> |
1888 | 1886 | |
1889 | 1887 | <br/>            <a href="speed_example.cpp.xml" target="_top">Run the Speed Examples</a> |
1890 | 1888 | |
1891 | <br/>            <a onclick='Select(369)' | |
1892 | onmouseover='MouseOver(369)' | |
1893 | onmouseout='MouseOut(369)' | |
1894 | ><img src='_close.gif' name='folder369' align='middle' /> | |
1889 | <br/>            <a onclick='Select(368)' | |
1890 | onmouseover='MouseOver(368)' | |
1891 | onmouseout='MouseOut(368)' | |
1892 | ><img src='_close.gif' name='folder368' align='middle' /> | |
1895 | 1893 | <u>Lu Factor and Solve with Recorded Pivoting</u></a> |
1896 | 1894 | |
1897 | <span id='children369'> | |
1895 | <span id='children368'> | |
1898 | 1896 | <br/>            <a href="lu_vec_ad.cpp.xml" target="_top">Lu Factor and Solve with Recorded Pivoting</a> |
1899 | 1897 | |
1900 | 1898 | <br/>                <a href="lu_vec_ad_ok.cpp.xml" target="_top">Lu Factor and Solve With Recorded Pivoting: Example and Test</a> |
1906 | 1904 | <br/>        <a href="testvector.xml" target="_top">Using The CppAD Test Vector Template Class</a> |
1907 | 1905 | </span> |
1908 | 1906 | |
1909 | <br/>    <a onclick='Select(373)' | |
1907 | <br/>    <a onclick='Select(372)' | |
1908 | onmouseover='MouseOver(372)' | |
1909 | onmouseout='MouseOut(372)' | |
1910 | ><img src='_close.gif' name='folder372' align='middle' /> | |
1911 | <u>Speed Test an Operator Overloading AD Package</u></a> | |
1912 | ||
1913 | <span id='children372'> | |
1914 | <br/>    <a href="speed.xml" target="_top">Speed Test an Operator Overloading AD Package</a> | |
1915 | ||
1916 | <br/>        <a onclick='Select(373)' | |
1910 | 1917 | onmouseover='MouseOver(373)' |
1911 | 1918 | onmouseout='MouseOut(373)' |
1912 | 1919 | ><img src='_close.gif' name='folder373' align='middle' /> |
1913 | <u>Speed Test an Operator Overloading AD Package</u></a> | |
1920 | <u>Running the Speed Test Program</u></a> | |
1914 | 1921 | |
1915 | 1922 | <span id='children373'> |
1916 | <br/>    <a href="speed.xml" target="_top">Speed Test an Operator Overloading AD Package</a> | |
1917 | ||
1918 | <br/>        <a onclick='Select(374)' | |
1919 | onmouseover='MouseOver(374)' | |
1920 | onmouseout='MouseOut(374)' | |
1921 | ><img src='_close.gif' name='folder374' align='middle' /> | |
1922 | <u>Running the Speed Test Program</u></a> | |
1923 | ||
1924 | <span id='children374'> | |
1925 | 1923 | <br/>        <a href="speed_main.xml" target="_top">Running the Speed Test Program</a> |
1926 | 1924 | |
1927 | 1925 | <br/>            <a href="link_det_lu.xml" target="_top">Speed Testing Gradient of Determinant Using Lu Factorization</a> |
1941 | 1939 | <br/>            <a href="microsoft_timer.xml" target="_top">Microsoft Version of Elapsed Number of Seconds</a> |
1942 | 1940 | </span> |
1943 | 1941 | |
1944 | <br/>        <a onclick='Select(383)' | |
1942 | <br/>        <a onclick='Select(382)' | |
1943 | onmouseover='MouseOver(382)' | |
1944 | onmouseout='MouseOut(382)' | |
1945 | ><img src='_close.gif' name='folder382' align='middle' /> | |
1946 | <u>Speed Testing Utilities</u></a> | |
1947 | ||
1948 | <span id='children382'> | |
1949 | <br/>        <a href="speed_utility.xml" target="_top">Speed Testing Utilities</a> | |
1950 | ||
1951 | <br/>            <a onclick='Select(383)' | |
1945 | 1952 | onmouseover='MouseOver(383)' |
1946 | 1953 | onmouseout='MouseOut(383)' |
1947 | 1954 | ><img src='_close.gif' name='folder383' align='middle' /> |
1948 | <u>Speed Testing Utilities</u></a> | |
1955 | <u>Determinant Using Expansion by Lu Factorization</u></a> | |
1949 | 1956 | |
1950 | 1957 | <span id='children383'> |
1951 | <br/>        <a href="speed_utility.xml" target="_top">Speed Testing Utilities</a> | |
1952 | ||
1953 | <br/>            <a onclick='Select(384)' | |
1954 | onmouseover='MouseOver(384)' | |
1955 | onmouseout='MouseOut(384)' | |
1956 | ><img src='_close.gif' name='folder384' align='middle' /> | |
1957 | <u>Determinant Using Expansion by Lu Factorization</u></a> | |
1958 | ||
1959 | <span id='children384'> | |
1960 | 1958 | <br/>            <a href="det_by_lu.xml" target="_top">Determinant Using Expansion by Lu Factorization</a> |
1961 | 1959 | |
1962 | 1960 | <br/>                <a href="det_by_lu.cpp.xml" target="_top">Determinant Using Lu Factorization: Example and Test</a> |
1964 | 1962 | <br/>                <a href="det_by_lu.hpp.xml" target="_top">Source: det_by_lu</a> |
1965 | 1963 | </span> |
1966 | 1964 | |
1967 | <br/>            <a onclick='Select(387)' | |
1968 | onmouseover='MouseOver(387)' | |
1969 | onmouseout='MouseOut(387)' | |
1970 | ><img src='_close.gif' name='folder387' align='middle' /> | |
1965 | <br/>            <a onclick='Select(386)' | |
1966 | onmouseover='MouseOver(386)' | |
1967 | onmouseout='MouseOut(386)' | |
1968 | ><img src='_close.gif' name='folder386' align='middle' /> | |
1971 | 1969 | <u>Determinant of a Minor</u></a> |
1972 | 1970 | |
1973 | <span id='children387'> | |
1971 | <span id='children386'> | |
1974 | 1972 | <br/>            <a href="det_of_minor.xml" target="_top">Determinant of a Minor</a> |
1975 | 1973 | |
1976 | 1974 | <br/>                <a href="det_of_minor.cpp.xml" target="_top">Determinant of a Minor: Example and Test</a> |
1978 | 1976 | <br/>                <a href="det_of_minor.hpp.xml" target="_top">Source: det_of_minor</a> |
1979 | 1977 | </span> |
1980 | 1978 | |
1981 | <br/>            <a onclick='Select(390)' | |
1982 | onmouseover='MouseOver(390)' | |
1983 | onmouseout='MouseOut(390)' | |
1984 | ><img src='_close.gif' name='folder390' align='middle' /> | |
1979 | <br/>            <a onclick='Select(389)' | |
1980 | onmouseover='MouseOver(389)' | |
1981 | onmouseout='MouseOut(389)' | |
1982 | ><img src='_close.gif' name='folder389' align='middle' /> | |
1985 | 1983 | <u>Determinant Using Expansion by Minors</u></a> |
1986 | 1984 | |
1987 | <span id='children390'> | |
1985 | <span id='children389'> | |
1988 | 1986 | <br/>            <a href="det_by_minor.xml" target="_top">Determinant Using Expansion by Minors</a> |
1989 | 1987 | |
1990 | 1988 | <br/>                <a href="det_by_minor.cpp.xml" target="_top">Determinant Using Expansion by Minors: Example and Test</a> |
1992 | 1990 | <br/>                <a href="det_by_minor.hpp.xml" target="_top">Source: det_by_minor</a> |
1993 | 1991 | </span> |
1994 | 1992 | |
1995 | <br/>            <a onclick='Select(393)' | |
1996 | onmouseover='MouseOver(393)' | |
1997 | onmouseout='MouseOut(393)' | |
1998 | ><img src='_close.gif' name='folder393' align='middle' /> | |
1993 | <br/>            <a onclick='Select(392)' | |
1994 | onmouseover='MouseOver(392)' | |
1995 | onmouseout='MouseOut(392)' | |
1996 | ><img src='_close.gif' name='folder392' align='middle' /> | |
1999 | 1997 | <u>Check Determinant of 3 by 3 matrix</u></a> |
2000 | 1998 | |
2001 | <span id='children393'> | |
1999 | <span id='children392'> | |
2002 | 2000 | <br/>            <a href="det_33.xml" target="_top">Check Determinant of 3 by 3 matrix</a> |
2003 | 2001 | |
2004 | 2002 | <br/>                <a href="det_33.hpp.xml" target="_top">Source: det_33</a> |
2005 | 2003 | </span> |
2006 | 2004 | |
2007 | <br/>            <a onclick='Select(395)' | |
2008 | onmouseover='MouseOver(395)' | |
2009 | onmouseout='MouseOut(395)' | |
2010 | ><img src='_close.gif' name='folder395' align='middle' /> | |
2005 | <br/>            <a onclick='Select(394)' | |
2006 | onmouseover='MouseOver(394)' | |
2007 | onmouseout='MouseOut(394)' | |
2008 | ><img src='_close.gif' name='folder394' align='middle' /> | |
2011 | 2009 | <u>Check Gradient of Determinant of 3 by 3 matrix</u></a> |
2012 | 2010 | |
2013 | <span id='children395'> | |
2011 | <span id='children394'> | |
2014 | 2012 | <br/>            <a href="det_grad_33.xml" target="_top">Check Gradient of Determinant of 3 by 3 matrix</a> |
2015 | 2013 | |
2016 | 2014 | <br/>                <a href="det_grad_33.hpp.xml" target="_top">Source: det_grad_33</a> |
2017 | 2015 | </span> |
2018 | 2016 | |
2019 | <br/>            <a onclick='Select(397)' | |
2020 | onmouseover='MouseOver(397)' | |
2021 | onmouseout='MouseOut(397)' | |
2022 | ><img src='_close.gif' name='folder397' align='middle' /> | |
2017 | <br/>            <a onclick='Select(396)' | |
2018 | onmouseover='MouseOver(396)' | |
2019 | onmouseout='MouseOut(396)' | |
2020 | ><img src='_close.gif' name='folder396' align='middle' /> | |
2023 | 2021 | <u>Sum Elements of a Matrix Times Itself</u></a> |
2024 | 2022 | |
2025 | <span id='children397'> | |
2023 | <span id='children396'> | |
2026 | 2024 | <br/>            <a href="mat_sum_sq.xml" target="_top">Sum Elements of a Matrix Times Itself</a> |
2027 | 2025 | |
2028 | 2026 | <br/>                <a href="mat_sum_sq.cpp.xml" target="_top">Sum of the Elements of the Square of a Matrix: Example and Test</a> |
2030 | 2028 | <br/>                <a href="mat_sum_sq.hpp.xml" target="_top">Source: mat_sum_sq</a> |
2031 | 2029 | </span> |
2032 | 2030 | |
2033 | <br/>            <a onclick='Select(400)' | |
2034 | onmouseover='MouseOver(400)' | |
2035 | onmouseout='MouseOut(400)' | |
2036 | ><img src='_close.gif' name='folder400' align='middle' /> | |
2031 | <br/>            <a onclick='Select(399)' | |
2032 | onmouseover='MouseOver(399)' | |
2033 | onmouseout='MouseOut(399)' | |
2034 | ><img src='_close.gif' name='folder399' align='middle' /> | |
2037 | 2035 | <u>Evaluate a Function Defined in Terms of an ODE</u></a> |
2038 | 2036 | |
2039 | <span id='children400'> | |
2037 | <span id='children399'> | |
2040 | 2038 | <br/>            <a href="ode_evaluate.xml" target="_top">Evaluate a Function Defined in Terms of an ODE</a> |
2041 | 2039 | |
2042 | 2040 | <br/>                <a href="ode_evaluate.cpp.xml" target="_top">ode_evaluate: Example and test</a> |
2044 | 2042 | <br/>                <a href="ode_evaluate.hpp.xml" target="_top">Source: ode_evaluate</a> |
2045 | 2043 | </span> |
2046 | 2044 | |
2047 | <br/>            <a onclick='Select(403)' | |
2048 | onmouseover='MouseOver(403)' | |
2049 | onmouseout='MouseOut(403)' | |
2050 | ><img src='_close.gif' name='folder403' align='middle' /> | |
2045 | <br/>            <a onclick='Select(402)' | |
2046 | onmouseover='MouseOver(402)' | |
2047 | onmouseout='MouseOut(402)' | |
2048 | ><img src='_close.gif' name='folder402' align='middle' /> | |
2051 | 2049 | <u>Evaluate a Function That Has a Sparse Jacobian</u></a> |
2052 | 2050 | |
2053 | <span id='children403'> | |
2051 | <span id='children402'> | |
2054 | 2052 | <br/>            <a href="sparse_jac_fun.xml" target="_top">Evaluate a Function That Has a Sparse Jacobian</a> |
2055 | 2053 | |
2056 | 2054 | <br/>                <a href="sparse_jac_fun.cpp.xml" target="_top">sparse_jac_fun: Example and test</a> |
2058 | 2056 | <br/>                <a href="sparse_jac_fun.hpp.xml" target="_top">Source: sparse_jac_fun</a> |
2059 | 2057 | </span> |
2060 | 2058 | |
2061 | <br/>            <a onclick='Select(406)' | |
2062 | onmouseover='MouseOver(406)' | |
2063 | onmouseout='MouseOut(406)' | |
2064 | ><img src='_close.gif' name='folder406' align='middle' /> | |
2059 | <br/>            <a onclick='Select(405)' | |
2060 | onmouseover='MouseOver(405)' | |
2061 | onmouseout='MouseOut(405)' | |
2062 | ><img src='_close.gif' name='folder405' align='middle' /> | |
2065 | 2063 | <u>Evaluate a Function That Has a Sparse Hessian</u></a> |
2066 | 2064 | |
2067 | <span id='children406'> | |
2065 | <span id='children405'> | |
2068 | 2066 | <br/>            <a href="sparse_hes_fun.xml" target="_top">Evaluate a Function That Has a Sparse Hessian</a> |
2069 | 2067 | |
2070 | 2068 | <br/>                <a href="sparse_hes_fun.cpp.xml" target="_top">sparse_hes_fun: Example and test</a> |
2072 | 2070 | <br/>                <a href="sparse_hes_fun.hpp.xml" target="_top">Source: sparse_hes_fun</a> |
2073 | 2071 | </span> |
2074 | 2072 | |
2075 | <br/>            <a onclick='Select(409)' | |
2076 | onmouseover='MouseOver(409)' | |
2077 | onmouseout='MouseOut(409)' | |
2078 | ><img src='_close.gif' name='folder409' align='middle' /> | |
2073 | <br/>            <a onclick='Select(408)' | |
2074 | onmouseover='MouseOver(408)' | |
2075 | onmouseout='MouseOut(408)' | |
2076 | ><img src='_close.gif' name='folder408' align='middle' /> | |
2079 | 2077 | <u>Simulate a [0,1] Uniform Random Variate</u></a> |
2080 | 2078 | |
2081 | <span id='children409'> | |
2079 | <span id='children408'> | |
2082 | 2080 | <br/>            <a href="uniform_01.xml" target="_top">Simulate a [0,1] Uniform Random Variate</a> |
2083 | 2081 | |
2084 | 2082 | <br/>                <a href="uniform_01.hpp.xml" target="_top">Source: uniform_01</a> |
2085 | 2083 | </span> |
2086 | 2084 | </span> |
2087 | 2085 | |
2088 | <br/>        <a onclick='Select(411)' | |
2089 | onmouseover='MouseOver(411)' | |
2090 | onmouseout='MouseOut(411)' | |
2091 | ><img src='_close.gif' name='folder411' align='middle' /> | |
2086 | <br/>        <a onclick='Select(410)' | |
2087 | onmouseover='MouseOver(410)' | |
2088 | onmouseout='MouseOut(410)' | |
2089 | ><img src='_close.gif' name='folder410' align='middle' /> | |
2092 | 2090 | <u>Speed Test of Functions in Double</u></a> |
2093 | 2091 | |
2094 | <span id='children411'> | |
2092 | <span id='children410'> | |
2095 | 2093 | <br/>        <a href="speed_double.xml" target="_top">Speed Test of Functions in Double</a> |
2096 | 2094 | |
2097 | 2095 | <br/>            <a href="double_det_minor.cpp.xml" target="_top">Double Speed: Determinant by Minor Expansion</a> |
2109 | 2107 | <br/>            <a href="double_sparse_jacobian.cpp.xml" target="_top">Double Speed: Sparse Jacobian</a> |
2110 | 2108 | </span> |
2111 | 2109 | |
2112 | <br/>        <a onclick='Select(419)' | |
2113 | onmouseover='MouseOver(419)' | |
2114 | onmouseout='MouseOut(419)' | |
2115 | ><img src='_close.gif' name='folder419' align='middle' /> | |
2110 | <br/>        <a onclick='Select(418)' | |
2111 | onmouseover='MouseOver(418)' | |
2112 | onmouseout='MouseOut(418)' | |
2113 | ><img src='_close.gif' name='folder418' align='middle' /> | |
2116 | 2114 | <u>Speed Test of Derivatives Using Adolc</u></a> |
2117 | 2115 | |
2118 | <span id='children419'> | |
2116 | <span id='children418'> | |
2119 | 2117 | <br/>        <a href="speed_adolc.xml" target="_top">Speed Test of Derivatives Using Adolc</a> |
2120 | 2118 | |
2121 | 2119 | <br/>            <a href="adolc_det_minor.cpp.xml" target="_top">Adolc Speed: Gradient of Determinant by Minor Expansion</a> |
2135 | 2133 | <br/>            <a href="adolc_alloc_mat.xml" target="_top">Adolc Test Utility: Allocate and Free Memory For a Matrix</a> |
2136 | 2134 | </span> |
2137 | 2135 | |
2138 | <br/>        <a onclick='Select(428)' | |
2139 | onmouseover='MouseOver(428)' | |
2140 | onmouseout='MouseOut(428)' | |
2141 | ><img src='_close.gif' name='folder428' align='middle' /> | |
2136 | <br/>        <a onclick='Select(427)' | |
2137 | onmouseover='MouseOver(427)' | |
2138 | onmouseout='MouseOut(427)' | |
2139 | ><img src='_close.gif' name='folder427' align='middle' /> | |
2142 | 2140 | <u>Speed Test Derivatives Using CppAD</u></a> |
2143 | 2141 | |
2144 | <span id='children428'> | |
2142 | <span id='children427'> | |
2145 | 2143 | <br/>        <a href="speed_cppad.xml" target="_top">Speed Test Derivatives Using CppAD</a> |
2146 | 2144 | |
2147 | 2145 | <br/>            <a href="cppad_det_minor.cpp.xml" target="_top">CppAD Speed: Gradient of Determinant by Minor Expansion</a> |
2159 | 2157 | <br/>            <a href="cppad_sparse_jacobian.cpp.xml" target="_top">CppAD Speed: Sparse Jacobian</a> |
2160 | 2158 | </span> |
2161 | 2159 | |
2162 | <br/>        <a onclick='Select(436)' | |
2163 | onmouseover='MouseOver(436)' | |
2164 | onmouseout='MouseOut(436)' | |
2165 | ><img src='_close.gif' name='folder436' align='middle' /> | |
2160 | <br/>        <a onclick='Select(435)' | |
2161 | onmouseover='MouseOver(435)' | |
2162 | onmouseout='MouseOut(435)' | |
2163 | ><img src='_close.gif' name='folder435' align='middle' /> | |
2166 | 2164 | <u>Speed Test Derivatives Using Fadbad</u></a> |
2167 | 2165 | |
2168 | <span id='children436'> | |
2166 | <span id='children435'> | |
2169 | 2167 | <br/>        <a href="speed_fadbad.xml" target="_top">Speed Test Derivatives Using Fadbad</a> |
2170 | 2168 | |
2171 | 2169 | <br/>            <a href="fadbad_det_minor.cpp.xml" target="_top">Fadbad Speed: Gradient of Determinant by Minor Expansion</a> |
2183 | 2181 | <br/>            <a href="fadbad_sparse_jacobian.cpp.xml" target="_top">fadbad Speed: sparse_jacobian</a> |
2184 | 2182 | </span> |
2185 | 2183 | |
2186 | <br/>        <a onclick='Select(444)' | |
2187 | onmouseover='MouseOver(444)' | |
2188 | onmouseout='MouseOut(444)' | |
2189 | ><img src='_close.gif' name='folder444' align='middle' /> | |
2184 | <br/>        <a onclick='Select(443)' | |
2185 | onmouseover='MouseOver(443)' | |
2186 | onmouseout='MouseOut(443)' | |
2187 | ><img src='_close.gif' name='folder443' align='middle' /> | |
2190 | 2188 | <u>Speed Test Derivatives Using Sacado</u></a> |
2191 | 2189 | |
2192 | <span id='children444'> | |
2190 | <span id='children443'> | |
2193 | 2191 | <br/>        <a href="speed_sacado.xml" target="_top">Speed Test Derivatives Using Sacado</a> |
2194 | 2192 | |
2195 | 2193 | <br/>            <a href="sacado_det_minor.cpp.xml" target="_top">Sacado Speed: Gradient of Determinant by Minor Expansion</a> |
2208 | 2206 | </span> |
2209 | 2207 | </span> |
2210 | 2208 | |
2211 | <br/>    <a onclick='Select(452)' | |
2212 | onmouseover='MouseOver(452)' | |
2213 | onmouseout='MouseOut(452)' | |
2214 | ><img src='_close.gif' name='folder452' align='middle' /> | |
2209 | <br/>    <a onclick='Select(451)' | |
2210 | onmouseover='MouseOver(451)' | |
2211 | onmouseout='MouseOut(451)' | |
2212 | ><img src='_close.gif' name='folder451' align='middle' /> | |
2215 | 2213 | <u>Appendix</u></a> |
2216 | 2214 | |
2217 | <span id='children452'> | |
2215 | <span id='children451'> | |
2218 | 2216 | <br/>    <a href="appendix.xml" target="_top">Appendix</a> |
2219 | 2217 | |
2220 | 2218 | <br/>        <a href="faq.xml" target="_top">Frequently Asked Questions and Answers</a> |
2221 | 2219 | |
2222 | <br/>        <a onclick='Select(454)' | |
2220 | <br/>        <a onclick='Select(453)' | |
2221 | onmouseover='MouseOver(453)' | |
2222 | onmouseout='MouseOut(453)' | |
2223 | ><img src='_close.gif' name='folder453' align='middle' /> | |
2224 | <u>The Theory of Derivative Calculations</u></a> | |
2225 | ||
2226 | <span id='children453'> | |
2227 | <br/>        <a href="theory.xml" target="_top">The Theory of Derivative Calculations</a> | |
2228 | ||
2229 | <br/>            <a onclick='Select(454)' | |
2223 | 2230 | onmouseover='MouseOver(454)' |
2224 | 2231 | onmouseout='MouseOut(454)' |
2225 | 2232 | ><img src='_close.gif' name='folder454' align='middle' /> |
2226 | <u>The Theory of Derivative Calculations</u></a> | |
2233 | <u>The Theory of Forward Mode</u></a> | |
2227 | 2234 | |
2228 | 2235 | <span id='children454'> |
2229 | <br/>        <a href="theory.xml" target="_top">The Theory of Derivative Calculations</a> | |
2230 | ||
2231 | <br/>            <a onclick='Select(455)' | |
2232 | onmouseover='MouseOver(455)' | |
2233 | onmouseout='MouseOut(455)' | |
2234 | ><img src='_close.gif' name='folder455' align='middle' /> | |
2235 | <u>The Theory of Forward Mode</u></a> | |
2236 | ||
2237 | <span id='children455'> | |
2238 | 2236 | <br/>            <a href="forwardtheory.xml" target="_top">The Theory of Forward Mode</a> |
2239 | 2237 | |
2240 | 2238 | <br/>                <a href="expforward.xml" target="_top">Exponential Function Forward Taylor Polynomial Theory</a> |
2256 | 2254 | <br/>                <a href="erf_forward.xml" target="_top">Error Function Forward Taylor Polynomial Theory</a> |
2257 | 2255 | </span> |
2258 | 2256 | |
2259 | <br/>            <a onclick='Select(465)' | |
2260 | onmouseover='MouseOver(465)' | |
2261 | onmouseout='MouseOut(465)' | |
2262 | ><img src='_close.gif' name='folder465' align='middle' /> | |
2257 | <br/>            <a onclick='Select(464)' | |
2258 | onmouseover='MouseOver(464)' | |
2259 | onmouseout='MouseOut(464)' | |
2260 | ><img src='_close.gif' name='folder464' align='middle' /> | |
2263 | 2261 | <u>The Theory of Reverse Mode</u></a> |
2264 | 2262 | |
2265 | <span id='children465'> | |
2263 | <span id='children464'> | |
2266 | 2264 | <br/>            <a href="reversetheory.xml" target="_top">The Theory of Reverse Mode</a> |
2267 | 2265 | |
2268 | 2266 | <br/>                <a href="expreverse.xml" target="_top">Exponential Function Reverse Mode Theory</a> |
2295 | 2293 | |
2296 | 2294 | <br/>        <a href="wishlist.xml" target="_top">The CppAD Wish List</a> |
2297 | 2295 | |
2298 | <br/>        <a onclick='Select(480)' | |
2299 | onmouseover='MouseOver(480)' | |
2300 | onmouseout='MouseOut(480)' | |
2301 | ><img src='_close.gif' name='folder480' align='middle' /> | |
2296 | <br/>        <a onclick='Select(479)' | |
2297 | onmouseover='MouseOver(479)' | |
2298 | onmouseout='MouseOut(479)' | |
2299 | ><img src='_close.gif' name='folder479' align='middle' /> | |
2302 | 2300 | <u>Changes and Additions to CppAD</u></a> |
2303 | 2301 | |
2304 | <span id='children480'> | |
2302 | <span id='children479'> | |
2305 | 2303 | <br/>        <a href="whats_new.xml" target="_top">Changes and Additions to CppAD</a> |
2306 | 2304 | |
2307 | 2305 | <br/>            <a href="whats_new_14.xml" target="_top">CppAD Changes and Additions During 2014</a> |
2329 | 2327 | <br/>            <a href="whats_new_03.xml" target="_top">Changes and Additions to CppAD During 2003</a> |
2330 | 2328 | </span> |
2331 | 2329 | |
2332 | <br/>        <a onclick='Select(493)' | |
2333 | onmouseover='MouseOver(493)' | |
2334 | onmouseout='MouseOut(493)' | |
2335 | ><img src='_close.gif' name='folder493' align='middle' /> | |
2330 | <br/>        <a onclick='Select(492)' | |
2331 | onmouseover='MouseOver(492)' | |
2332 | onmouseout='MouseOut(492)' | |
2333 | ><img src='_close.gif' name='folder492' align='middle' /> | |
2336 | 2334 | <u>CppAD Deprecated API Features</u></a> |
2337 | 2335 | |
2338 | <span id='children493'> | |
2336 | <span id='children492'> | |
2339 | 2337 | <br/>        <a href="deprecated.xml" target="_top">CppAD Deprecated API Features</a> |
2340 | 2338 | |
2341 | 2339 | <br/>            <a href="include_deprecated.xml" target="_top">Deprecated Include Files</a> |
2344 | 2342 | |
2345 | 2343 | <br/>            <a href="omp_max_thread.xml" target="_top">OpenMP Parallel Setup</a> |
2346 | 2344 | |
2347 | <br/>            <a onclick='Select(497)' | |
2348 | onmouseover='MouseOver(497)' | |
2349 | onmouseout='MouseOut(497)' | |
2350 | ><img src='_close.gif' name='folder497' align='middle' /> | |
2345 | <br/>            <a onclick='Select(496)' | |
2346 | onmouseover='MouseOver(496)' | |
2347 | onmouseout='MouseOut(496)' | |
2348 | ><img src='_close.gif' name='folder496' align='middle' /> | |
2351 | 2349 | <u>Routines That Track Use of New and Delete</u></a> |
2352 | 2350 | |
2353 | <span id='children497'> | |
2351 | <span id='children496'> | |
2354 | 2352 | <br/>            <a href="tracknewdel.xml" target="_top">Routines That Track Use of New and Delete</a> |
2355 | 2353 | |
2356 | 2354 | <br/>                <a href="tracknewdel.cpp.xml" target="_top">Tracking Use of New and Delete: Example and Test</a> |
2357 | 2355 | </span> |
2358 | 2356 | |
2359 | <br/>            <a onclick='Select(499)' | |
2360 | onmouseover='MouseOver(499)' | |
2361 | onmouseout='MouseOut(499)' | |
2362 | ><img src='_close.gif' name='folder499' align='middle' /> | |
2357 | <br/>            <a onclick='Select(498)' | |
2358 | onmouseover='MouseOver(498)' | |
2359 | onmouseout='MouseOut(498)' | |
2360 | ><img src='_close.gif' name='folder498' align='middle' /> | |
2363 | 2361 | <u>A Quick OpenMP Memory Allocator Used by CppAD</u></a> |
2364 | 2362 | |
2365 | <span id='children499'> | |
2363 | <span id='children498'> | |
2366 | 2364 | <br/>            <a href="omp_alloc.xml" target="_top">A Quick OpenMP Memory Allocator Used by CppAD</a> |
2367 | 2365 | |
2368 | 2366 | <br/>                <a href="omp_max_num_threads.xml" target="_top">Set and Get Maximum Number of Threads for omp_alloc Allocator</a> |
2398 | 2396 | |
2399 | 2397 | <br/>            <a href="test_vector.xml" target="_top">Choosing The Vector Testing Template Class</a> |
2400 | 2398 | |
2401 | <br/>            <a onclick='Select(516)' | |
2402 | onmouseover='MouseOver(516)' | |
2403 | onmouseout='MouseOut(516)' | |
2404 | ><img src='_close.gif' name='folder516' align='middle' /> | |
2399 | <br/>            <a onclick='Select(515)' | |
2400 | onmouseover='MouseOver(515)' | |
2401 | onmouseout='MouseOut(515)' | |
2402 | ><img src='_close.gif' name='folder515' align='middle' /> | |
2405 | 2403 | <u>Nonlinear Programming Using the CppAD Interface to Ipopt</u></a> |
2406 | 2404 | |
2407 | <span id='children516'> | |
2405 | <span id='children515'> | |
2408 | 2406 | <br/>            <a href="cppad_ipopt_nlp.xml" target="_top">Nonlinear Programming Using the CppAD Interface to Ipopt</a> |
2409 | 2407 | |
2410 | 2408 | <br/>                <a href="ipopt_nlp_get_started.cpp.xml" target="_top">Nonlinear Programming Using CppAD and Ipopt: Example and Test</a> |
2411 | 2409 | |
2412 | <br/>                <a onclick='Select(518)' | |
2410 | <br/>                <a onclick='Select(517)' | |
2411 | onmouseover='MouseOver(517)' | |
2412 | onmouseout='MouseOut(517)' | |
2413 | ><img src='_close.gif' name='folder517' align='middle' /> | |
2414 | <u>Example Simultaneous Solution of Forward and Inverse Problem</u></a> | |
2415 | ||
2416 | <span id='children517'> | |
2417 | <br/>                <a href="ipopt_nlp_ode.xml" target="_top">Example Simultaneous Solution of Forward and Inverse Problem</a> | |
2418 | ||
2419 | <br/>                    <a onclick='Select(518)' | |
2413 | 2420 | onmouseover='MouseOver(518)' |
2414 | 2421 | onmouseout='MouseOut(518)' |
2415 | 2422 | ><img src='_close.gif' name='folder518' align='middle' /> |
2416 | <u>Example Simultaneous Solution of Forward and Inverse Problem</u></a> | |
2423 | <u>An ODE Inverse Problem Example</u></a> | |
2417 | 2424 | |
2418 | 2425 | <span id='children518'> |
2419 | <br/>                <a href="ipopt_nlp_ode.xml" target="_top">Example Simultaneous Solution of Forward and Inverse Problem</a> | |
2420 | ||
2421 | <br/>                    <a onclick='Select(519)' | |
2422 | onmouseover='MouseOver(519)' | |
2423 | onmouseout='MouseOut(519)' | |
2424 | ><img src='_close.gif' name='folder519' align='middle' /> | |
2425 | <u>An ODE Inverse Problem Example</u></a> | |
2426 | ||
2427 | <span id='children519'> | |
2428 | 2426 | <br/>                    <a href="ipopt_nlp_ode_problem.xml" target="_top">An ODE Inverse Problem Example</a> |
2429 | 2427 | |
2430 | 2428 | <br/>                        <a href="ipopt_nlp_ode_problem.hpp.xml" target="_top">ODE Inverse Problem Definitions: Source Code</a> |
2431 | 2429 | </span> |
2432 | 2430 | |
2433 | <br/>                    <a onclick='Select(521)' | |
2434 | onmouseover='MouseOver(521)' | |
2435 | onmouseout='MouseOut(521)' | |
2436 | ><img src='_close.gif' name='folder521' align='middle' /> | |
2431 | <br/>                    <a onclick='Select(520)' | |
2432 | onmouseover='MouseOver(520)' | |
2433 | onmouseout='MouseOut(520)' | |
2434 | ><img src='_close.gif' name='folder520' align='middle' /> | |
2437 | 2435 | <u>ODE Fitting Using Simple Representation</u></a> |
2438 | 2436 | |
2439 | <span id='children521'> | |
2437 | <span id='children520'> | |
2440 | 2438 | <br/>                    <a href="ipopt_nlp_ode_simple.xml" target="_top">ODE Fitting Using Simple Representation</a> |
2441 | 2439 | |
2442 | 2440 | <br/>                        <a href="ipopt_nlp_ode_simple.hpp.xml" target="_top">ODE Fitting Using Simple Representation</a> |
2443 | 2441 | </span> |
2444 | 2442 | |
2445 | <br/>                    <a onclick='Select(523)' | |
2446 | onmouseover='MouseOver(523)' | |
2447 | onmouseout='MouseOut(523)' | |
2448 | ><img src='_close.gif' name='folder523' align='middle' /> | |
2443 | <br/>                    <a onclick='Select(522)' | |
2444 | onmouseover='MouseOver(522)' | |
2445 | onmouseout='MouseOut(522)' | |
2446 | ><img src='_close.gif' name='folder522' align='middle' /> | |
2449 | 2447 | <u>ODE Fitting Using Fast Representation</u></a> |
2450 | 2448 | |
2451 | <span id='children523'> | |
2449 | <span id='children522'> | |
2452 | 2450 | <br/>                    <a href="ipopt_nlp_ode_fast.xml" target="_top">ODE Fitting Using Fast Representation</a> |
2453 | 2451 | |
2454 | 2452 | <br/>                        <a href="ipopt_nlp_ode_fast.hpp.xml" target="_top">ODE Fitting Using Fast Representation</a> |
2462 | 2460 | <br/>                <a href="ipopt_ode_speed.cpp.xml" target="_top">Speed Test for Both Simple and Fast Representations</a> |
2463 | 2461 | </span> |
2464 | 2462 | |
2465 | <br/>            <a onclick='Select(528)' | |
2466 | onmouseover='MouseOver(528)' | |
2467 | onmouseout='MouseOut(528)' | |
2468 | ><img src='_close.gif' name='folder528' align='middle' /> | |
2463 | <br/>            <a onclick='Select(527)' | |
2464 | onmouseover='MouseOver(527)' | |
2465 | onmouseout='MouseOut(527)' | |
2466 | ><img src='_close.gif' name='folder527' align='middle' /> | |
2469 | 2467 | <u>User Defined Atomic AD Functions</u></a> |
2470 | 2468 | |
2471 | <span id='children528'> | |
2469 | <span id='children527'> | |
2472 | 2470 | <br/>            <a href="old_atomic.xml" target="_top">User Defined Atomic AD Functions</a> |
2473 | 2471 | |
2474 | 2472 | <br/>                <a href="old_reciprocal.cpp.xml" target="_top">Old Atomic Operation Reciprocal: Example and Test</a> |
2479 | 2477 | |
2480 | 2478 | <br/>                <a href="old_tan.cpp.xml" target="_top">Tan and Tanh as User Atomic Operations: Example and Test</a> |
2481 | 2479 | |
2482 | <br/>                <a onclick='Select(533)' | |
2483 | onmouseover='MouseOver(533)' | |
2484 | onmouseout='MouseOut(533)' | |
2485 | ><img src='_close.gif' name='folder533' align='middle' /> | |
2480 | <br/>                <a onclick='Select(532)' | |
2481 | onmouseover='MouseOver(532)' | |
2482 | onmouseout='MouseOut(532)' | |
2483 | ><img src='_close.gif' name='folder532' align='middle' /> | |
2486 | 2484 | <u>Matrix Multiply as a User Atomic Operation: Example and Test</u></a> |
2487 | 2485 | |
2488 | <span id='children533'> | |
2486 | <span id='children532'> | |
2489 | 2487 | <br/>                <a href="old_mat_mul.cpp.xml" target="_top">Matrix Multiply as a User Atomic Operation: Example and Test</a> |
2490 | 2488 | |
2491 | 2489 | <br/>                    <a href="old_mat_mul.hpp.xml" target="_top">Define Matrix Multiply as a User Atomic Operation</a> |
2493 | 2491 | </span> |
2494 | 2492 | </span> |
2495 | 2493 | |
2496 | <br/>        <a onclick='Select(535)' | |
2497 | onmouseover='MouseOver(535)' | |
2498 | onmouseout='MouseOut(535)' | |
2499 | ><img src='_close.gif' name='folder535' align='middle' /> | |
2494 | <br/>        <a onclick='Select(534)' | |
2495 | onmouseover='MouseOver(534)' | |
2496 | onmouseout='MouseOut(534)' | |
2497 | ><img src='_close.gif' name='folder534' align='middle' /> | |
2500 | 2498 | <u>Compare Speed of C and C++</u></a> |
2501 | 2499 | |
2502 | <span id='children535'> | |
2500 | <span id='children534'> | |
2503 | 2501 | <br/>        <a href="compare_c.xml" target="_top">Compare Speed of C and C++</a> |
2504 | 2502 | |
2505 | 2503 | <br/>            <a href="det_of_minor_c.xml" target="_top">Determinant of a Minor</a> |
32 | 32 | var list_current0 = [ |
33 | 33 | 'download.xml#Purpose', |
34 | 34 | 'download.xml#Distribution Directory', |
35 | 'download.xml#Compressed Tar File', | |
36 | 'download.xml#Compressed Tar File.Current Version', | |
37 | 'download.xml#Compressed Tar File.Monthly Versions', | |
38 | 'download.xml#Compressed Tar File.Release Versions', | |
39 | 'download.xml#Compressed Tar File.Unix File Extraction', | |
40 | 'download.xml#Compressed Tar File.Windows File Extraction', | |
41 | 'download.xml#Compressed Tar File.Install Instructions', | |
35 | 'download.xml#Compressed Archives', | |
36 | 'download.xml#Compressed Archives.Current Version', | |
37 | 'download.xml#Compressed Archives.Release Versions', | |
38 | 'download.xml#Compressed Archives.Monthly Versions', | |
39 | 'download.xml#Compressed Archives.Unix File Extraction', | |
40 | 'download.xml#Compressed Archives.Windows File Extraction', | |
41 | 'download.xml#Compressed Archives.Install Instructions', | |
42 | 42 | 'download.xml#Subversion', |
43 | 43 | 'download.xml#Subversion.Limitations', |
44 | 44 | 'download.xml#Subversion.Current Version', |
129 | 129 | |
130 | 130 | <tr valign="top"><td><a href="http://valgrind.org/" target="_top">http://valgrind.org/</a></td><td><a href="whats_new_06.xml#08-17" target="_top">whats_new_06#08-17</a></td></tr> |
131 | 131 | |
132 | <tr valign="top"><td><a href="http://www.7-zip.org" target="_top">http://www.7-zip.org</a></td><td><a href="download.xml#Compressed Tar File.Windows File Extraction" target="_top">download#Compressed Tar File.Windows File Extraction</a></td></tr> | |
132 | <tr valign="top"><td><a href="http://www.7-zip.org" target="_top">http://www.7-zip.org</a></td><td><a href="download.xml#Compressed Archives.Windows File Extraction" target="_top">download#Compressed Archives.Windows File Extraction</a></td></tr> | |
133 | 133 | |
134 | 134 | <tr valign="top"><td><a href="http://www.7-zip.org" target="_top">http://www.7-zip.org</a></td><td><a href="whats_new_04.xml#09-02" target="_top">whats_new_04#09-02</a></td></tr> |
135 | 135 | |
161 | 161 | |
162 | 162 | <tr valign="top"><td><a href="http://www.coin-or.org/CppAD/" target="_top">http://www.coin-or.org/CppAD/</a></td><td><a href="cppad_ipopt_nlp.xml#Purpose" target="_top">cppad_ipopt_nlp#Purpose</a></td></tr> |
163 | 163 | |
164 | <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="download.xml#Compressed Tar File.Release Versions" target="_top">download#Compressed Tar File.Release Versions</a></td></tr> | |
164 | <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="download.xml#Compressed Archives" target="_top">download#Compressed Archives</a></td></tr> | |
165 | ||
166 | <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="download.xml#Compressed Archives.Release Versions" target="_top">download#Compressed Archives.Release Versions</a></td></tr> | |
167 | ||
168 | <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="download.xml#Compressed Archives.Monthly Versions" target="_top">download#Compressed Archives.Monthly Versions</a></td></tr> | |
165 | 169 | |
166 | 170 | <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_10.xml#04-24" target="_top">whats_new_10#04-24</a></td></tr> |
167 | 171 | |
168 | 172 | <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> |
169 | 173 | |
170 | <tr valign="top"><td><a href="http://www.coin-or.org/download/source/CppAD/cppad-20150000.0.epl.tgz" target="_top">http://www.coin-or.org/download/source/CppAD/cppad-20150000.0.epl.tgz</a></td><td><a href="download.xml#Compressed Tar File.Current Version" target="_top">download#Compressed Tar File.Current Version</a></td></tr> | |
171 | ||
172 | <tr valign="top"><td><a href="http://www.coin-or.org/download/source/CppAD/cppad-20150000.0.gpl.tgz" target="_top">http://www.coin-or.org/download/source/CppAD/cppad-20150000.0.gpl.tgz</a></td><td><a href="download.xml#Compressed Tar File.Current Version" target="_top">download#Compressed Tar File.Current Version</a></td></tr> | |
174 | <tr valign="top"><td><a href="http://www.coin-or.org/download/source/CppAD/cppad-20150000.1.epl.tgz" target="_top">http://www.coin-or.org/download/source/CppAD/cppad-20150000.1.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.1.gpl.tgz" target="_top">http://www.coin-or.org/download/source/CppAD/cppad-20150000.1.gpl.tgz</a></td><td><a href="download.xml#Compressed Archives" target="_top">download#Compressed Archives</a></td></tr> | |
173 | 177 | |
174 | 178 | <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> |
175 | 179 | |
213 | 217 | |
214 | 218 | <tr valign="top"><td><a href="http://www.winzip.com" target="_top">http://www.winzip.com</a></td><td><a href="whats_new_04.xml#09-02" target="_top">whats_new_04#09-02</a></td></tr> |
215 | 219 | |
220 | <tr valign="top"><td><a href="https://github.com/bradbell/cppad" target="_top">https://github.com/bradbell/cppad</a></td><td><a href="download.xml#Compressed Archives.Current Version" target="_top">download#Compressed Archives.Current Version</a></td></tr> | |
221 | ||
216 | 222 | <tr valign="top"><td><a href="https://projects.coin-or.org/ADOL-C" target="_top">https://projects.coin-or.org/ADOL-C</a></td><td><a href="cppad.xml#Introduction" target="_top">CppAD#Introduction</a></td></tr> |
217 | 223 | |
218 | 224 | <tr valign="top"><td><a href="https://projects.coin-or.org/ADOL-C" target="_top">https://projects.coin-or.org/ADOL-C</a></td><td><a href="adolc_prefix.xml#Purpose" target="_top">adolc_prefix#Purpose</a></td></tr> |
230 | 236 | <tr valign="top"><td><a href="https://projects.coin-or.org/CppAD/browser/releases" target="_top">https://projects.coin-or.org/CppAD/browser/releases</a></td><td><a href="download.xml#Subversion.Release Versions" target="_top">download#Subversion.Release Versions</a></td></tr> |
231 | 237 | |
232 | 238 | <tr valign="top"><td><a href="https://projects.coin-or.org/CppAD/browser/stable" target="_top">https://projects.coin-or.org/CppAD/browser/stable</a></td><td><a href="download.xml#Subversion.Stable Versions" target="_top">download#Subversion.Stable Versions</a></td></tr> |
239 | ||
240 | <tr valign="top"><td><a href="https://projects.coin-or.org/CppAD/browser/trunk" target="_top">https://projects.coin-or.org/CppAD/browser/trunk</a></td><td><a href="download.xml#Compressed Archives.Current Version" target="_top">download#Compressed Archives.Current Version</a></td></tr> | |
233 | 241 | |
234 | 242 | <tr valign="top"><td><a href="mailto:Jean-Pierre.Dussault@Usherbrooke.ca" target="_top">mailto:Jean-Pierre.Dussault@Usherbrooke.ca</a></td><td><a href="whats_new_05.xml#02-24" target="_top">whats_new_05#02-24</a></td></tr> |
235 | 243 |
920 | 920 |       <a href="whats_new_14.xml#12-27" target="_top">CppAD Changes and Additions During 2014: 12-27</a><br/> |
921 | 921 | 12<b>-</b>28 <a href="whats_new_11.xml#12-28" target="_top">Changes and Additions to CppAD During 2011: 12-28</a><br/> |
922 | 922 |       <a href="whats_new_12.xml#12-28" target="_top">CppAD Changes and Additions During 2012: 12-28</a><br/> |
923 |       <a href="whats_new_14.xml#12-28" target="_top">CppAD Changes and Additions During 2014: 12-28</a><br/> | |
923 | 924 | 12<b>-</b>29 <a href="whats_new_07.xml#12-29" target="_top">Changes and Additions to CppAD During 2007: 12-29</a><br/> |
924 | 925 |       <a href="whats_new_12.xml#12-29" target="_top">CppAD Changes and Additions During 2012: 12-29</a><br/> |
925 | 926 |       <a href="whats_new_13.xml#12-29" target="_top">CppAD Changes and Additions During 2013: 12-29</a><br/> |
927 |       <a href="whats_new_14.xml#12-29" target="_top">CppAD Changes and Additions During 2014: 12-29</a><br/> | |
926 | 928 | 12<b>-</b>30 <a href="whats_new_11.xml#12-30" target="_top">Changes and Additions to CppAD During 2011: 12-30</a><br/> |
927 | 929 |       <a href="whats_new_12.xml#12-30" target="_top">CppAD Changes and Additions During 2012: 12-30</a><br/> |
930 |       <a href="whats_new_14.xml#12-30" target="_top">CppAD Changes and Additions During 2014: 12-30</a><br/> | |
928 | 931 | 12<b>-</b>31 <a href="whats_new_10.xml#12-31" target="_top">Changes and Additions to CppAD During 2010: 12-31</a><br/> |
929 | 932 | 1<b>:</b> <a href="install.xml#Instructions.Step 1: Download" target="_top">CppAD Download, Test, and Install Instructions: Instructions.Step 1: Download</a><br/> |
930 | 933 | 2003 <a href="whats_new_03.xml" target="_top">Changes and Additions to CppAD During 2003</a><br/> |
1006 | 1009 |      boost<b> </b>thread<b> </b>example <a href="a11c_bthread.cpp.xml" target="_top">A Simple Boost Thread Example and Test</a><br/> |
1007 | 1010 |      OpenMP<b> </b>example <a href="a11c_pthread.cpp.xml" target="_top">A Simple Parallel Pthread Example and Test</a><br/> |
1008 | 1011 |      OpenMP<b> </b>example <a href="a11c_openmp.cpp.xml" target="_top">A Simple OpenMP Example and Test</a><br/> |
1009 | AD <a href="cppad.xml" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms</a><br/> | |
1012 | AD <a href="cppad.xml" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms</a><br/> | |
1010 | 1013 |      arithmetic<b> </b>operator <a href="arithmetic.xml" target="_top">AD Arithmetic Operators and Computed Assignments</a><br/> |
1011 | 1014 |      assignment <a href="ad_assign.xml" target="_top">AD Assignment Operator</a><br/> |
1012 | 1015 |      binary<b> </b>compare<b> </b>operator <a href="compare.xml" target="_top">AD Binary Comparison Operators</a><br/> |
1167 | 1170 |   <a href="atomic_hes_sparse.cpp.xml#Test with x_1 Both a Variable and a Parameter" target="_top">Atomic Operation Hessian Sparsity: Example and Test: Test with x_1 Both a Variable and a Parameter</a><br/> |
1168 | 1171 |   <a href="var2par.cpp.xml" target="_top">Convert an AD Variable to a Parameter: Example and Test</a><br/> |
1169 | 1172 |   <a href="var2par.xml" target="_top">Convert an AD Variable to a Parameter</a><br/> |
1170 |   <a href="cppad.xml" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms</a><br/> | |
1173 |   <a href="cppad.xml" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms</a><br/> | |
1171 | 1174 | a11c <a href="thread_test.cpp.xml#a11c" target="_top">Run Multi-Threading Examples and Speed Tests: a11c</a><br/> |
1172 | 1175 | abort <a href="abort_recording.cpp.xml" target="_top">Abort Current Recording: Example and Test</a><br/> |
1173 | 1176 |       <a href="abort_recording.xml" target="_top">Abort Recording of an Operation Sequence</a><br/> |
1421 | 1424 | algorithmic <a href="introduction.xml#Preface.Algorithmic Differentiation" target="_top">An Introduction by Example to Algorithmic Differentiation: Preface.Algorithmic Differentiation</a><br/> |
1422 | 1425 |             <a href="introduction.xml" target="_top">An Introduction by Example to Algorithmic Differentiation</a><br/> |
1423 | 1426 |      C<b> </b>differentiation <a href="ad_in_c.cpp.xml" target="_top">Example and Test Linking CppAD to Languages Other than C++</a><br/> |
1424 | algorithmic<b> </b>differentiation <a href="cppad.xml" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms</a><br/> | |
1425 | algorithms <a href="cppad.xml" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms</a><br/> | |
1427 | algorithmic<b> </b>differentiation <a href="cppad.xml" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms</a><br/> | |
1428 | algorithms <a href="cppad.xml" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms</a><br/> | |
1426 | 1429 | alignment <a href="ta_create_array.xml#Alignment" target="_top">Allocate An Array and Call Default Constructor for its Elements: Alignment</a><br/> |
1427 | 1430 |           <a href="ta_get_memory.xml#Alignment" target="_top">Get At Least A Specified Amount of Memory: Alignment</a><br/> |
1428 | 1431 | all <a href="listallexamples.xml" target="_top">List of All the CppAD Examples</a><br/> |
1459 | 1462 |      <a href="capacity_order.xml#Syntax.See Also" target="_top">Controlling Taylor Coefficients Memory Allocation: Syntax.See Also</a><br/> |
1460 | 1463 |      <a href="size_order.xml#Syntax.See Also" target="_top">Number Taylor Coefficient Orders Currently Stored: Syntax.See Also</a><br/> |
1461 | 1464 |      <a href="seq_property.xml#Syntax.See Also" target="_top">ADFun Sequence Properties: Syntax.See Also</a><br/> |
1462 |      <a href="not_complex_ad.cpp.xml#See Also" target="_top">Not Complex Differentiable: Example and Test: See Also</a><br/> | |
1463 |      <a href="complex_poly.cpp.xml#See Also" target="_top">Complex Polynomial: Example and Test: See Also</a><br/> | |
1464 |      <a href="base_complex.hpp.xml#See Also" target="_top">Enable use of AD<Base> where Base is std::complex<double>: See Also</a><br/> | |
1465 | 1465 |      <a href="interp_retape.cpp.xml#See Also" target="_top">Interpolation With Retaping: Example and Test: See Also</a><br/> |
1466 | 1466 |      <a href="interp_onetape.cpp.xml#See Also" target="_top">Interpolation With Out Retaping: Example and Test: See Also</a><br/> |
1467 | 1467 |      <a href="pow.xml#See Also" target="_top">The AD Power Function: See Also</a><br/> |
1667 | 1667 |     <a href="independent.cpp.xml" target="_top">Independent and ADFun Constructor: Example and Test</a><br/> |
1668 | 1668 |     <a href="independent.cpp.xml" target="_top">Independent and ADFun Constructor: Example and Test</a><br/> |
1669 | 1669 |     <a href="independent.xml" target="_top">Declare Independent Variables and Start Recording</a><br/> |
1670 |     <a href="not_complex_ad.cpp.xml" target="_top">Not Complex Differentiable: Example and Test</a><br/> | |
1671 | 1670 |     <a href="complex_poly.cpp.xml" target="_top">Complex Polynomial: Example and Test</a><br/> |
1672 | 1671 |     <a href="mul_level_adolc.cpp.xml" target="_top">Using Adolc with Multiple Levels of Taping: Example and Test</a><br/> |
1673 | 1672 |     <a href="base_require.cpp.xml" target="_top">Using a User Defined AD Base Type: Example and Test</a><br/> |
1773 | 1772 | arbitrary <a href="odegear.xml" target="_top">An Arbitrary Order Gear Method</a><br/> |
1774 | 1773 | arccosine <a href="acosreverse.xml" target="_top">Arccosine Function Reverse Mode Theory</a><br/> |
1775 | 1774 |           <a href="acosforward.xml" target="_top">Arccosine Function Forward Taylor Polynomial Theory</a><br/> |
1775 | archives <a href="download.xml#Compressed Archives" target="_top">Download The CppAD Source Code: Compressed Archives</a><br/> | |
1776 | 1776 | arcsine <a href="asinreverse.xml" target="_top">Arcsine Function Reverse Mode Theory</a><br/> |
1777 | 1777 |         <a href="asinforward.xml" target="_top">Arcsine Function Forward Taylor Polynomial Theory</a><br/> |
1778 | 1778 | arctangent <a href="atanreverse.xml" target="_top">Arctangent Function Reverse Mode Theory</a><br/> |
1936 | 1936 | atomic<b>_</b>user <a href="atomic_ctor.xml#atomic_user" target="_top">Atomic Function Constructor: atomic_user</a><br/> |
1937 | 1937 | automatic<br/> |
1938 | 1938 |      C<b> </b>differentiation <a href="ad_in_c.cpp.xml" target="_top">Example and Test Linking CppAD to Languages Other than C++</a><br/> |
1939 | automatic<b> </b>differentiation <a href="cppad.xml" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms</a><br/> | |
1939 | automatic<b> </b>differentiation <a href="cppad.xml" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms</a><br/> | |
1940 | 1940 | available <a href="memory_leak.xml#available" target="_top">Memory Leak Detection: available</a><br/> |
1941 | 1941 |           <a href="omp_delete_array.xml" target="_top">Return A Raw Array to The Available Memory for a Thread</a><br/> |
1942 | 1942 |           <a href="omp_available.xml" target="_top">Amount of Memory Available for Quick Use by a Thread</a><br/> |
2137 | 2137 |      compare<b> </b>speed<b> </b>with<b> </b>C<b>++</b> <a href="compare_c.xml" target="_top">Compare Speed of C and C++</a><br/> |
2138 | 2138 |      interface<b> </b>to <a href="interface2c.cpp.xml" target="_top">Interfacing to C: Example and Test</a><br/> |
2139 | 2139 | C<b>++</b><br/> |
2140 |      algorithm<b> </b>derivative <a href="cppad.xml" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms</a><br/> | |
2140 |      algorithm<b> </b>derivative <a href="cppad.xml" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms</a><br/> | |
2141 | 2141 |      compare<b> </b>speed<b> </b>with<b> </b>C <a href="compare_c.xml" target="_top">Compare Speed of C and C++</a><br/> |
2142 | 2142 |      numerical<b> </b>template<b> </b>library <a href="library.xml" target="_top">The CppAD General Purpose Library</a><br/> |
2143 | 2143 | CheckNumericType <a href="check_numeric_type.cpp.xml" target="_top">The CheckNumericType Function: Example and Test</a><br/> |
2169 | 2169 | CPPAD<b>_</b>TRACK<b>_</b>NEW<b>_</b>VEC <a href="tracknewdel.xml#TrackNewVec.Macro" target="_top">Routines That Track Use of New and Delete: TrackNewVec.Macro</a><br/> |
2170 | 2170 | CPPAD<b>_</b>USER<b>_</b>ATOMIC <a href="old_atomic.xml#CPPAD_USER_ATOMIC" target="_top">User Defined Atomic AD Functions: CPPAD_USER_ATOMIC</a><br/> |
2171 | 2171 |                   <a href="old_atomic.xml" target="_top">User Defined Atomic AD Functions</a><br/> |
2172 | CppAD <a href="cppad.xml" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms</a><br/> | |
2173 |      namespace <a href="cppad.xml#Namespace" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms: Namespace</a><br/> | |
2172 | CppAD <a href="cppad.xml" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms</a><br/> | |
2173 |      namespace <a href="cppad.xml#Namespace" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms: Namespace</a><br/> | |
2174 | 2174 |      nonlinear<b> </b>programming <a href="cppad_ipopt_nlp.xml" target="_top">Nonlinear Programming Using the CppAD Interface to Ipopt</a><br/> |
2175 |      preprocessor<b> </b>symbol <a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms: Preprocessor Symbols</a><br/> | |
2175 |      preprocessor<b> </b>symbol <a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms: Preprocessor Symbols</a><br/> | |
2176 | 2176 |      unix<b> </b>install <a href="installunix.xml" target="_top">Deprecated Unix Test and Installation</a><br/> |
2177 | 2177 | CppAD<b>::</b>vector<br/> |
2178 | 2178 |      example <a href="cppad_vector.cpp.xml" target="_top">CppAD::vector Template Class: Example and Test</a><br/> |
2195 | 2195 |     <a href="bib.xml#The C++ Programming Language" target="_top">Bibliography: The C++ Programming Language</a><br/> |
2196 | 2196 |     <a href="ad_in_c.cpp.xml" target="_top">Example and Test Linking CppAD to Languages Other than C++</a><br/> |
2197 | 2197 |     <a href="library.xml#C++ Concepts" target="_top">The CppAD General Purpose Library: C++ Concepts</a><br/> |
2198 |     <a href="cppad.xml" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms</a><br/> | |
2198 |     <a href="cppad.xml" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms</a><br/> | |
2199 | 2199 |      compile<b> </b>flags <a href="cmake.xml#cppad_cxx_flags" target="_top">Using CMake to Configure CppAD: cppad_cxx_flags</a><br/> |
2200 | 2200 | c<b>:</b> <a href="interface2c.cpp.xml" target="_top">Interfacing to C: Example and Test</a><br/> |
2201 | 2201 | calculating <a href="sparse.xml" target="_top">Calculating Sparsity Patterns</a><br/> |
2424 | 2424 |      unix<b> </b>flags <a href="installunix.xml#cxx_flags" target="_top">Deprecated Unix Test and Installation: cxx_flags</a><br/> |
2425 | 2425 | complex <a href="faq.xml#Complex Types" target="_top">Frequently Asked Questions and Answers: Complex Types</a><br/> |
2426 | 2426 |         <a href="lu_solve.cpp.xml" target="_top">LuSolve With Complex Arguments: Example and Test</a><br/> |
2427 |         <a href="not_complex_ad.cpp.xml#Not Complex Differentiable" target="_top">Not Complex Differentiable: Example and Test: Not Complex Differentiable</a><br/> | |
2428 |         <a href="not_complex_ad.cpp.xml" target="_top">Not Complex Differentiable: Example and Test</a><br/> | |
2429 | 2427 |         <a href="complex_poly.cpp.xml" target="_top">Complex Polynomial: Example and Test</a><br/> |
2430 | 2428 |         <a href="sign.xml#Complex Types" target="_top">Sign Function: Complex Types</a><br/> |
2431 | 2429 |         <a href="abs.xml#Complex Types" target="_top">AD Absolute Value Function: Complex Types</a><br/> |
2433 | 2431 |      double<b> </b>Base <a href="base_complex.hpp.xml" target="_top">Enable use of AD<Base> where Base is std::complex<double></a><br/> |
2434 | 2432 |      faq <a href="faq.xml#Complex Types" target="_top">Frequently Asked Questions and Answers: Complex Types</a><br/> |
2435 | 2433 |      LuSolve <a href="lu_solve.cpp.xml" target="_top">LuSolve With Complex Arguments: Example and Test</a><br/> |
2436 |      polynomial <a href="not_complex_ad.cpp.xml" target="_top">Not Complex Differentiable: Example and Test</a><br/> | |
2437 | 2434 |      polynomial <a href="complex_poly.cpp.xml" target="_top">Complex Polynomial: Example and Test</a><br/> |
2438 | 2435 | complicated <a href="base_identical.xml#EqualOpSeq.More Complicated Cases" target="_top">Base Type Requirements for Identically Equal Comparisons: EqualOpSeq.More Complicated Cases</a><br/> |
2439 | compressed <a href="download.xml#Compressed Tar File" target="_top">Download The CppAD Source Code: Compressed Tar File</a><br/> | |
2436 | compressed <a href="download.xml#Compressed Archives" target="_top">Download The CppAD Source Code: Compressed Archives</a><br/> | |
2440 | 2437 | compute <a href="det_by_minor_c.xml" target="_top">Compute Determinant using Expansion by Minors</a><br/> |
2441 | 2438 |         <a href="old_usead_2.cpp.xml" target="_top">Using AD to Compute Atomic Function Derivatives</a><br/> |
2442 | 2439 |         <a href="old_usead_1.cpp.xml" target="_top">Using AD to Compute Atomic Function Derivatives</a><br/> |
2692 | 2689 |      speed<b> </b>test <a href="speed_cppad.xml" target="_top">Speed Test Derivatives Using CppAD</a><br/> |
2693 | 2690 |      speed<b> </b>test <a href="speed_main.xml" target="_top">Running the Speed Test Program</a><br/> |
2694 | 2691 |      test<b> </b>vector <a href="cppad_testvector.xml" target="_top">Choosing the CppAD Test Vector Template Class</a><br/> |
2695 | cppad<b>-</b>20150000<b>.</b>0<b>:</b> <a href="cppad.xml" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms</a><br/> | |
2692 | cppad<b>-</b>20150000<b>.</b>1<b>:</b> <a href="cppad.xml" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms</a><br/> | |
2696 | 2693 | cppad<b>.</b>hpp<br/> |
2697 |      include <a href="cppad.xml#Include File" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms: Include File</a><br/> | |
2694 |      include <a href="cppad.xml#Include File" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms: Include File</a><br/> | |
2698 | 2695 | cppad<b>::</b>vector <a href="test_vector.xml#CppAD::vector" target="_top">Choosing The Vector Testing Template Class: CppAD::vector</a><br/> |
2699 | 2696 |               <a href="testvector.xml#CppAD::vector" target="_top">Using The CppAD Test Vector Template Class: CppAD::vector</a><br/> |
2700 | 2697 |               <a href="cppad_vector.cpp.xml" target="_top">CppAD::vector Template Class: Example and Test</a><br/> |
2747 | 2744 |         <a href="ta_in_parallel.xml" target="_top">Is The Current Execution in Parallel Mode</a><br/> |
2748 | 2745 |         <a href="abort_recording.cpp.xml" target="_top">Abort Current Recording: Example and Test</a><br/> |
2749 | 2746 |         <a href="download.xml#Subversion.Current Version" target="_top">Download The CppAD Source Code: Subversion.Current Version</a><br/> |
2750 |         <a href="download.xml#Compressed Tar File.Current Version" target="_top">Download The CppAD Source Code: Compressed Tar File.Current Version</a><br/> | |
2747 |         <a href="download.xml#Compressed Archives.Current Version" target="_top">Download The CppAD Source Code: Compressed Archives.Current Version</a><br/> | |
2751 | 2748 |      thread <a href="ta_thread_num.xml" target="_top">Get the Current Thread Number</a><br/> |
2752 | 2749 | currently <a href="omp_inuse.xml" target="_top">Amount of Memory a Thread is Currently Using</a><br/> |
2753 | 2750 |           <a href="omp_free_available.xml" target="_top">Free Memory Currently Available for Quick Use by a Thread</a><br/> |
3055 | 3052 |      absolute <a href="nearequal.xml" target="_top">Determine if Two Values Are Nearly Equal</a><br/> |
3056 | 3053 |      central <a href="interface2c.cpp.xml" target="_top">Interfacing to C: Example and Test</a><br/> |
3057 | 3054 |      relative <a href="nearequal.xml" target="_top">Determine if Two Values Are Nearly Equal</a><br/> |
3058 | differentiable <a href="not_complex_ad.cpp.xml#Not Complex Differentiable" target="_top">Not Complex Differentiable: Example and Test: Not Complex Differentiable</a><br/> | |
3059 | differentiable<b>:</b> <a href="not_complex_ad.cpp.xml" target="_top">Not Complex Differentiable: Example and Test</a><br/> | |
3060 | 3055 | differential <a href="sincosforward.xml#Differential Equation" target="_top">Trigonometric and Hyperbolic Sine and Cosine Forward Theory: Differential Equation</a><br/> |
3061 | 3056 |              <a href="forwardtheory.xml#Standard Math Functions.Differential Equation" target="_top">The Theory of Forward Mode: Standard Math Functions.Differential Equation</a><br/> |
3062 | 3057 |      equation <a href="odegear.xml" target="_top">An Arbitrary Order Gear Method</a><br/> |
3068 | 3063 | differentiating <a href="stack_machine.cpp.xml" target="_top">Example Differentiating a Stack Machine Interpreter</a><br/> |
3069 | 3064 | differentiation <a href="introduction.xml#Preface.Algorithmic Differentiation" target="_top">An Introduction by Example to Algorithmic Differentiation: Preface.Algorithmic Differentiation</a><br/> |
3070 | 3065 |                 <a href="introduction.xml" target="_top">An Introduction by Example to Algorithmic Differentiation</a><br/> |
3071 |                 <a href="cppad.xml" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms</a><br/> | |
3066 |                 <a href="cppad.xml" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms</a><br/> | |
3072 | 3067 | dimension<br/> |
3073 | 3068 |      multi<b> </b>Romberg<b> </b>integration <a href="rombergmul.xml" target="_top">Multi-dimensional Romberg Integration</a><br/> |
3074 | 3069 | dimensional <a href="rombergmul.cpp.xml" target="_top">One Dimensional Romberg Integration: Example and Test</a><br/> |
3624 | 3619 |         <a href="funconstruct.xml#Example" target="_top">Construct an ADFun Object and Stop Recording: Example</a><br/> |
3625 | 3620 |         <a href="independent.cpp.xml" target="_top">Independent and ADFun Constructor: Example and Test</a><br/> |
3626 | 3621 |         <a href="independent.xml#Example" target="_top">Declare Independent Variables and Start Recording: Example</a><br/> |
3627 |         <a href="not_complex_ad.cpp.xml" target="_top">Not Complex Differentiable: Example and Test</a><br/> | |
3628 | 3622 |         <a href="complex_poly.cpp.xml" target="_top">Complex Polynomial: Example and Test</a><br/> |
3629 | 3623 |         <a href="base_complex.hpp.xml#Example" target="_top">Enable use of AD<Base> where Base is std::complex<double>: Example</a><br/> |
3630 | 3624 |         <a href="mul_level_adolc.cpp.xml" target="_top">Using Adolc with Multiple Levels of Taping: Example and Test</a><br/> |
3718 | 3712 |         <a href="introduction.xml" target="_top">An Introduction by Example to Algorithmic Differentiation</a><br/> |
3719 | 3713 |         <a href="colpack.cpp.xml" target="_top">Using ColPack: Example and Test</a><br/> |
3720 | 3714 |         <a href="colpack_prefix.xml#Example" target="_top">Including the ColPack Sparsity Calculations: Example</a><br/> |
3721 |         <a href="cppad.xml#Example" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms: Example</a><br/> | |
3715 |         <a href="cppad.xml#Example" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms: Example</a><br/> | |
3722 | 3716 |      AD<b> </b>acos <a href="acos.cpp.xml" target="_top">The AD acos Function: Example and Test</a><br/> |
3723 | 3717 |      AD<b> </b>add <a href="add.cpp.xml" target="_top">AD Binary Addition: Example and Test</a><br/> |
3724 | 3718 |      AD<b> </b>asin <a href="asin.cpp.xml" target="_top">The AD asin Function: Example and Test</a><br/> |
3827 | 3821 |      new <a href="tracknewdel.cpp.xml" target="_top">Tracking Use of New and Delete: Example and Test</a><br/> |
3828 | 3822 |      nonlinear,<b> </b>programming <a href="ipopt_nlp_get_started.cpp.xml" target="_top">Nonlinear Programming Using CppAD and Ipopt: Example and Test</a><br/> |
3829 | 3823 |      nonlinear,<b> </b>programming <a href="ipopt_solve_get_started.cpp.xml" target="_top">Nonlinear Programming Using CppAD and Ipopt: Example and Test</a><br/> |
3830 |      not<b> </b>complex<b> </b>differentiable <a href="not_complex_ad.cpp.xml" target="_top">Not Complex Differentiable: Example and Test</a><br/> | |
3831 | 3824 |      number<b>_</b>skip <a href="number_skip.cpp.xml" target="_top">Number of Variables That Can be Skipped: Example and Test</a><br/> |
3832 | 3825 |      ODE <a href="ode_taylor.cpp.xml" target="_top">Taylor's Ode Solver: An Example and Test</a><br/> |
3833 | 3826 |      ODE <a href="mul_level_ode.cpp.xml" target="_top">Taylor's Ode Solver: An Example and Test</a><br/> |
4080 | 4073 |          <a href="get_adolc.sh.xml#External Directory" target="_top">Download and Install Adolc in Build Directory: External Directory</a><br/> |
4081 | 4074 | extra <a href="old_mat_mul.hpp.xml#Extra Call Information" target="_top">Define Matrix Multiply as a User Atomic Operation: Extra Call Information</a><br/> |
4082 | 4075 |       <a href="ta_free_available.xml#Purpose.Extra Memory" target="_top">Free Memory Currently Available for Quick Use by a Thread: Purpose.Extra Memory</a><br/> |
4083 | extraction <a href="download.xml#Compressed Tar File.Windows File Extraction" target="_top">Download The CppAD Source Code: Compressed Tar File.Windows File Extraction</a><br/> | |
4084 |            <a href="download.xml#Compressed Tar File.Unix File Extraction" target="_top">Download The CppAD Source Code: Compressed Tar File.Unix File Extraction</a><br/> | |
4076 | extraction <a href="download.xml#Compressed Archives.Windows File Extraction" target="_top">Download The CppAD Source Code: Compressed Archives.Windows File Extraction</a><br/> | |
4077 |            <a href="download.xml#Compressed Archives.Unix File Extraction" target="_top">Download The CppAD Source Code: Compressed Archives.Unix File Extraction</a><br/> | |
4085 | 4078 | |
4086 | 4079 | <b><big><a name="F">F</a></big></b> |
4087 | 4080 | <br/> |
4253 | 4246 |      <a href="near_equal.cpp.xml#File Name" target="_top">NearEqual Function: Example and Test: File Name</a><br/> |
4254 | 4247 |      <a href="errorhandler.xml#file" target="_top">Replacing the CppAD Error Handler: file</a><br/> |
4255 | 4248 |      <a href="base_alloc.hpp.xml#Include File" target="_top">Example AD<Base> Where Base Constructor Allocates Memory: Include File</a><br/> |
4256 |      <a href="download.xml#Compressed Tar File.Windows File Extraction" target="_top">Download The CppAD Source Code: Compressed Tar File.Windows File Extraction</a><br/> | |
4257 |      <a href="download.xml#Compressed Tar File.Unix File Extraction" target="_top">Download The CppAD Source Code: Compressed Tar File.Unix File Extraction</a><br/> | |
4258 |      <a href="download.xml#Compressed Tar File" target="_top">Download The CppAD Source Code: Compressed Tar File</a><br/> | |
4259 |      <a href="cppad.xml#Include File" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms: Include File</a><br/> | |
4249 |      <a href="download.xml#Compressed Archives.Windows File Extraction" target="_top">Download The CppAD Source Code: Compressed Archives.Windows File Extraction</a><br/> | |
4250 |      <a href="download.xml#Compressed Archives.Unix File Extraction" target="_top">Download The CppAD Source Code: Compressed Archives.Unix File Extraction</a><br/> | |
4251 |      <a href="cppad.xml#Include File" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms: Include File</a><br/> | |
4260 | 4252 |      deprecated<b> </b>include <a href="include_deprecated.xml" target="_top">Deprecated Include Files</a><br/> |
4261 | 4253 | files <a href="include_deprecated.xml#Linking New Files to Deprecated Commands" target="_top">Deprecated Include Files: Linking New Files to Deprecated Commands</a><br/> |
4262 | 4254 |       <a href="include_deprecated.xml" target="_top">Deprecated Include Files</a><br/> |
4368 | 4360 |     <a href="nearequalext.xml" target="_top">Compare AD and Base Objects for Nearly Equal</a><br/> |
4369 | 4361 |     <a href="limits.xml" target="_top">Numeric Limits For an AD and Base Types</a><br/> |
4370 | 4362 |     <a href="exp_apx_main.cpp.xml" target="_top">Correctness Tests For Exponential Approximation in Introduction</a><br/> |
4371 |     <a href="cppad.xml" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms</a><br/> | |
4363 |     <a href="cppad.xml" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms</a><br/> | |
4372 | 4364 | for<b>_</b>jac<b>_</b>sparse <a href="old_atomic.xml#for_jac_sparse" target="_top">User Defined Atomic AD Functions: for_jac_sparse</a><br/> |
4373 | 4365 | for<b>_</b>sparse<b>_</b>jac <a href="atomic_matrix_mul.hpp.xml#for_sparse_jac" target="_top">Matrix Multiply as an Atomic Operation: for_sparse_jac</a><br/> |
4374 | 4366 |                <a href="atomic_mat_mul.cpp.xml#Use Atomic Function.for_sparse_jac" target="_top">User Atomic Matrix Multiply: Example and Test: Use Atomic Function.for_sparse_jac</a><br/> |
4873 | 4865 |    <a href="equalopseq.xml" target="_top">Check if Two Value are Identically Equal</a><br/> |
4874 | 4866 | if<b>_</b>false <a href="condexp.xml#if_false" target="_top">AD Conditional Expressions: if_false</a><br/> |
4875 | 4867 | if<b>_</b>true <a href="condexp.xml#if_true" target="_top">AD Conditional Expressions: if_true</a><br/> |
4876 | imag<b>()</b> <a href="not_complex_ad.cpp.xml" target="_top">Not Complex Differentiable: Example and Test</a><br/> | |
4877 | 4868 | implementation <a href="old_atomic.xml#Partial Implementation" target="_top">User Defined Atomic AD Functions: Partial Implementation</a><br/> |
4878 | 4869 |                <a href="sacado_poly.cpp.xml#Implementation" target="_top">Sacado Speed: Second Derivative of a Polynomial: Implementation</a><br/> |
4879 | 4870 |                <a href="sacado_ode.cpp.xml#Implementation" target="_top">Sacado Speed: Gradient of Ode Solution: Implementation</a><br/> |
4984 | 4975 |         <a href="base_require.xml#Include Order" target="_top">AD<Base> Requirements for Base Type: Include Order</a><br/> |
4985 | 4976 |         <a href="exp_eps.xml#include" target="_top">An Epsilon Accurate Exponential Approximation: include</a><br/> |
4986 | 4977 |         <a href="exp_2.xml#include" target="_top">Second Order Exponential Approximation: include</a><br/> |
4987 |         <a href="cppad.xml#Include File" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms: Include File</a><br/> | |
4988 |      cppad<b>.</b>hpp <a href="cppad.xml#Include File" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms: Include File</a><br/> | |
4978 |         <a href="cppad.xml#Include File" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms: Include File</a><br/> | |
4979 |      cppad<b>.</b>hpp <a href="cppad.xml#Include File" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms: Include File</a><br/> | |
4989 | 4980 |      deprecated<b> </b>file <a href="include_deprecated.xml" target="_top">Deprecated Include Files</a><br/> |
4990 | 4981 | include<b> </b>directories<br/> |
4991 | 4982 |      install <a href="cmake.xml#cmake_install_includedirs" target="_top">Using CMake to Configure CppAD: cmake_install_includedirs</a><br/> |
5085 | 5076 |         <a href="get_colpack.sh.xml" target="_top">Download and Install ColPack in Build Directory</a><br/> |
5086 | 5077 |         <a href="get_adolc.sh.xml" target="_top">Download and Install Adolc in Build Directory</a><br/> |
5087 | 5078 |         <a href="download.xml#Subversion.Install Instructions" target="_top">Download The CppAD Source Code: Subversion.Install Instructions</a><br/> |
5088 |         <a href="download.xml#Compressed Tar File.Install Instructions" target="_top">Download The CppAD Source Code: Compressed Tar File.Install Instructions</a><br/> | |
5079 |         <a href="download.xml#Compressed Archives.Install Instructions" target="_top">Download The CppAD Source Code: Compressed Archives.Install Instructions</a><br/> | |
5089 | 5080 |         <a href="install.xml#Instructions.Step 4: Install" target="_top">CppAD Download, Test, and Install Instructions: Instructions.Step 4: Install</a><br/> |
5090 | 5081 |         <a href="install.xml" target="_top">CppAD Download, Test, and Install Instructions</a><br/> |
5091 | 5082 |         <a href="install.xml" target="_top">CppAD Download, Test, and Install Instructions</a><br/> |
5105 | 5096 |      unix<b> </b>CppAD <a href="installunix.xml" target="_top">Deprecated Unix Test and Installation</a><br/> |
5106 | 5097 | installation <a href="installunix.xml" target="_top">Deprecated Unix Test and Installation</a><br/> |
5107 | 5098 | instructions <a href="download.xml#Subversion.Install Instructions" target="_top">Download The CppAD Source Code: Subversion.Install Instructions</a><br/> |
5108 |              <a href="download.xml#Compressed Tar File.Install Instructions" target="_top">Download The CppAD Source Code: Compressed Tar File.Install Instructions</a><br/> | |
5099 |              <a href="download.xml#Compressed Archives.Install Instructions" target="_top">Download The CppAD Source Code: Compressed Archives.Install Instructions</a><br/> | |
5109 | 5100 |              <a href="install.xml#Instructions" target="_top">CppAD Download, Test, and Install Instructions: Instructions</a><br/> |
5110 | 5101 |              <a href="install.xml" target="_top">CppAD Download, Test, and Install Instructions</a><br/> |
5111 | 5102 | int<br/> |
5163 | 5154 |              <a href="example.xml#Introduction" target="_top">Examples: Introduction</a><br/> |
5164 | 5155 |              <a href="exp_apx_main.cpp.xml" target="_top">Correctness Tests For Exponential Approximation in Introduction</a><br/> |
5165 | 5156 |              <a href="introduction.xml" target="_top">An Introduction by Example to Algorithmic Differentiation</a><br/> |
5166 |              <a href="cppad.xml#Introduction" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms: Introduction</a><br/> | |
5167 |              <a href="cppad.xml#Introduction" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms: Introduction</a><br/> | |
5157 |              <a href="cppad.xml#Introduction" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms: Introduction</a><br/> | |
5158 |              <a href="cppad.xml#Introduction" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms: Introduction</a><br/> | |
5168 | 5159 |      AD <a href="introduction.xml" target="_top">An Introduction by Example to Algorithmic Differentiation</a><br/> |
5169 | 5160 | inuse <a href="memory_leak.xml#inuse" target="_top">Memory Leak Detection: inuse</a><br/> |
5170 | 5161 |      omp<b>_</b>alloc <a href="omp_inuse.xml#Deprecated" target="_top">Amount of Memory a Thread is Currently Using: Deprecated</a><br/> |
5820 | 5811 |       <a href="print_for_string.cpp.xml" target="_top">Print During Zero Order Forward Mode: Example and Test</a><br/> |
5821 | 5812 |       <a href="print_for_cout.cpp.xml" target="_top">Printing During Forward Mode: Example and Test</a><br/> |
5822 | 5813 | modeexample <a href="reverse_two.cpp.xml" target="_top">Second Order Reverse ModeExample and Test</a><br/> |
5823 | monthly <a href="download.xml#Compressed Tar File.Monthly Versions" target="_top">Download The CppAD Source Code: Compressed Tar File.Monthly Versions</a><br/> | |
5814 | monthly <a href="download.xml#Compressed Archives.Monthly Versions" target="_top">Download The CppAD Source Code: Compressed Archives.Monthly Versions</a><br/> | |
5824 | 5815 | more <a href="base_identical.xml#EqualOpSeq.More Complicated Cases" target="_top">Base Type Requirements for Identically Equal Comparisons: EqualOpSeq.More Complicated Cases</a><br/> |
5825 | 5816 | motivation <a href="mul_level.xml#Motivation" target="_top">Using Multiple Levels of AD: Motivation</a><br/> |
5826 | 5817 |            <a href="time_test.xml#Motivation" target="_top">Determine Amount of Time to Execute a Test: Motivation</a><br/> |
5974 | 5965 |           <a href="faq.xml#Namespace" target="_top">Frequently Asked Questions and Answers: Namespace</a><br/> |
5975 | 5966 |           <a href="faq.xml#Namespace" target="_top">Frequently Asked Questions and Answers: Namespace</a><br/> |
5976 | 5967 |           <a href="cppad_eigen.hpp.xml#CppAD Namespace" target="_top">Enable Use of Eigen Linear Algebra Package with CppAD: CppAD Namespace</a><br/> |
5977 |           <a href="cppad.xml#Namespace" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms: Namespace</a><br/> | |
5978 |      CppAD <a href="cppad.xml#Namespace" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms: Namespace</a><br/> | |
5968 |           <a href="cppad.xml#Namespace" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms: Namespace</a><br/> | |
5969 |      CppAD <a href="cppad.xml#Namespace" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms: Namespace</a><br/> | |
5979 | 5970 | nan <a href="ode_err_control.cpp.xml#Nan" target="_top">OdeErrControl: Example and Test: Nan</a><br/> |
5980 | 5971 |     <a href="odeerrcontrol.xml#Method.Nan" target="_top">An Error Controller for ODE Solvers: Method.Nan</a><br/> |
5981 | 5972 |     <a href="rosen34.xml#Fun.Nan" target="_top">A 3rd and 4th Order Rosenbrock ODE Solver: Fun.Nan</a><br/> |
6023 | 6014 | norm <a href="atomic_norm_sq.cpp.xml" target="_top">Euclidean Norm Squared: Example and Test</a><br/> |
6024 | 6015 | norm<b>_</b>sq<br/> |
6025 | 6016 |      atomic<b> </b>operation <a href="atomic_norm_sq.cpp.xml" target="_top">Euclidean Norm Squared: Example and Test</a><br/> |
6026 | not <a href="not_complex_ad.cpp.xml#Not Complex Differentiable" target="_top">Not Complex Differentiable: Example and Test: Not Complex Differentiable</a><br/> | |
6027 |     <a href="not_complex_ad.cpp.xml" target="_top">Not Complex Differentiable: Example and Test</a><br/> | |
6028 |     <a href="base_example.xml" target="_top">Example AD Base Types That are not AD<OtherBase></a><br/> | |
6017 | not <a href="base_example.xml" target="_top">Example AD Base Types That are not AD<OtherBase></a><br/> | |
6029 | 6018 |     <a href="base_ordered.xml#Not Ordered" target="_top">Base Type Requirements for Ordered Comparisons: Not Ordered</a><br/> |
6030 | 6019 |     <a href="base_cond_exp.xml#CondExpTemplate.Not Ordered" target="_top">Base Type Requirements for Conditional Expressions: CondExpTemplate.Not Ordered</a><br/> |
6031 | 6020 | notation <a href="ipopt_nlp_ode_problem.xml#Notation" target="_top">An ODE Inverse Problem Example: Notation</a><br/> |
6314 | 6303 |    <a href="atomic_afun.xml" target="_top">Using AD Version of Atomic Function</a><br/> |
6315 | 6304 |    <a href="convert.xml" target="_top">Conversion and I/O of AD Objects</a><br/> |
6316 | 6305 |    <a href="exp_eps.cpp.xml" target="_top">exp_eps: Test of exp_eps</a><br/> |
6317 |    <a href="cppad.xml" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms</a><br/> | |
6306 |    <a href="cppad.xml" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms</a><br/> | |
6318 | 6307 | ok <a href="old_atomic.xml#ok" target="_top">User Defined Atomic AD Functions: ok</a><br/> |
6319 | 6308 |    <a href="det_grad_33.xml#ok" target="_top">Check Gradient of Determinant of 3 by 3 matrix: ok</a><br/> |
6320 | 6309 |    <a href="det_33.xml#ok" target="_top">Check Determinant of 3 by 3 matrix: ok</a><br/> |
6702 | 6691 |         <a href="speed_main.xml#package" target="_top">Running the Speed Test Program: package</a><br/> |
6703 | 6692 |         <a href="speed.xml" target="_top">Speed Test an Operator Overloading AD Package</a><br/> |
6704 | 6693 |         <a href="cppad_eigen.hpp.xml" target="_top">Enable Use of Eigen Linear Algebra Package with CppAD</a><br/> |
6705 |         <a href="cppad.xml" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms</a><br/> | |
6694 |         <a href="cppad.xml" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms</a><br/> | |
6706 | 6695 |      prefix <a href="cmake.xml#package_prefix" target="_top">Using CMake to Configure CppAD: package_prefix</a><br/> |
6707 | 6696 | package<b>_</b>prefix <a href="cmake.xml#package_prefix" target="_top">Using CMake to Configure CppAD: package_prefix</a><br/> |
6708 | 6697 | pairs <a href="wishlist.xml#Optimization.Variable Pairs" target="_top">The CppAD Wish List: Optimization.Variable Pairs</a><br/> |
6804 | 6793 |      binary<b> </b>operator <a href="ad_binary.xml" target="_top">AD Binary Arithmetic Operators</a><br/> |
6805 | 6794 |      computed<b> </b>assignment <a href="compute_assign.xml" target="_top">AD Computed Assignment Operators</a><br/> |
6806 | 6795 | poly <a href="poly.hpp.xml" target="_top">Source: Poly</a><br/> |
6807 |      <a href="not_complex_ad.cpp.xml#Poly" target="_top">Not Complex Differentiable: Example and Test: Poly</a><br/> | |
6808 | 6796 |      <a href="complex_poly.cpp.xml#Poly" target="_top">Complex Polynomial: Example and Test: Poly</a><br/> |
6809 | 6797 |      <a href="get_started.cpp.xml#Poly" target="_top">Getting Started Using CppAD to Compute Derivatives: Poly</a><br/> |
6810 | 6798 | polynomial <a href="erf_forward.xml" target="_top">Error Function Forward Taylor Polynomial Theory</a><br/> |
6824 | 6812 |            <a href="poly.cpp.xml" target="_top">Polynomial Evaluation: Example and Test</a><br/> |
6825 | 6813 |            <a href="poly.xml" target="_top">Evaluate a Polynomial or its Derivative</a><br/> |
6826 | 6814 |            <a href="poly.xml" target="_top">Evaluate a Polynomial or its Derivative</a><br/> |
6827 |      complex <a href="not_complex_ad.cpp.xml" target="_top">Not Complex Differentiable: Example and Test</a><br/> | |
6828 | 6815 |      complex <a href="complex_poly.cpp.xml" target="_top">Complex Polynomial: Example and Test</a><br/> |
6829 | 6816 |      example <a href="poly.cpp.xml" target="_top">Polynomial Evaluation: Example and Test</a><br/> |
6830 | 6817 |      speed<b> </b>adolc <a href="adolc_poly.cpp.xml" target="_top">Adolc Speed: Second Derivative of a Polynomial</a><br/> |
6878 | 6865 |              <a href="wishlist.xml#Preprocessor Symbols" target="_top">The CppAD Wish List: Preprocessor Symbols</a><br/> |
6879 | 6866 |              <a href="faq.xml#Namespace.Test Vector Preprocessor Symbol" target="_top">Frequently Asked Questions and Answers: Namespace.Test Vector Preprocessor Symbol</a><br/> |
6880 | 6867 |              <a href="preprocessor.xml" target="_top">CppAD API Preprocessor Symbols</a><br/> |
6881 |              <a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms: Preprocessor Symbols</a><br/> | |
6868 |              <a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms: Preprocessor Symbols</a><br/> | |
6882 | 6869 |      CPPAD<b>_ </b>symbol <a href="preprocessor.xml" target="_top">CppAD API Preprocessor Symbols</a><br/> |
6883 |      symbol<b> </b>CppAD <a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms: Preprocessor Symbols</a><br/> | |
6870 |      symbol<b> </b>CppAD <a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms: Preprocessor Symbols</a><br/> | |
6884 | 6871 |      symbols <a href="faq.xml#Namespace.Test Vector Preprocessor Symbol" target="_top">Frequently Asked Questions and Answers: Namespace.Test Vector Preprocessor Symbol</a><br/> |
6885 | 6872 | previous <a href="whats_new.xml#Previous Years" target="_top">Changes and Additions to CppAD: Previous Years</a><br/> |
6886 | 6873 | previously <a href="tracknewdel.xml#TrackCount.Previously Deprecated" target="_top">Routines That Track Use of New and Delete: TrackCount.Previously Deprecated</a><br/> |
7267 | 7254 | re<b>-</b>tape<b>:</b> <a href="fun_check.cpp.xml" target="_top">ADFun Check and Re-Tape: Example and Test</a><br/> |
7268 | 7255 |          <a href="compare_change.cpp.xml" target="_top">CompareChange and Re-Tape: Example and Test</a><br/> |
7269 | 7256 | real <a href="integer.xml#x.Real Types" target="_top">Convert From AD to Integer: x.Real Types</a><br/> |
7270 | real<b>()</b> <a href="not_complex_ad.cpp.xml" target="_top">Not Complex Differentiable: Example and Test</a><br/> | |
7271 | 7257 | realistic<br/> |
7272 | 7258 |      example <a href="general.xml" target="_top">General Examples</a><br/> |
7273 | 7259 | recipes <a href="bib.xml#Numerical Recipes" target="_top">Bibliography: Numerical Recipes</a><br/> |
7313 | 7299 | relative<br/> |
7314 | 7300 |      difference <a href="nearequal.xml" target="_top">Determine if Two Values Are Nearly Equal</a><br/> |
7315 | 7301 | release <a href="download.xml#Subversion.Release Versions" target="_top">Download The CppAD Source Code: Subversion.Release Versions</a><br/> |
7316 |         <a href="download.xml#Compressed Tar File.Release Versions" target="_top">Download The CppAD Source Code: Compressed Tar File.Release Versions</a><br/> | |
7302 |         <a href="download.xml#Compressed Archives.Release Versions" target="_top">Download The CppAD Source Code: Compressed Archives.Release Versions</a><br/> | |
7317 | 7303 | removed <a href="old_max_num_threads.xml#Removed" target="_top">Set Maximum Number of Threads for omp_alloc Allocator: Removed</a><br/> |
7318 | 7304 |         <a href="omp_efficient.xml#Removed" target="_top">Check If A Memory Allocation is Efficient for Another Use: Removed</a><br/> |
7319 | 7305 | repeat <a href="repeat_det_by_minor_c.xml#repeat" target="_top">Repeat det_by_minor Routine A Specified Number of Times: repeat</a><br/> |
7728 | 7714 |     <a href="capacity_order.xml#Syntax.See Also" target="_top">Controlling Taylor Coefficients Memory Allocation: Syntax.See Also</a><br/> |
7729 | 7715 |     <a href="size_order.xml#Syntax.See Also" target="_top">Number Taylor Coefficient Orders Currently Stored: Syntax.See Also</a><br/> |
7730 | 7716 |     <a href="seq_property.xml#Syntax.See Also" target="_top">ADFun Sequence Properties: Syntax.See Also</a><br/> |
7731 |     <a href="not_complex_ad.cpp.xml#See Also" target="_top">Not Complex Differentiable: Example and Test: See Also</a><br/> | |
7732 |     <a href="complex_poly.cpp.xml#See Also" target="_top">Complex Polynomial: Example and Test: See Also</a><br/> | |
7733 |     <a href="base_complex.hpp.xml#See Also" target="_top">Enable use of AD<Base> where Base is std::complex<double>: See Also</a><br/> | |
7734 | 7717 |     <a href="interp_retape.cpp.xml#See Also" target="_top">Interpolation With Retaping: Example and Test: See Also</a><br/> |
7735 | 7718 |     <a href="interp_onetape.cpp.xml#See Also" target="_top">Interpolation With Out Retaping: Example and Test: See Also</a><br/> |
7736 | 7719 |     <a href="pow.xml#See Also" target="_top">The AD Power Function: See Also</a><br/> |
8441 | 8424 |        <a href="exp_2_cppad.xml" target="_top">exp_2: CppAD Forward and Reverse Sweeps</a><br/> |
8442 | 8425 | symbol <a href="faq.xml#Namespace.Test Vector Preprocessor Symbol" target="_top">Frequently Asked Questions and Answers: Namespace.Test Vector Preprocessor Symbol</a><br/> |
8443 | 8426 |      preprocessor<b> </b>CPPAD<b>_</b> <a href="preprocessor.xml" target="_top">CppAD API Preprocessor Symbols</a><br/> |
8444 |      preprocessor<b> </b>CppAD <a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms: Preprocessor Symbols</a><br/> | |
8427 |      preprocessor<b> </b>CppAD <a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms: Preprocessor Symbols</a><br/> | |
8445 | 8428 | symbols <a href="wishlist.xml#Preprocessor Symbols" target="_top">The CppAD Wish List: Preprocessor Symbols</a><br/> |
8446 | 8429 |         <a href="preprocessor.xml" target="_top">CppAD API Preprocessor Symbols</a><br/> |
8447 |         <a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms: Preprocessor Symbols</a><br/> | |
8430 |         <a href="cppad.xml#Preprocessor Symbols" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms: Preprocessor Symbols</a><br/> | |
8448 | 8431 |      preprocessor <a href="faq.xml#Namespace.Test Vector Preprocessor Symbol" target="_top">Frequently Asked Questions and Answers: Namespace.Test Vector Preprocessor Symbol</a><br/> |
8449 | 8432 | syntax <a href="time_det_by_minor_c.xml#Syntax" target="_top">Determine Amount of Time to Execute det_by_minor: Syntax</a><br/> |
8450 | 8433 |        <a href="elapsed_seconds_c.xml#Syntax" target="_top">Returns Elapsed Number of Seconds: Syntax</a><br/> |
8622 | 8605 |        <a href="get_eigen.sh.xml#Syntax" target="_top">Download and Install Eigen in Build Directory: Syntax</a><br/> |
8623 | 8606 |        <a href="get_colpack.sh.xml#Syntax" target="_top">Download and Install ColPack in Build Directory: Syntax</a><br/> |
8624 | 8607 |        <a href="get_adolc.sh.xml#Syntax" target="_top">Download and Install Adolc in Build Directory: Syntax</a><br/> |
8625 |        <a href="cppad.xml#Syntax" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms: Syntax</a><br/> | |
8608 |        <a href="cppad.xml#Syntax" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms: Syntax</a><br/> | |
8626 | 8609 | systems <a href="elapsed_seconds.xml#Microsoft Systems" target="_top">Returns Elapsed Number of Seconds: Microsoft Systems</a><br/> |
8627 | 8610 | |
8628 | 8611 | <b><big><a name="T">T</a></big></b> |
8692 | 8675 |        <a href="tape_index.cpp.xml" target="_top">Taping Array Index Operation: Example and Test</a><br/> |
8693 | 8676 |      Value<b> </b>during <a href="var2par.cpp.xml" target="_top">Convert an AD Variable to a Parameter: Example and Test</a><br/> |
8694 | 8677 | taping<b>:</b> <a href="mul_level_adolc.cpp.xml" target="_top">Using Adolc with Multiple Levels of Taping: Example and Test</a><br/> |
8695 | tar <a href="download.xml#Compressed Tar File" target="_top">Download The CppAD Source Code: Compressed Tar File</a><br/> | |
8696 | 8678 | taylor <a href="glossary.xml#Taylor Coefficient" target="_top">Glossary: Taylor Coefficient</a><br/> |
8697 | 8679 |        <a href="reversetheory.xml#Taylor Notation" target="_top">The Theory of Reverse Mode: Taylor Notation</a><br/> |
8698 | 8680 |        <a href="erf_forward.xml#Taylor Coefficients Recursion" target="_top">Error Function Forward Taylor Polynomial Theory: Taylor Coefficients Recursion</a><br/> |
8869 | 8851 |      <a href="abort_recording.cpp.xml" target="_top">Abort Current Recording: Example and Test</a><br/> |
8870 | 8852 |      <a href="fun_assign.cpp.xml" target="_top">ADFun Assignment: Example and Test</a><br/> |
8871 | 8853 |      <a href="independent.cpp.xml" target="_top">Independent and ADFun Constructor: Example and Test</a><br/> |
8872 |      <a href="not_complex_ad.cpp.xml" target="_top">Not Complex Differentiable: Example and Test</a><br/> | |
8873 | 8854 |      <a href="complex_poly.cpp.xml" target="_top">Complex Polynomial: Example and Test</a><br/> |
8874 | 8855 |      <a href="mul_level_adolc.cpp.xml" target="_top">Using Adolc with Multiple Levels of Taping: Example and Test</a><br/> |
8875 | 8856 |      <a href="base_require.cpp.xml" target="_top">Using a User Defined AD Base Type: Example and Test</a><br/> |
9048 | 9029 |      NumericType <a href="numeric_type.cpp.xml" target="_top">The NumericType: Example and Test</a><br/> |
9049 | 9030 |      nan <a href="nan.cpp.xml" target="_top">nan: Example and Test</a><br/> |
9050 | 9031 |      new <a href="tracknewdel.cpp.xml" target="_top">Tracking Use of New and Delete: Example and Test</a><br/> |
9051 |      not<b> </b>complex<b> </b>differentiable <a href="not_complex_ad.cpp.xml" target="_top">Not Complex Differentiable: Example and Test</a><br/> | |
9052 | 9032 |      ODE <a href="ode_taylor.cpp.xml" target="_top">Taylor's Ode Solver: An Example and Test</a><br/> |
9053 | 9033 |      ODE <a href="mul_level_ode.cpp.xml" target="_top">Taylor's Ode Solver: An Example and Test</a><br/> |
9054 | 9034 |      OdeErrControl <a href="ode_err_maxabs.cpp.xml" target="_top">OdeErrControl: Example and Test Using Maxabs Argument</a><br/> |
9576 | 9556 | union <a href="old_mat_mul.hpp.xml#Set Union" target="_top">Define Matrix Multiply as a User Atomic Operation: Set Union</a><br/> |
9577 | 9557 | unix <a href="installunix.xml" target="_top">Deprecated Unix Test and Installation</a><br/> |
9578 | 9558 |      <a href="adolc_prefix.xml#Unix" target="_top">Including the ADOL-C Examples and Tests: Unix</a><br/> |
9579 |      <a href="download.xml#Compressed Tar File.Unix File Extraction" target="_top">Download The CppAD Source Code: Compressed Tar File.Unix File Extraction</a><br/> | |
9559 |      <a href="download.xml#Compressed Archives.Unix File Extraction" target="_top">Download The CppAD Source Code: Compressed Archives.Unix File Extraction</a><br/> | |
9580 | 9560 |      adolc <a href="adolc_prefix.xml#Unix" target="_top">Including the ADOL-C Examples and Tests: Unix</a><br/> |
9581 | 9561 |      CppAD<b> </b>install <a href="installunix.xml" target="_top">Deprecated Unix Test and Installation</a><br/> |
9582 | 9562 | unknown <a href="cppad_assert.xml#Restriction.Unknown" target="_top">CppAD Assertions During Execution: Restriction.Unknown</a><br/> |
9905 | 9885 |         <a href="atomic_afun.xml" target="_top">Using AD Version of Atomic Function</a><br/> |
9906 | 9886 |         <a href="discrete.xml#Create AD Version" target="_top">Discrete AD Functions: Create AD Version</a><br/> |
9907 | 9887 |         <a href="download.xml#Subversion.Current Version" target="_top">Download The CppAD Source Code: Subversion.Current Version</a><br/> |
9908 |         <a href="download.xml#Compressed Tar File.Current Version" target="_top">Download The CppAD Source Code: Compressed Tar File.Current Version</a><br/> | |
9909 |      CppAD <a href="cppad.xml" target="_top">cppad-20150000.0: A Package for Differentiation of C++ Algorithms</a><br/> | |
9888 |         <a href="download.xml#Compressed Archives.Current Version" target="_top">Download The CppAD Source Code: Compressed Archives.Current Version</a><br/> | |
9889 |      CppAD <a href="cppad.xml" target="_top">cppad-20150000.1: A Package for Differentiation of C++ Algorithms</a><br/> | |
9910 | 9890 | version<b>)</b> <a href="double_mat_mul.cpp.xml" target="_top">CppAD Speed: Matrix Multiplication (Double Version)</a><br/> |
9911 | 9891 | versions <a href="download.xml#Subversion.Release Versions" target="_top">Download The CppAD Source Code: Subversion.Release Versions</a><br/> |
9912 | 9892 |          <a href="download.xml#Subversion.Stable Versions" target="_top">Download The CppAD Source Code: Subversion.Stable Versions</a><br/> |
9913 |          <a href="download.xml#Compressed Tar File.Release Versions" target="_top">Download The CppAD Source Code: Compressed Tar File.Release Versions</a><br/> | |
9914 |          <a href="download.xml#Compressed Tar File.Monthly Versions" target="_top">Download The CppAD Source Code: Compressed Tar File.Monthly Versions</a><br/> | |
9893 |          <a href="download.xml#Compressed Archives.Monthly Versions" target="_top">Download The CppAD Source Code: Compressed Archives.Monthly Versions</a><br/> | |
9894 |          <a href="download.xml#Compressed Archives.Release Versions" target="_top">Download The CppAD Source Code: Compressed Archives.Release Versions</a><br/> | |
9915 | 9895 | virtual <a href="atomic_base.xml#Virtual Functions" target="_top">User Defined Atomic AD Functions: Virtual Functions</a><br/> |
9916 | 9896 | vx <a href="old_atomic.xml#forward.vx" target="_top">User Defined Atomic AD Functions: forward.vx</a><br/> |
9917 | 9897 |    <a href="atomic_rev_sparse_hes.xml#Implementation.vx" target="_top">Atomic Reverse Hessian Sparsity Patterns: Implementation.vx</a><br/> |
9942 | 9922 |       <a href="base_adolc.hpp.xml" target="_top">Enable use of AD<Base> where Base is Adolc's adouble Type</a><br/> |
9943 | 9923 |       <a href="base_alloc.hpp.xml" target="_top">Example AD<Base> Where Base Constructor Allocates Memory</a><br/> |
9944 | 9924 | windows <a href="test_vector.xml#MS Windows" target="_top">Choosing The Vector Testing Template Class: MS Windows</a><br/> |
9945 |         <a href="download.xml#Compressed Tar File.Windows File Extraction" target="_top">Download The CppAD Source Code: Compressed Tar File.Windows File Extraction</a><br/> | |
9925 |         <a href="download.xml#Compressed Archives.Windows File Extraction" target="_top">Download The CppAD Source Code: Compressed Archives.Windows File Extraction</a><br/> | |
9946 | 9926 | wish <a href="cppad_ipopt_nlp.xml#Wish List" target="_top">Nonlinear Programming Using the CppAD Interface to Ipopt: Wish List</a><br/> |
9947 | 9927 |      <a href="wishlist.xml" target="_top">The CppAD Wish List</a><br/> |
9948 | 9928 | wish<b> </b>list <a href="wishlist.xml" target="_top">The CppAD Wish List</a><br/> |
0 | var list_across0 = [ | |
1 | '_contents_xml.htm', | |
2 | '_reference.xml', | |
3 | '_index.xml', | |
4 | '_search_xml.htm', | |
5 | '_external.xml' | |
6 | ]; | |
7 | var list_up0 = [ | |
8 | 'cppad.xml', | |
9 | 'ad.xml', | |
10 | 'base_require.xml', | |
11 | 'base_example.xml', | |
12 | 'base_complex.hpp.xml', | |
13 | 'not_complex_ad.cpp.xml' | |
14 | ]; | |
15 | var list_down3 = [ | |
16 | 'base_member.xml', | |
17 | 'base_cond_exp.xml', | |
18 | 'base_identical.xml', | |
19 | 'base_ordered.xml', | |
20 | 'base_std_math.xml', | |
21 | 'base_example.xml' | |
22 | ]; | |
23 | var list_down2 = [ | |
24 | 'base_alloc.hpp.xml', | |
25 | 'base_require.cpp.xml', | |
26 | 'base_adolc.hpp.xml', | |
27 | 'base_float.hpp.xml', | |
28 | 'base_double.hpp.xml', | |
29 | 'base_complex.hpp.xml' | |
30 | ]; | |
31 | var list_down1 = [ | |
32 | 'complex_poly.cpp.xml', | |
33 | 'not_complex_ad.cpp.xml' | |
34 | ]; | |
35 | var list_current0 = [ | |
36 | 'not_complex_ad.cpp.xml#Not Complex Differentiable', | |
37 | 'not_complex_ad.cpp.xml#See Also', | |
38 | 'not_complex_ad.cpp.xml#Poly' | |
39 | ]; | |
40 | function choose_across0(item) | |
41 | { var index = item.selectedIndex; | |
42 | item.selectedIndex = 0; | |
43 | if(index > 0) | |
44 | document.location = list_across0[index-1]; | |
45 | } | |
46 | function choose_up0(item) | |
47 | { var index = item.selectedIndex; | |
48 | item.selectedIndex = 0; | |
49 | if(index > 0) | |
50 | document.location = list_up0[index-1]; | |
51 | } | |
52 | function choose_down3(item) | |
53 | { var index = item.selectedIndex; | |
54 | item.selectedIndex = 0; | |
55 | if(index > 0) | |
56 | document.location = list_down3[index-1]; | |
57 | } | |
58 | function choose_down2(item) | |
59 | { var index = item.selectedIndex; | |
60 | item.selectedIndex = 0; | |
61 | if(index > 0) | |
62 | document.location = list_down2[index-1]; | |
63 | } | |
64 | function choose_down1(item) | |
65 | { var index = item.selectedIndex; | |
66 | item.selectedIndex = 0; | |
67 | if(index > 0) | |
68 | document.location = list_down1[index-1]; | |
69 | } | |
70 | function choose_down0(item) | |
71 | { var index = item.selectedIndex; | |
72 | item.selectedIndex = 0; | |
73 | if(index > 0) | |
74 | document.location = list_down0[index-1]; | |
75 | } | |
76 | function choose_current0(item) | |
77 | { var index = item.selectedIndex; | |
78 | item.selectedIndex = 0; | |
79 | if(index > 0) | |
80 | document.location = list_current0[index-1]; | |
81 | } |
204 | 204 | <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> |
205 | 205 | <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> |
206 | 206 | <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.0: 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.1: A Package for Differentiation of C++ Algorithms </td></tr><tr valign="top"><td> | |
208 | 208 | <a href="cppad_assert.xml" target="_top">cppad_assert</a><br/> </td><td> CppAD Assertions During Execution </td></tr><tr valign="top"><td> |
209 | 209 | <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> |
210 | 210 | <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> |
454 | 454 | <a href="near_equal_ext.cpp.xml" target="_top">near_equal_ext.cpp</a><br/> </td><td> Compare AD with Base Objects: Example and Test </td></tr><tr valign="top"><td> |
455 | 455 | <a href="nearequal.xml" target="_top">NearEqual</a><br/> </td><td> Determine if Two Values Are Nearly Equal </td></tr><tr valign="top"><td> |
456 | 456 | <a href="nearequalext.xml" target="_top">NearEqualExt</a><br/> </td><td> Compare AD and Base Objects for Nearly Equal </td></tr><tr valign="top"><td> |
457 | <a href="not_complex_ad.cpp.xml" target="_top">not_complex_ad.cpp</a><br/> </td><td> Not Complex Differentiable: Example and Test </td></tr><tr valign="top"><td> | |
458 | 457 | <a href="number_skip.xml" target="_top">number_skip</a><br/> </td><td> Number of Variables that Can be Skipped </td></tr><tr valign="top"><td> |
459 | 458 | <a href="number_skip.cpp.xml" target="_top">number_skip.cpp</a><br/> </td><td> Number of Variables That Can be Skipped: Example and Test </td></tr><tr valign="top"><td> |
460 | 459 | <a href="numeric_type.cpp.xml" target="_top">numeric_type.cpp</a><br/> </td><td> The NumericType: Example and Test </td></tr><tr valign="top"><td> |
2 | 2 | // ------------------------------------------------------- |
3 | 3 | Keyword = |
4 | 4 | [ |
5 | 'CppAD cppad-20150000.0: 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.1: A Package for Differentiation of C++ Algorithms ',' algorithmic automatic derivative version syntax introduction example include file cppad.hpp preprocessor symbols namespace ', | |
6 | 6 | 'Install CppAD Download, Test, and Install Instructions ',' step 1: 2: cmake 3: check 4: ', |
7 | 'download Download The CppAD Source Code ',' purpose distribution directory compressed tar file current version monthly versions release unix extraction windows install instructions subversion limitations stable ', | |
7 | '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 ', | |
8 | 8 | '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 ', |
9 | 9 | 'adolc_prefix Including the ADOL-C Examples and Tests ',' purpose speed unix cygwin get_adolc ', |
10 | 10 | 'get_adolc.sh Download and Install Adolc in Build Directory ',' syntax purpose requirements distribution external prefix reuse ', |
168 | 168 | 'mul_level_adolc.cpp Using Adolc with Multiple Levels of Taping: Example and Test ',' purpose memory management configuration requirement ', |
169 | 169 | 'base_float.hpp Enable use of AD<Base> where Base is float ',' condexpop condexprel equalopseq identical integer ordered unary standard math sign pow limits ', |
170 | 170 | 'base_double.hpp Enable use of AD<Base> where Base is double ',' condexpop condexprel equalopseq identical integer ordered unary standard math sign pow limits ', |
171 | 'base_complex.hpp Enable use of AD<Base> where Base is std::complex<double> ',' example see also include order condexpop condexprel equalopseq identical ordered erf integer isnan valid unary math invalid pow limits ', | |
172 | 'complex_poly.cpp Complex Polynomial: Example and Test ',' see also ', | |
173 | 'not_complex_ad.cpp Not Complex Differentiable: Example and Test ',' polynomial imag() real() see also ', | |
171 | 'base_complex.hpp Enable use of AD<Base> where Base is std::complex<double> ',' example include order condexpop condexprel equalopseq identical ordered erf integer isnan valid unary math invalid pow limits ', | |
172 | 'complex_poly.cpp Complex Polynomial: Example and Test ',' ', | |
174 | 173 | 'ADFun ADFun Objects ',' purpose ', |
175 | 174 | 'Independent Declare Independent Variables and Start Recording ',' syntax purpose stop vectorad parallel mode example ', |
176 | 175 | 'independent.cpp Independent and ADFun Constructor: Example and Test ',' ', |
481 | 480 | 'Bugs Know Bugs and Problems Using CppAD ',' gcc 3.4.4 -o2 example adolc ', |
482 | 481 | 'WishList The CppAD Wish List ',' new features adolc atan2 benderquad checkpointing conditional expressions nesting sparsity forward mode recomputation iterator interface library compile speed ad<double> multiple directions numeric limits testing machine epsilon operation sequence optimization optimize tape hashing variable pairs preprocessor symbols software guidelines boost tracing ', |
483 | 482 | 'whats_new Changes and Additions to CppAD ',' introduction this year previous years ', |
484 | 'whats_new_14 CppAD Changes and Additions During 2014 ',' introduction 12-27 12-26 12-25 12-23 12-22 12-17 12-16 12-15 11-28 11-27 09-28 09-27 09-25 09-21 05-28 05-27 05-23 05-22 05-20 05-19 05-16 05-14 03-18 03-17 03-09 03-05 03-02 03-01 02-28 02-27 02-26 02-23 02-22 02-17 02-15 01-26 01-21 01-10 ', | |
483 | 'whats_new_14 CppAD Changes and Additions During 2014 ',' introduction 12-30 12-29 12-28 12-27 12-26 12-25 12-23 12-22 12-17 12-16 12-15 11-28 11-27 09-28 09-27 09-25 09-21 05-28 05-27 05-23 05-22 05-20 05-19 05-16 05-14 03-18 03-17 03-09 03-05 03-02 03-01 02-28 02-27 02-26 02-23 02-22 02-17 02-15 01-26 01-21 01-10 ', | |
485 | 484 | 'whats_new_13 CppAD Changes and Additions During 2013 ',' introduction 12-29 12-27 12-26 12-24 11-27 11-13 11-12 10-29 10-23 10-22 10-16 10-15 10-14 10-13 10-12 09-20 09-19 09-18 09-07 08-12 08-11 08-06 07-26 05-28 05-21 05-17 05-15 05-14 05-12 05-11 05-04 04-28 04-27 04-26 ', |
486 | 485 | 'whats_new_12 CppAD Changes and Additions During 2012 ',' introduction 12-30 12-29 12-28 12-27 12-26 12-23 12-22 12-20 12-19 12-17 12-15 12-14 12-13 11-28 11-21 11-20 11-17 11-16 11-14 11-09 11-06 11-04 10-31 10-30 10-25 10-24 10-12 10-04 10-03 10-02 09-24 09-11 08-05 07-30 07-08 07-07 07-05 07-04 07-03 07-02 07-01 06-17 06-16 06-15 06-12 06-10 06-09 06-08 06-07 06-05 06-04 06-03 06-02 06-01 05-31 05-30 05-29 05-27 05-24 04-19 04-18 04-17 04-10 04-06 04-05 04-01 03-27 03-26 03-23 03-21 03-17 03-11 03-03 03-02 02-11 02-10 02-09 01-30 01-27 01-24 01-23 01-20 01-19 01-16 01-15 01-12 01-07 01-02 ', |
487 | 486 | 'whats_new_11 Changes and Additions to CppAD During 2011 ',' introduction 12-30 12-28 12-21 12-20 11-29 11-27 11-24 11-21 11-20 11-18 11-17 11-09 11-07 11-06 11-04 11-01 10-30 10-29 10-14 10-12 09-06 09-05 09-02 09-01 08-31 08-30 08-25 08-23 08-21 08-11 08-10 08-09 08-08 08-07 08-06 08-04 08-03 08-02 07-31 07-29 07-28 07-27 07-25 07-18 07-17 07-14 07-13 07-11 openmp/run.sh 07-10 07-09 07-07 06-23 06-21 06-18 05-29 05-28 05-26 05-22 05-11 05-03 04-29 04-20 04-19 03-19 03-11 03-05 02-22 02-19 02-17 02-15 02-09 02-06 02-02 02-01 01-19 01-16 01-09 ', |
51 | 51 | ]; |
52 | 52 | var list_current0 = [ |
53 | 53 | 'whats_new_14.xml#Introduction', |
54 | 'whats_new_14.xml#12-30', | |
55 | 'whats_new_14.xml#12-29', | |
56 | 'whats_new_14.xml#12-28', | |
54 | 57 | 'whats_new_14.xml#12-27', |
55 | 58 | 'whats_new_14.xml#12-26', |
56 | 59 | 'whats_new_14.xml#12-25', |
101 | 101 | |
102 | 102 | namespace { // Begin empty namespace ***************************************** |
103 | 103 | |
104 | /* | |
104 | 105 | void debug_print(const char *label, double d) |
105 | 106 | { using std::printf; |
106 | 107 | |
111 | 112 | printf("%x", byte[i]); |
112 | 113 | printf("\n"); |
113 | 114 | } |
115 | */ | |
114 | 116 | |
115 | 117 | // type in C corresponding to an <a href="ad.xml" target="_top">AD</a><double> object |
116 | 118 | typedef struct { void* p_void; } cad; |
21 | 21 | <td> |
22 | 22 | <a href="http://www.coin-or.org/CppAD/" target="_top"><img border="0" src="_image.gif"/></a> |
23 | 23 | </td> |
24 | <td><a href="not_complex_ad.cpp.xml" target="_top">Prev</a> | |
24 | <td><a href="complex_poly.cpp.xml" target="_top">Prev</a> | |
25 | 25 | </td><td><a href="independent.xml" target="_top">Next</a> |
26 | 26 | </td><td> |
27 | 27 | <select onchange='choose_across0(this)'> |
144 | 144 | // dimension of the domain space |
145 | 145 | const size_t n_; |
146 | 146 | // dimension of the range space |
147 | # ifndef NDEBUG | |
147 | 148 | const size_t m_; |
149 | # endif | |
148 | 150 | public: |
149 | 151 | // --------------------------------------------------------------------- |
150 | 152 | // constructor |
153 | 155 | nr_result_(nr_result) , |
154 | 156 | n_middle_(n_middle) , |
155 | 157 | nc_result_(nc_result) , |
156 | n_( nr_result * n_middle + n_middle * nc_result ) , | |
157 | m_( n_middle * nc_result ) | |
158 | n_( nr_result * n_middle + n_middle * nc_result ) | |
159 | # ifndef NDEBUG | |
160 | , m_( n_middle * nc_result ) | |
161 | # endif | |
158 | 162 | { } |
159 | 163 | private: |
160 | 164 | </pre></font></code> |
5 | 5 | <title>Enable use of AD<Base> where Base is std::complex<double></title> |
6 | 6 | <meta http-equiv='Content-Type' content='text/html' charset='utf-8'/> |
7 | 7 | <meta name="description" id="description" content="Enable use of AD<Base> where Base is std::complex<double>"/> |
8 | <meta name="keywords" id="keywords" content=" complex double Base enable use of ad<base> where base is std::complex<double> example see also include order condexpop condexprel equalopseq identical ordered erf integer isnan valid unary math invalid pow limits "/> | |
8 | <meta name="keywords" id="keywords" content=" complex double Base enable use of ad<base> where base is std::complex<double> example include order condexpop condexprel equalopseq identical ordered erf integer isnan valid unary math invalid pow limits "/> | |
9 | 9 | <style type='text/css'> |
10 | 10 | body { color : black } |
11 | 11 | body { background-color : white } |
81 | 81 | <select onchange='choose_down0(this)'> |
82 | 82 | <option>base_complex.hpp-></option> |
83 | 83 | <option>complex_poly.cpp</option> |
84 | <option>not_complex_ad.cpp</option> | |
85 | 84 | </select> |
86 | 85 | </td> |
87 | 86 | <td> |
88 | 87 | <select onchange='choose_current0(this)'> |
89 | 88 | <option>Headings-></option> |
90 | 89 | <option>Example</option> |
91 | <option>See Also</option> | |
92 | 90 | <option>Include Order</option> |
93 | 91 | <option>CondExpOp</option> |
94 | 92 | <option>CondExpRel</option> |
122 | 120 | <code><i><font color="black"><span style='white-space: nowrap'>Base</span></font></i></code> |
123 | 121 | type. |
124 | 122 | It returns true if it succeeds and false otherwise. |
125 | ||
126 | <br/> | |
127 | <br/> | |
128 | <b><big><a name="See Also" id="See Also">See Also</a></big></b> | |
129 | <br/> | |
130 | The file <a href="not_complex_ad.cpp.xml" target="_top"><span style='white-space: nowrap'>not_complex_ad.cpp</span></a> | |
131 | contains an example using | |
132 | complex arithmetic where the function is not complex differentiable. | |
133 | 123 | |
134 | 124 | <br/> |
135 | 125 | <br/> |
5 | 5 | <title>Complex Polynomial: Example and Test</title> |
6 | 6 | <meta http-equiv='Content-Type' content='text/html' charset='utf-8'/> |
7 | 7 | <meta name="description" id="description" content="Complex Polynomial: Example and Test"/> |
8 | <meta name="keywords" id="keywords" content=" complex polynomial: example and test polynomial see also poly "/> | |
8 | <meta name="keywords" id="keywords" content=" complex polynomial: example and test polynomial poly "/> | |
9 | 9 | <style type='text/css'> |
10 | 10 | body { color : black } |
11 | 11 | body { background-color : white } |
22 | 22 | <a href="http://www.coin-or.org/CppAD/" target="_top"><img border="0" src="_image.gif"/></a> |
23 | 23 | </td> |
24 | 24 | <td><a href="base_complex.hpp.xml" target="_top">Prev</a> |
25 | </td><td><a href="not_complex_ad.cpp.xml" target="_top">Next</a> | |
25 | </td><td><a href="adfun.xml" target="_top">Next</a> | |
26 | 26 | </td><td> |
27 | 27 | <select onchange='choose_across0(this)'> |
28 | 28 | <option>Index-></option> |
70 | 70 | <select onchange='choose_down1(this)'> |
71 | 71 | <option>base_complex.hpp-></option> |
72 | 72 | <option>complex_poly.cpp</option> |
73 | <option>not_complex_ad.cpp</option> | |
74 | 73 | </select> |
75 | 74 | </td> |
76 | 75 | <td>complex_poly.cpp</td> |
77 | 76 | <td> |
78 | 77 | <select onchange='choose_current0(this)'> |
79 | 78 | <option>Headings-></option> |
80 | <option>See Also</option> | |
81 | 79 | <option>Poly</option> |
82 | 80 | </select> |
83 | 81 | </td> |
86 | 84 | |
87 | 85 | |
88 | 86 | <center><b><big><big>Complex Polynomial: Example and Test</big></big></b></center> |
89 | <br/> | |
90 | <b><big><a name="See Also" id="See Also">See Also</a></big></b> | |
91 | ||
92 | <br/> | |
93 | <a href="not_complex_ad.cpp.xml" target="_top"><span style='white-space: nowrap'>not_complex_ad.cpp</span></a> | |
94 | ||
95 | ||
96 | <br/> | |
97 | 87 | <br/> |
98 | 88 | <b><big><a name="Poly" id="Poly">Poly</a></big></b> |
99 | 89 | <br/> |
2 | 2 | xmlns:math='http://www.w3.org/1998/Math/MathML' |
3 | 3 | > |
4 | 4 | <head> |
5 | <title>cppad-20150000.0: A Package for Differentiation of C++ Algorithms</title> | |
5 | <title>cppad-20150000.1: A Package for Differentiation of C++ Algorithms</title> | |
6 | 6 | <meta http-equiv='Content-Type' content='text/html' charset='utf-8'/> |
7 | <meta name="description" id="description" content="cppad-20150000.0: 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.0: 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.1: 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.1: a package for of c++ algorithms syntax introduction example include file cppad.hpp preprocessor symbols symbol namespace "/> | |
9 | 9 | <style type='text/css'> |
10 | 10 | body { color : black } |
11 | 11 | body { background-color : white } |
75 | 75 | |
76 | 76 | |
77 | 77 | |
78 | <center><b><big><big>cppad-20150000.0: A Package for Differentiation of C++ Algorithms</big></big></b></center> | |
78 | <center><b><big><big>cppad-20150000.1: A Package for Differentiation of C++ Algorithms</big></big></b></center> | |
79 | 79 | <br/> |
80 | 80 | <b><big><a name="Syntax" id="Syntax">Syntax</a></big></b> |
81 | 81 |
5 | 5 | <title>Download The CppAD Source Code</title> |
6 | 6 | <meta http-equiv='Content-Type' content='text/html' charset='utf-8'/> |
7 | 7 | <meta name="description" id="description" content="Download The CppAD Source Code"/> |
8 | <meta name="keywords" id="keywords" content=" download the cppad source code purpose distribution directory compressed tar file current version monthly versions release unix extraction windows install instructions subversion limitations stable "/> | |
8 | <meta name="keywords" id="keywords" content=" download the cppad source code purpose distribution directory compressed archives current version release versions monthly unix file extraction windows install instructions subversion limitations stable "/> | |
9 | 9 | <style type='text/css'> |
10 | 10 | body { color : black } |
11 | 11 | body { background-color : white } |
73 | 73 | <option>Headings-></option> |
74 | 74 | <option>Purpose</option> |
75 | 75 | <option>Distribution Directory</option> |
76 | <option>Compressed Tar File</option> | |
76 | <option>Compressed Archives</option> | |
77 | 77 | <option>---..Current Version</option> |
78 | <option>---..Release Versions</option> | |
78 | 79 | <option>---..Monthly Versions</option> |
79 | <option>---..Release Versions</option> | |
80 | 80 | <option>---..Unix File Extraction</option> |
81 | 81 | <option>---..Windows File Extraction</option> |
82 | 82 | <option>---..Install Instructions</option> |
108 | 108 | |
109 | 109 | <br/> |
110 | 110 | <br/> |
111 | <b><big><a name="Compressed Tar File" id="Compressed Tar File">Compressed Tar File</a></big></b> | |
112 | <br/> | |
113 | These files have been archived with <code><font color="blue">tar</font></code> | |
114 | and compressed with <code><font color="blue">gzip</font></code>: | |
115 | ||
116 | <br/> | |
117 | <br/> | |
118 | <b><a name="Compressed Tar File.Current Version" id="Compressed Tar File.Current Version">Current Version</a></b> | |
119 | <br/> | |
120 | The download files below are for the current version of CppAD. | |
111 | <b><big><a name="Compressed Archives" id="Compressed Archives">Compressed Archives</a></big></b> | |
112 | <br/> | |
113 | These files have been archived using <code><font color="blue">tar</font></code> and compressed using | |
114 | <code><font color="blue">gzip</font></code>: | |
121 | 115 | <table><tr><td align='left' valign='top'> |
122 | 116 | |
123 | EPL License <code><span style='white-space: nowrap'>  </span></code> </td><td align='left' valign='top'> | |
124 | <a href="http://www.coin-or.org/download/source/CppAD/cppad-20150000.0.epl.tgz" target="_top"><span style='white-space: nowrap'>cppad-20150000.0.epl.tgz</span></a> | |
125 | ||
117 | <b>version</b> <code><span style='white-space: nowrap'>  </span></code> </td><td align='left' valign='top'> | |
118 | <b>license</b> <code><span style='white-space: nowrap'>  </span></code> </td><td align='left' valign='top'> | |
119 | <b>link</b> | |
126 | 120 | </td></tr><tr><td align='left' valign='top'> |
127 | 121 | |
128 | GPL License <code><span style='white-space: nowrap'>  </span></code> </td><td align='left' valign='top'> | |
129 | <a href="http://www.coin-or.org/download/source/CppAD/cppad-20150000.0.gpl.tgz" target="_top"><span style='white-space: nowrap'>cppad-20150000.0.gpl.tgz</span></a> | |
122 | current </td><td align='left' valign='top'> | |
123 | EPL </td><td align='left' valign='top'> | |
124 | <a href="http://www.coin-or.org/download/source/CppAD/cppad-20150000.1.epl.tgz" target="_top"><span style='white-space: nowrap'>cppad-20150000.1.epl.tgz</span></a> | |
125 | ||
126 | </td></tr><tr><td align='left' valign='top'> | |
127 | ||
128 | current </td><td align='left' valign='top'> | |
129 | GPL </td><td align='left' valign='top'> | |
130 | <a href="http://www.coin-or.org/download/source/CppAD/cppad-20150000.1.gpl.tgz" target="_top"><span style='white-space: nowrap'>cppad-20150000.1.gpl.tgz</span></a> | |
131 | ||
132 | </td></tr><tr><td align='left' valign='top'> | |
133 | ||
134 | old </td><td align='left' valign='top'> | |
135 | Both </td><td align='left' valign='top'> | |
136 | ||
137 | <a href="http://www.coin-or.org/download/source/CppAD/" target="_top"><span style='white-space: nowrap'>CppAD download page</span></a> | |
130 | 138 | |
131 | 139 | </td></tr> |
132 | 140 | </table> |
141 | <br/> | |
142 | <b><a name="Compressed Archives.Current Version" id="Compressed Archives.Current Version">Current Version</a></b> | |
143 | <br/> | |
144 | The current versions listed above correspond to the subversion | |
145 | <a href="https://projects.coin-or.org/CppAD/browser/trunk" target="_top"><span style='white-space: nowrap'>trunk</span></a> | |
146 | ||
147 | and the git | |
148 | <a href="https://github.com/bradbell/cppad" target="_top"><span style='white-space: nowrap'>master</span></a> | |
149 | . | |
133 | 150 | These tarballs only last for a few days. |
134 | 151 | |
135 | 152 | <br/> |
136 | 153 | <br/> |
137 | <b><a name="Compressed Tar File.Monthly Versions" id="Compressed Tar File.Monthly Versions">Monthly Versions</a></b> | |
138 | <br/> | |
139 | Monthly versions of the compressed tar files, | |
140 | are kept around until the end of the current year, | |
141 | when the next release version (see below) is created. | |
154 | <b><a name="Compressed Archives.Release Versions" id="Compressed Archives.Release Versions">Release Versions</a></b> | |
155 | <br/> | |
156 | Release versions of the compressed tar files are available on the | |
157 | <a href="http://www.coin-or.org/download/source/CppAD/" target="_top"><span style='white-space: nowrap'>CppAD download page</span></a> | |
158 | . | |
159 | This includes all the releases going back to 2007. | |
142 | 160 | These file have the form |
161 | ||
162 | <code><font color="blue"><span style='white-space: nowrap'><br/> | |
163 |      cppad-</span></font><i><font color="black"><span style='white-space: nowrap'>yyyymmdd</span></font></i><font color="blue"><span style='white-space: nowrap'>.</span></font><i><font color="black"><span style='white-space: nowrap'>rel</span></font></i><font color="blue"><span style='white-space: nowrap'>.</span></font><i><font color="black"><span style='white-space: nowrap'>lic</span></font></i><font color="blue"><span style='white-space: nowrap'>.tgz<br/> | |
164 | </span></font></code> | |
165 | The license code | |
166 | <code><i><font color="black"><span style='white-space: nowrap'>lic</span></font></i></code> | |
167 | ||
168 | is <code><font color="blue">gpl</font></code>, <code><font color="blue">epl</font></code> or <code><font color="blue">cpl</font></code> where | |
169 | <code><font color="blue">gpl</font></code> denotes the GNU General Public License, | |
170 | <code><font color="blue">epl</font></code> denotes the Eclipse Public License, and | |
171 | <code><font color="blue">cpl</font></code> denotes the Common Public License | |
172 | (not being used for new versions). | |
173 | The version number | |
174 | <code><i><font color="black"><span style='white-space: nowrap'>yyyymmdd</span></font></i></code> | |
175 | ||
176 | is the date at which the features | |
177 | of the program were frozen where | |
178 | ||
179 | <code><i><font color="black"><span style='white-space: nowrap'>yyyy</span></font></i></code> | |
180 | is the year, | |
181 | <code><i><font color="black"><span style='white-space: nowrap'>mm</span></font></i></code> | |
182 | is the month, and | |
183 | <code><i><font color="black"><span style='white-space: nowrap'>dd</span></font></i></code> | |
184 | ||
185 | is the day. | |
186 | The release number | |
187 | <code><i><font color="black"><span style='white-space: nowrap'>rel</span></font></i></code> | |
188 | ||
189 | corresponds to a bug fix index where | |
190 | higher numbers corresponding to more bug fixes. | |
191 | ||
192 | <br/> | |
193 | <br/> | |
194 | <b><a name="Compressed Archives.Monthly Versions" id="Compressed Archives.Monthly Versions">Monthly Versions</a></b> | |
195 | <br/> | |
196 | Monthly versions of the compressed tar files are available on the | |
197 | <a href="http://www.coin-or.org/download/source/CppAD/" target="_top"><span style='white-space: nowrap'>CppAD download page</span></a> | |
198 | . | |
199 | These are kept until the end of the current year, | |
200 | when the next release is created. | |
201 | The monthly versions have the form | |
143 | 202 | |
144 | 203 | <code><font color="blue"><span style='white-space: nowrap'><br/> |
145 | 204 |      cppad-</span></font><i><font color="black"><span style='white-space: nowrap'>yyyy</span></font></i><font color="blue"><span style='white-space: nowrap'>0101.</span></font><i><font color="black"><span style='white-space: nowrap'>lic</span></font></i><font color="blue"><span style='white-space: nowrap'>.tgz<br/> |
154 | 213 | |
155 | 214 | <br/> |
156 | 215 | <br/> |
157 | <b><a name="Compressed Tar File.Release Versions" id="Compressed Tar File.Release Versions">Release Versions</a></b> | |
158 | <br/> | |
159 | Release versions of the compressed tar files can be found at the | |
160 | <a href="http://www.coin-or.org/download/source/CppAD/" target="_top"><span style='white-space: nowrap'>CppAD download page</span></a> | |
161 | . | |
162 | These file have the form | |
163 | ||
164 | <code><font color="blue"><span style='white-space: nowrap'><br/> | |
165 |      cppad-</span></font><i><font color="black"><span style='white-space: nowrap'>yyyymmdd</span></font></i><font color="blue"><span style='white-space: nowrap'>.</span></font><i><font color="black"><span style='white-space: nowrap'>rel</span></font></i><font color="blue"><span style='white-space: nowrap'>.</span></font><i><font color="black"><span style='white-space: nowrap'>lic</span></font></i><font color="blue"><span style='white-space: nowrap'>.tgz<br/> | |
166 | </span></font></code> | |
167 | where the license code | |
168 | <code><i><font color="black"><span style='white-space: nowrap'>lic</span></font></i></code> | |
169 | ||
170 | is <code><font color="blue">gpl</font></code>, <code><font color="blue">epl</font></code> or <code><font color="blue">cpl</font></code> | |
171 | (<code><font color="blue">cpl</font></code> stands for the Common Public License), | |
172 | ||
173 | <code><i><font color="black"><span style='white-space: nowrap'>yyyymmdd</span></font></i></code> | |
174 | is the date at which the features | |
175 | of the program were frozen, and each | |
176 | <code><i><font color="black"><span style='white-space: nowrap'>rel</span></font></i></code> | |
177 | number | |
178 | corresponds to a bug fix (higher numbers corresponding to more bug fixes). | |
179 | ||
180 | <br/> | |
181 | <br/> | |
182 | <b><a name="Compressed Tar File.Unix File Extraction" id="Compressed Tar File.Unix File Extraction">Unix File Extraction</a></b> | |
216 | <b><a name="Compressed Archives.Unix File Extraction" id="Compressed Archives.Unix File Extraction">Unix File Extraction</a></b> | |
183 | 217 | <br/> |
184 | 218 | On unix, you can use the command |
185 | 219 | |
200 | 234 |      cppad-</span></font><i><font color="black"><span style='white-space: nowrap'>version</span></font></i><font color="blue"><span style='white-space: nowrap'>/cppad/cppad.hpp<br/> |
201 | 235 | </span></font></code> |
202 | 236 | <br/> |
203 | <b><a name="Compressed Tar File.Windows File Extraction" id="Compressed Tar File.Windows File Extraction">Windows File Extraction</a></b> | |
237 | <b><a name="Compressed Archives.Windows File Extraction" id="Compressed Archives.Windows File Extraction">Windows File Extraction</a></b> | |
204 | 238 | <br/> |
205 | 239 | If you know how to extract the distribution directory from |
206 | 240 | the tar file, just do so. Otherwise, below is one way you can do it. |
245 | 279 | </span></font></code> |
246 | 280 | </li></ol> |
247 | 281 | <br/> |
248 | <b><a name="Compressed Tar File.Install Instructions" id="Compressed Tar File.Install Instructions">Install Instructions</a></b> | |
249 | <br/> | |
282 | <b><a name="Compressed Archives.Install Instructions" id="Compressed Archives.Install Instructions">Install Instructions</a></b> | |
283 | <br/> | |
284 | The instructions on the web correspond to the current version of CppAD. | |
250 | 285 | If you are using an old version of CppAD |
251 | 286 | You should follow the install instructions in |
252 | 287 | the <code><font color="blue">doc</font></code> subdirectory of the distribution directory. |
277 | 312 | Only the |
278 | 313 | <a href="http://opensource.org/licenses/EPL-1.0" target="_top"><span style='white-space: nowrap'>EPL licensed</span></a> |
279 | 314 | |
280 | version of CppAD can be obtained by this download procedure. | |
315 | version of CppAD can be obtained by this download procedure | |
316 | (some old versions correspond to CPL instead of EPL). | |
281 | 317 | </li></ol> |
282 | 318 | |
283 | 319 | |
368 | 404 | in the distribution directory execute the following command: |
369 | 405 | |
370 | 406 | <code><font color="blue"><span style='white-space: nowrap'><br/> |
371 |      ./build.sh configure omhelp<br/> | |
372 | </span></font></code> | |
373 | . | |
407 |      ./build.sh omhelp<br/> | |
408 | </span></font></code> | |
374 | 409 | You will then be able to follow the install instructions in |
375 | 410 | the <code><font color="blue">doc</font></code> subdirectory of the distribution directory. |
376 | 411 |
187 | 187 | extern bool nan(void); |
188 | 188 | extern bool Near_Equal(void); |
189 | 189 | extern bool NearEqualExt(void); |
190 | extern bool not_complex_ad(void); | |
191 | 190 | extern bool number_skip(void); |
192 | 191 | extern bool NumericType(void); |
193 | 192 | extern bool OdeErrControl(void); |
343 | 342 | ok &= Run( nan, "nan" ); |
344 | 343 | ok &= Run( Near_Equal, "Near_Equal" ); |
345 | 344 | ok &= Run( NearEqualExt, "NearEqualExt" ); |
346 | ok &= Run( not_complex_ad, "not_complex_ad" ); | |
347 | 345 | ok &= Run( number_skip, "number_skip" ); |
348 | 346 | ok &= Run( NumericType, "NumericType" ); |
349 | 347 | ok &= Run( OdeErrControl, "OdeErrControl" ); |
118 | 118 | Before the call to <a href="independent.xml" target="_top"><span style='white-space: nowrap'>Independent</span></a> |
119 | 119 | , |
120 | 120 | |
121 | <code><i><font color="black"><span style='white-space: nowrap'>u[</span></font></i><font color="blue"><span style='white-space: nowrap'>0</span></font><i><font color="black"><span style='white-space: nowrap'>]</span></font></i></code> | |
121 | <code><i><font color="black"><span style='white-space: nowrap'>u</span></font></i><font color="blue"><span style='white-space: nowrap'>[0]</span></font></code> | |
122 | 122 | is a <a href="glossary.xml#Parameter" target="_top"><span style='white-space: nowrap'>parameter</span></a> |
123 | 123 | |
124 | 124 | and after the call it is a variable. |
189 | 189 |      AD< std::complex<</span></font><i><font color="black"><span style='white-space: nowrap'>Base</span></font></i><font color="blue"><span style='white-space: nowrap'>> ><br/> |
190 | 190 |      std::complex< AD<</span></font><i><font color="black"><span style='white-space: nowrap'>Base</span></font></i><font color="blue"><span style='white-space: nowrap'>> ><br/> |
191 | 191 | </span></font></code> |
192 | Some functions are real differentiable than are not complex differentiable | |
193 | (for example, the <a href="abs.xml#Complex Types" target="_top"><span style='white-space: nowrap'>complex abs function</span></a> | |
194 | ). | |
195 | If you have to differentiate such functions, you should use | |
192 | The <a href="abs.xml#Complex Types" target="_top"><span style='white-space: nowrap'>complex abs function</span></a> | |
193 | is differentiable | |
194 | with respect to its real and imaginary parts, | |
195 | but it is not complex differentiable. | |
196 | Thus one would prefer to use | |
196 | 197 | |
197 | 198 | <code><font color="blue"><span style='white-space: nowrap'><br/> |
198 | 199 |      std::complex< AD<</span></font><i><font color="black"><span style='white-space: nowrap'>Base</span></font></i><font color="blue"><span style='white-space: nowrap'>> ><br/> |
199 | 200 | </span></font></code> |
200 | If you are sure that you will not need to take any real partials | |
201 | of complex valued function, it is more efficient to use | |
202 | ||
203 | <code><font color="blue"><span style='white-space: nowrap'><br/> | |
204 |      AD< std::complex<</span></font><i><font color="black"><span style='white-space: nowrap'>Base</span></font></i><font color="blue"><span style='white-space: nowrap'>> ><br/> | |
205 | </span></font></code> | |
201 | On the other hand, the C++ standard only specifies | |
202 | ||
203 | <code><font color="blue"><span style='white-space: nowrap'>std::complex<</span></font><i><font color="black"><span style='white-space: nowrap'>Type</span></font></i><font color="blue"><span style='white-space: nowrap'>></span></font></code> | |
204 | where | |
205 | <code><i><font color="black"><span style='white-space: nowrap'>Type</span></font></i></code> | |
206 | is | |
207 | <code><font color="blue">float</font></code>, <code><font color="blue">double</font></code>, or <code><font color="blue">lone double</font></code>. | |
208 | The effect of instantiating the template complex for any other type | |
209 | is unspecified. | |
210 | ||
211 | <br/> | |
206 | 212 | <br/> |
207 | 213 | <b><big><a name="Exceptions" id="Exceptions">Exceptions</a></big></b> |
208 | 214 |
120 | 120 | using the <a href="download.xml" target="_top"><span style='white-space: nowrap'>download</span></a> |
121 | 121 | instructions. |
122 | 122 | The install instructions below correspond to the |
123 | <a href="download.xml#Compressed Tar File.Current Version" target="_top"><span style='white-space: nowrap'>current version</span></a> | |
123 | <a href="download.xml#Compressed Archives.Current Version" target="_top"><span style='white-space: nowrap'>current version</span></a> | |
124 | 124 | |
125 | 125 | which has distribution directory <code><font color="blue">cppad-20121230</font></code>. |
126 | 126 |
465 | 465 | Compare AD with Base Objects: Example and Test</td></tr> |
466 | 466 | <tr><td> |
467 | 467 | |
468 | <a href="not_complex_ad.cpp.xml" target="_top">not_complex_ad.cpp</a></td><td> | |
469 | Not Complex Differentiable: Example and Test</td></tr> | |
470 | <tr><td> | |
471 | ||
472 | 468 | <a href="number_skip.cpp.xml" target="_top">number_skip.cpp</a></td><td> |
473 | 469 | Number of Variables That Can be Skipped: Example and Test</td></tr> |
474 | 470 | <tr><td> |
0 | <?xml version='1.0'?> | |
1 | <html xmlns='http://www.w3.org/1999/xhtml' | |
2 | xmlns:math='http://www.w3.org/1998/Math/MathML' | |
3 | > | |
4 | <head> | |
5 | <title>Not Complex Differentiable: Example and Test</title> | |
6 | <meta http-equiv='Content-Type' content='text/html' charset='utf-8'/> | |
7 | <meta name="description" id="description" content="Not Complex Differentiable: Example and Test"/> | |
8 | <meta name="keywords" id="keywords" content=" not complex differentiable: example and test polynomial imag() real() differentiable see also poly "/> | |
9 | <style type='text/css'> | |
10 | body { color : black } | |
11 | body { background-color : white } | |
12 | A:link { color : blue } | |
13 | A:visited { color : purple } | |
14 | A:active { color : purple } | |
15 | </style> | |
16 | <script type='text/javascript' language='JavaScript' src='_not_complex_ad.cpp_xml.js'> | |
17 | </script> | |
18 | </head> | |
19 | <body> | |
20 | <table><tr> | |
21 | <td> | |
22 | <a href="http://www.coin-or.org/CppAD/" target="_top"><img border="0" src="_image.gif"/></a> | |
23 | </td> | |
24 | <td><a href="complex_poly.cpp.xml" target="_top">Prev</a> | |
25 | </td><td><a href="adfun.xml" target="_top">Next</a> | |
26 | </td><td> | |
27 | <select onchange='choose_across0(this)'> | |
28 | <option>Index-></option> | |
29 | <option>contents</option> | |
30 | <option>reference</option> | |
31 | <option>index</option> | |
32 | <option>search</option> | |
33 | <option>external</option> | |
34 | </select> | |
35 | </td> | |
36 | <td> | |
37 | <select onchange='choose_up0(this)'> | |
38 | <option>Up-></option> | |
39 | <option>CppAD</option> | |
40 | <option>AD</option> | |
41 | <option>base_require</option> | |
42 | <option>base_example</option> | |
43 | <option>base_complex.hpp</option> | |
44 | <option>not_complex_ad.cpp</option> | |
45 | </select> | |
46 | </td> | |
47 | <td> | |
48 | <select onchange='choose_down3(this)'> | |
49 | <option>base_require-></option> | |
50 | <option>base_member</option> | |
51 | <option>base_cond_exp</option> | |
52 | <option>base_identical</option> | |
53 | <option>base_ordered</option> | |
54 | <option>base_std_math</option> | |
55 | <option>base_example</option> | |
56 | </select> | |
57 | </td> | |
58 | <td> | |
59 | <select onchange='choose_down2(this)'> | |
60 | <option>base_example-></option> | |
61 | <option>base_alloc.hpp</option> | |
62 | <option>base_require.cpp</option> | |
63 | <option>base_adolc.hpp</option> | |
64 | <option>base_float.hpp</option> | |
65 | <option>base_double.hpp</option> | |
66 | <option>base_complex.hpp</option> | |
67 | </select> | |
68 | </td> | |
69 | <td> | |
70 | <select onchange='choose_down1(this)'> | |
71 | <option>base_complex.hpp-></option> | |
72 | <option>complex_poly.cpp</option> | |
73 | <option>not_complex_ad.cpp</option> | |
74 | </select> | |
75 | </td> | |
76 | <td>not_complex_ad.cpp</td> | |
77 | <td> | |
78 | <select onchange='choose_current0(this)'> | |
79 | <option>Headings-></option> | |
80 | <option>Not Complex Differentiable</option> | |
81 | <option>See Also</option> | |
82 | <option>Poly</option> | |
83 | </select> | |
84 | </td> | |
85 | </tr></table><br/> | |
86 | ||
87 | ||
88 | ||
89 | <center><b><big><big>Not Complex Differentiable: Example and Test</big></big></b></center> | |
90 | <br/> | |
91 | <b><big><a name="Not Complex Differentiable" id="Not Complex Differentiable">Not Complex Differentiable</a></big></b> | |
92 | <br/> | |
93 | If | |
94 | <code><i><font color="black"><span style='white-space: nowrap'>x</span></font></i></code> | |
95 | is complex, the functions | |
96 | ||
97 | <code><font color="blue"><span style='white-space: nowrap'>real(</span></font><i><font color="black"><span style='white-space: nowrap'>x</span></font></i><font color="blue"><span style='white-space: nowrap'>)</span></font></code> | |
98 | , | |
99 | ||
100 | <code><font color="blue"><span style='white-space: nowrap'>imag(</span></font><i><font color="black"><span style='white-space: nowrap'>x</span></font></i><font color="blue"><span style='white-space: nowrap'>)</span></font></code> | |
101 | , | |
102 | ||
103 | <code><font color="blue"><span style='white-space: nowrap'>conj(</span></font><i><font color="black"><span style='white-space: nowrap'>x</span></font></i><font color="blue"><span style='white-space: nowrap'>)</span></font></code> | |
104 | , and | |
105 | ||
106 | <code><font color="blue"><span style='white-space: nowrap'>abs(</span></font><i><font color="black"><span style='white-space: nowrap'>x</span></font></i><font color="blue"><span style='white-space: nowrap'>)</span></font></code> | |
107 | ||
108 | are examples of functions that are not complex differentiable. | |
109 | ||
110 | <br/> | |
111 | <br/> | |
112 | <b><big><a name="See Also" id="See Also">See Also</a></big></b> | |
113 | ||
114 | <br/> | |
115 | <a href="complex_poly.cpp.xml" target="_top"><span style='white-space: nowrap'>complex_poly.cpp</span></a> | |
116 | ||
117 | ||
118 | <br/> | |
119 | <br/> | |
120 | <b><big><a name="Poly" id="Poly">Poly</a></big></b> | |
121 | <br/> | |
122 | Select this link to view specifications for <a href="poly.xml" target="_top"><span style='white-space: nowrap'>Poly</span></a> | |
123 | : | |
124 | ||
125 | <code><font color="blue"> | |
126 | <pre style='display:inline'> | |
127 | ||
128 | # include <cppad/cppad.hpp> | |
129 | # include <complex> | |
130 | ||
131 | bool not_complex_ad(void) | |
132 | { bool ok = true; | |
133 | size_t deg = 4; | |
134 | ||
135 | using CppAD::AD; | |
136 | using CppAD::Poly; | |
137 | typedef std::complex<double> Complex; | |
138 | typedef std::complex< <a href="ad.xml" target="_top">AD</a><double> > ComplexAD; | |
139 | ||
140 | // The imaginary part in the following assignment will use | |
141 | // the CppAD::<a href="ad.xml" target="_top">AD</a><double> default constructor. Make sure it is zero. | |
142 | <a href="ad.xml" target="_top">AD</a><double> ad_zero = <a href="ad.xml" target="_top">AD</a><double>(0); | |
143 | <a href="ad.xml" target="_top">AD</a><double> ad_two = <a href="ad.xml" target="_top">AD</a><double>(2); | |
144 | ComplexAD cad_two = ad_two; | |
145 | ok &= cad_two == ComplexAD(ad_two, ad_zero); | |
146 | ||
147 | // polynomial coefficients | |
148 | <a href="testvector.xml" target="_top">CPPAD_TESTVECTOR</a>( Complex ) a (deg + 1); // coefficients for p(z) | |
149 | <a href="testvector.xml" target="_top">CPPAD_TESTVECTOR</a>( ComplexAD ) A (deg + 1); | |
150 | size_t i; | |
151 | for(i = 0; i <= deg; i++) | |
152 | { a[i] = Complex(i, i); | |
153 | A[i] = ComplexAD( <a href="ad.xml" target="_top">AD</a><double>(i) , <a href="ad.xml" target="_top">AD</a><double>(i) ); | |
154 | } | |
155 | ||
156 | // declare independent variables and start taping | |
157 | <a href="testvector.xml" target="_top">CPPAD_TESTVECTOR</a>(AD<double>) Z_real(1); | |
158 | double z_real = 1.; | |
159 | Z_real[0] = z_real; | |
160 | <a href="independent.xml" target="_top">Independent</a>(Z_real); | |
161 | ||
162 | // complex calculations | |
163 | double z_imag = 2.; | |
164 | ComplexAD Z = ComplexAD( Z_real[0], <a href="ad.xml" target="_top">AD</a><double>(z_imag) ); | |
165 | ComplexAD P = Poly(0, A, Z); | |
166 | ||
167 | // range space vector | |
168 | <a href="testvector.xml" target="_top">CPPAD_TESTVECTOR</a>(AD<double>) P_real(1); | |
169 | P_real[0] = P.real(); // real() is not complex differentiable | |
170 | ||
171 | // create f: Z_real -> P_real and stop taping | |
172 | CppAD::<a href="funconstruct.xml" target="_top">ADFun</a><double> f(Z_real, P_real); | |
173 | ||
174 | // check first derivative w.r.t z | |
175 | <a href="testvector.xml" target="_top">CPPAD_TESTVECTOR</a>(double) v( f.Domain() ); | |
176 | <a href="testvector.xml" target="_top">CPPAD_TESTVECTOR</a>(double) w( f.Range() ); | |
177 | v[0] = 1.; | |
178 | w = f.<a href="forward.xml" target="_top">Forward</a>(1, v); | |
179 | Complex z = Complex(z_real, z_imag); | |
180 | Complex p = Poly(1, a, z); | |
181 | ok &= ( w[0] == p.real() ); | |
182 | ||
183 | // second derivative w.r.t z is 2 times its second order Taylor coeff | |
184 | v[0] = 0.; | |
185 | w = f.<a href="forward.xml" target="_top">Forward</a>(2, v); | |
186 | p = Poly(2, a, z); | |
187 | ok &= ( 2. * w[0] == p.real() ); | |
188 | ||
189 | return ok; | |
190 | } | |
191 | ||
192 | </pre> | |
193 | ||
194 | </font></code> | |
195 | ||
196 | ||
197 | <hr/>Input File: example/not_complex_ad.cpp | |
198 | ||
199 | </body> | |
200 | </html> |
108 | 108 | <center><b><big><big>speed_test: Example and test</big></big></b></center> |
109 | 109 | <code><font color="blue"><pre style='display:inline'> |
110 | 110 | # include <cppad/speed_test.hpp> |
111 | # include <vector> | |
111 | # include <cppad/vector.hpp> | |
112 | 112 | |
113 | 113 | namespace { // empty namespace |
114 | using CppAD::vector; | |
115 | vector<double> a, b, c; | |
114 | 116 | void test(size_t size, size_t repeat) |
115 | 117 | { // setup |
116 | double *a = new double[size]; | |
117 | double *b = new double[size]; | |
118 | double *c = new double[size]; | |
118 | a.resize(size); | |
119 | b.resize(size); | |
120 | c.resize(size); | |
119 | 121 | size_t i = size;; |
120 | 122 | while(i) |
121 | 123 | { --i; |
122 | 124 | a[i] = i; |
123 | 125 | b[i] = 2 * i; |
126 | c[i] = 0.0; | |
124 | 127 | } |
125 | 128 | // operations we are timing |
126 | 129 | while(repeat--) |
127 | 130 | { i = size;; |
128 | 131 | while(i) |
129 | 132 | { --i; |
130 | c[i] = a[i] * b[i]; | |
133 | c[i] += std::sqrt(a[i] * a[i] + b[i] * b[i]); | |
131 | 134 | } |
132 | 135 | } |
133 | // teardown | |
134 | delete [] a; | |
135 | delete [] b; | |
136 | delete [] c; | |
137 | return; | |
138 | 136 | } |
139 | 137 | } |
140 | 138 | bool speed_test(void) |
141 | 139 | { bool ok = true; |
142 | 140 | |
143 | 141 | // size of the test cases |
144 | std::vector<size_t> size_vec(2); | |
142 | vector<size_t> size_vec(2); | |
145 | 143 | size_vec[0] = 40; |
146 | 144 | size_vec[1] = 80; |
147 | 145 | |
149 | 147 | double time_min = 0.5; |
150 | 148 | |
151 | 149 | // run the test cases |
152 | std::vector<size_t> rate_vec(2); | |
150 | vector<size_t> rate_vec(2); | |
153 | 151 | rate_vec = CppAD::speed_test(test, size_vec, time_min); |
154 | 152 | |
155 | 153 | // time per repeat loop (note counting setup or teardown) |
163 | 161 | if( ! ok ) |
164 | 162 | std::cout << std::endl << "rel_diff = " << rel_diff << std::endl; |
165 | 163 | |
164 | a.clear(); | |
165 | b.clear(); | |
166 | c.clear(); | |
166 | 167 | return ok; |
167 | 168 | } |
168 | 169 | </pre> |
109 | 109 | <center><b><big><big>time_test: Example and test</big></big></b></center> |
110 | 110 | <code><font color="blue"><pre style='display:inline'> |
111 | 111 | # include <cppad/time_test.hpp> |
112 | # include <vector> | |
112 | # include <cppad/vector.hpp> | |
113 | 113 | |
114 | 114 | namespace { // empty namespace |
115 | using CppAD::vector; | |
115 | 116 | |
116 | 117 | // size for the test |
117 | 118 | size_t size_; |
118 | 119 | |
120 | vector<double> a, b, c; | |
119 | 121 | void test(size_t repeat) |
120 | 122 | { // setup |
121 | double *a = new double[size_]; | |
122 | double *b = new double[size_]; | |
123 | double *c = new double[size_]; | |
123 | a.resize(size_); | |
124 | b.resize(size_); | |
125 | c.resize(size_); | |
124 | 126 | size_t i = size_;; |
125 | 127 | while(i) |
126 | 128 | { --i; |
127 | 129 | a[i] = i; |
128 | 130 | b[i] = 2 * i; |
131 | c[i] = 0.0; | |
129 | 132 | } |
130 | 133 | // operations we are timing |
131 | 134 | while(repeat--) |
132 | { i = size_; | |
135 | { i = size_;; | |
133 | 136 | while(i) |
134 | 137 | { --i; |
135 | c[i] = a[i] * b[i]; | |
138 | c[i] += std::sqrt(a[i] * a[i] + b[i] * b[i]); | |
136 | 139 | } |
137 | 140 | } |
138 | // teardown | |
139 | delete [] a; | |
140 | delete [] b; | |
141 | delete [] c; | |
142 | return; | |
143 | 141 | } |
142 | ||
144 | 143 | } |
145 | 144 | bool time_test(void) |
146 | 145 | { bool ok = true; |
166 | 165 | if( ! ok ) |
167 | 166 | std::cout << std::endl << "rel_diff = " << rel_diff << std::endl; |
168 | 167 | |
168 | a.clear(); | |
169 | b.clear(); | |
170 | c.clear(); | |
169 | 171 | return ok; |
170 | 172 | } |
171 | 173 | </pre> |
599 | 599 | <b><big><a name="10-05" id="10-05">10-05</a></big></b> |
600 | 600 | <br/> |
601 | 601 | Added and example using complex calculations for a |
602 | function that is not complex differentiable (<a href="not_complex_ad.cpp.xml" target="_top"><span style='white-space: nowrap'>not_complex_ad.cpp</span></a> | |
603 | ). | |
602 | function that is not complex differentiable <code><font color="blue">not_complex_ad.cpp</font></code>. | |
603 | (This example has been removed; see <a href="faq.xml#Complex Types" target="_top"><span style='white-space: nowrap'>complex FAQ</span></a> | |
604 | .) | |
604 | 605 | |
605 | 606 | <br/> |
606 | 607 | <br/> |
840 | 840 | <br/> |
841 | 841 | <br/> |
842 | 842 | <b><big><a name="06-06" id="06-06">06-06</a></big></b> |
843 | <br/> | |
843 | ||
844 | <ol type="1"><li> | |
844 | 845 | Using complex of an AD type (instead of AD of complex) was not working |
845 | correctly in <a href="not_complex_ad.cpp.xml" target="_top"><span style='white-space: nowrap'>not_complex_ad.cpp</span></a> | |
846 | because the | |
846 | correctly in <code><font color="blue">not_complex_ad.cpp</font></code> because the | |
847 | 847 | <a href="ad_ctor.xml" target="_top"><span style='white-space: nowrap'>default constructor</span></a> |
848 | 848 | for an AD object has an unspecified value. |
849 | 849 | This has been fixed for the complex type by changing the default constructor |
850 | 850 | to use value zero. |
851 | <code><span style='white-space: nowrap'><br/> | |
852 | <br/> | |
853 | </span></code>Fixing the <code><font color="blue">not_complex_ad.cpp</font></code> problem above also fixed a warning | |
851 | (The <code><font color="blue">not_complex_ad.cpp</font></code> example has been removed; | |
852 | see <a href="faq.xml#Complex Types" target="_top"><span style='white-space: nowrap'>complex FAQ</span></a> | |
853 | .) | |
854 | </li><li> | |
855 | ||
856 | Fixing the <code><font color="blue">not_complex_ad.cpp</font></code> problem above also fixed a warning | |
854 | 857 | generated by <a href="http://valgrind.org/" target="_top"><span style='white-space: nowrap'>valgrind</span></a> |
855 | 858 | . |
856 | 859 | Now <code><font color="blue">valgrind</font></code> runs the CppAD <code><font color="blue">example/example</font></code> program |
859 | 862 | <code><font color="blue">test_more/jacobian.cpp</font></code> routine so now |
860 | 863 | <code><font color="blue">valgrind</font></code> also runs the CppAD <code><font color="blue">test_more/test_more</font></code> program |
861 | 864 | with out any warnings or error messages. |
865 | </li></ol> | |
866 | ||
862 | 867 | |
863 | 868 | <br/> |
864 | 869 | <br/> |
907 | 912 | <b><big><a name="02-15" id="02-15">02-15</a></big></b> |
908 | 913 | <br/> |
909 | 914 | Change the distribution |
910 | <a href="download.xml#Compressed Tar File" target="_top"><span style='white-space: nowrap'>compressed tar file</span></a> | |
915 | <a href="download.xml#Compressed Archives" target="_top"><span style='white-space: nowrap'>compressed tar file</span></a> | |
911 | 916 | |
912 | 917 | to only contain one copy of the documentation. |
913 | 918 | Link to the current Internet documentation for the other three copies. |
1516 | 1516 | <br/> |
1517 | 1517 | The subversion write protected directory |
1518 | 1518 | <code><font color="blue">bin/.svn</font></code> was mistakenly part of the |
1519 | <a href="download.xml#Compressed Tar File" target="_top"><span style='white-space: nowrap'>compressed tar file</span></a> | |
1519 | <a href="download.xml#Compressed Archives" target="_top"><span style='white-space: nowrap'>compressed tar file</span></a> | |
1520 | 1520 | . |
1521 | 1521 | It has been removed. |
1522 | 1522 |
497 | 497 | |
498 | 498 | <ol type="1"><li> |
499 | 499 | Fix the version number in link to the |
500 | <a href="download.xml#Compressed Tar File.Current Version" target="_top"><span style='white-space: nowrap'>current download files</span></a> | |
500 | <a href="download.xml#Compressed Archives.Current Version" target="_top"><span style='white-space: nowrap'>current download files</span></a> | |
501 | 501 | . |
502 | 502 | </li><li> |
503 | 503 |
210 | 210 | <b><big><a name="12-26" id="12-26">12-26</a></big></b> |
211 | 211 | <br/> |
212 | 212 | Document fact that |
213 | <a href="download.xml#Compressed Tar File.Monthly Versions" target="_top"><span style='white-space: nowrap'>monthly versions</span></a> | |
213 | <a href="download.xml#Compressed Archives.Monthly Versions" target="_top"><span style='white-space: nowrap'>monthly versions</span></a> | |
214 | 214 | |
215 | 215 | of the CppAD compressed tar file last till the end of the year. |
216 | 216 |
5 | 5 | <title>CppAD Changes and Additions During 2014</title> |
6 | 6 | <meta http-equiv='Content-Type' content='text/html' charset='utf-8'/> |
7 | 7 | <meta name="description" id="description" content="CppAD Changes and Additions During 2014"/> |
8 | <meta name="keywords" id="keywords" content=" cppad changes and additions during 2014 introduction 12-27 12-26 12-25 12-23 12-22 12-17 12-16 12-15 11-28 11-27 09-28 09-27 09-25 09-21 05-28 05-27 05-23 05-22 05-20 05-19 05-16 05-14 03-18 03-17 03-09 03-05 03-02 03-01 02-28 02-27 02-26 02-23 02-22 02-17 02-15 01-26 01-21 01-10 "/> | |
8 | <meta name="keywords" id="keywords" content=" cppad changes and additions during 2014 introduction 12-30 12-29 12-28 12-27 12-26 12-25 12-23 12-22 12-17 12-16 12-15 11-28 11-27 09-28 09-27 09-25 09-21 05-28 05-27 05-23 05-22 05-20 05-19 05-16 05-14 03-18 03-17 03-09 03-05 03-02 03-01 02-28 02-27 02-26 02-23 02-22 02-17 02-15 01-26 01-21 01-10 "/> | |
9 | 9 | <style type='text/css'> |
10 | 10 | body { color : black } |
11 | 11 | body { background-color : white } |
95 | 95 | <select onchange='choose_current0(this)'> |
96 | 96 | <option>Headings-></option> |
97 | 97 | <option>Introduction</option> |
98 | <option>12-30</option> | |
99 | <option>12-29</option> | |
100 | <option>12-28</option> | |
98 | 101 | <option>12-27</option> |
99 | 102 | <option>12-26</option> |
100 | 103 | <option>12-25</option> |
151 | 154 | |
152 | 155 | <br/> |
153 | 156 | <br/> |
157 | <b><big><a name="12-30" id="12-30">12-30</a></big></b> | |
158 | <br/> | |
159 | There was a bug in the <a href="cmake.xml" target="_top"><span style='white-space: nowrap'>cmake</span></a> | |
160 | whereby it would sometimes mistakenly | |
161 | exit with the error message | |
162 | <code><font color='blue'><pre style='display:inline'> | |
163 | cppad_max_num_threads is not an integer greater than or equal 4 | |
164 | </pre></font></code> | |
165 | ||
166 | This has been fixed. | |
167 | ||
168 | <br/> | |
169 | <br/> | |
170 | <b><big><a name="12-29" id="12-29">12-29</a></big></b> | |
171 | <br/> | |
172 | The example <code><font color="blue">not_complex_ad.cpp</font></code> was using the type | |
173 | ||
174 | <code><font color="blue"><span style='white-space: nowrap'><br/> | |
175 |      std::complex< CppAD::AD<double> ><br/> | |
176 | </span></font></code> | |
177 | and was failing to compile with the <code><font color="blue">clang</font></code> complier. | |
178 | This example has been removed because it is not consistent with the | |
179 | C++ standard; see | |
180 | <a href="faq.xml#Complex Types" target="_top"><span style='white-space: nowrap'>complex FAQ</span></a> | |
181 | . | |
182 | ||
183 | ||
184 | <br/> | |
185 | <br/> | |
186 | <b><big><a name="12-28" id="12-28">12-28</a></big></b> | |
187 | ||
188 | <ol type="1"><li> | |
189 | Fix some warnings generated by clang 3.5 about local functions | |
190 | that were not being used; e.g., sub-tests that were not being executed. | |
191 | </li><li> | |
192 | ||
193 | Fix <code><font color="blue">cmake</font></code> setting | |
194 | <a href="cmake.xml#cppad_implicit_ctor_from_any_type" target="_top"><span style='white-space: nowrap'>cppad_implicit_ctor_from_any_type</span></a> | |
195 | . | |
196 | Note that this option is deprecated and may eventually be removed. | |
197 | </li><li> | |
198 | ||
199 | The <code><font color="blue">clang++</font></code> compiler was optimizing out the calculations | |
200 | in the <a href="time_test.cpp.xml" target="_top"><span style='white-space: nowrap'>time_test.cpp</span></a> | |
201 | and <a href="speed_test.cpp.xml" target="_top"><span style='white-space: nowrap'>speed_test.cpp</span></a> | |
202 | examples. | |
203 | This caused these tests to hang while trying to determine how | |
204 | many times to repeat the test. | |
205 | This has been fixed. | |
206 | </li></ol> | |
207 | ||
208 | ||
209 | <br/> | |
210 | <br/> | |
154 | 211 | <b><big><a name="12-27" id="12-27">12-27</a></big></b> |
155 | 212 | <br/> |
156 | 213 | More work on the bug in |
0 | $Id: doc.omh 3509 2014-12-27 20:38:37Z bradbell $ | |
0 | $Id: doc.omh 3546 2015-01-01 02:52:34Z bradbell $ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-13 Bradley M. Bell |
3 | 3 | |
94 | 94 | |
95 | 95 | $comment bin/version assumes that : follows cppad version number here$$ |
96 | 96 | $section |
97 | cppad-20150000.0: A Package for Differentiation of C++ Algorithms | |
97 | cppad-20150000.1: A Package for Differentiation of C++ Algorithms | |
98 | 98 | $$ |
99 | 99 | |
100 | 100 | $comment This comment is used to remove the table below$$ |
101 | 101 | $table |
102 | 102 | $cnext |
103 | One web page per Section $pre $$ $cnext | |
104 | All as one web page | |
103 | One section per web page $pre $$ $cnext | |
104 | All sections in one web page | |
105 | 105 | $rnext |
106 | 106 | $cnext |
107 | 107 | (fast to load) $pre $$ $cnext |
0 | # $Id: CMakeLists.txt 3301 2014-05-24 05:20:21Z bradbell $ | |
0 | # $Id: CMakeLists.txt 3526 2014-12-29 21:56:45Z bradbell $ | |
1 | 1 | # ----------------------------------------------------------------------------- |
2 | 2 | # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | # |
144 | 144 | nan.cpp |
145 | 145 | near_equal.cpp |
146 | 146 | near_equal_ext.cpp |
147 | not_complex_ad.cpp | |
148 | 147 | number_skip.cpp |
149 | 148 | numeric_type.cpp |
150 | 149 | ode_err_control.cpp |
0 | /* $Id: ad_in_c.cpp 2506 2012-10-24 19:36:49Z bradbell $ */ | |
0 | /* $Id: ad_in_c.cpp 3526 2014-12-29 21:56:45Z bradbell $ */ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-12 Bradley M. Bell |
3 | 3 | |
40 | 40 | |
41 | 41 | namespace { // Begin empty namespace ***************************************** |
42 | 42 | |
43 | /* | |
43 | 44 | void debug_print(const char *label, double d) |
44 | 45 | { using std::printf; |
45 | 46 | |
50 | 51 | printf("%x", byte[i]); |
51 | 52 | printf("\n"); |
52 | 53 | } |
54 | */ | |
53 | 55 | |
54 | 56 | // type in C corresponding to an AD<double> object |
55 | 57 | typedef struct { void* p_void; } cad; |
0 | /* $Id: complex_poly.cpp 2506 2012-10-24 19:36:49Z bradbell $ */ | |
0 | /* $Id: complex_poly.cpp 3526 2014-12-29 21:56:45Z bradbell $ */ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-12 Bradley M. Bell |
3 | 3 | |
21 | 21 | $index polynomial, complex$$ |
22 | 22 | $index example, complex polynomial$$ |
23 | 23 | $index test, complex polynomial$$ |
24 | ||
25 | $head See Also$$ | |
26 | $cref not_complex_ad.cpp$$ | |
27 | 24 | |
28 | 25 | $head Poly$$ |
29 | 26 | Select this link to view specifications for $cref Poly$$: |
0 | /* $Id: example.cpp 3301 2014-05-24 05:20:21Z bradbell $ */ | |
0 | /* $Id: example.cpp 3526 2014-12-29 21:56:45Z bradbell $ */ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | |
121 | 121 | extern bool nan(void); |
122 | 122 | extern bool Near_Equal(void); |
123 | 123 | extern bool NearEqualExt(void); |
124 | extern bool not_complex_ad(void); | |
125 | 124 | extern bool number_skip(void); |
126 | 125 | extern bool NumericType(void); |
127 | 126 | extern bool OdeErrControl(void); |
277 | 276 | ok &= Run( nan, "nan" ); |
278 | 277 | ok &= Run( Near_Equal, "Near_Equal" ); |
279 | 278 | ok &= Run( NearEqualExt, "NearEqualExt" ); |
280 | ok &= Run( not_complex_ad, "not_complex_ad" ); | |
281 | 279 | ok &= Run( number_skip, "number_skip" ); |
282 | 280 | ok &= Run( NumericType, "NumericType" ); |
283 | 281 | ok &= Run( OdeErrControl, "OdeErrControl" ); |
0 | # $Id: makefile.am 3486 2014-12-18 16:29:51Z bradbell $ | |
0 | # $Id: makefile.am 3526 2014-12-29 21:56:45Z bradbell $ | |
1 | 1 | # ----------------------------------------------------------------------------- |
2 | 2 | # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | # |
153 | 153 | nan.cpp \ |
154 | 154 | near_equal.cpp \ |
155 | 155 | near_equal_ext.cpp \ |
156 | not_complex_ad.cpp \ | |
157 | 156 | number_skip.cpp \ |
158 | 157 | numeric_type.cpp \ |
159 | 158 | ode_err_control.cpp \ |
120 | 120 | lu_invert.cpp lu_ratio.cpp lu_solve.cpp lu_vec_ad.cpp \ |
121 | 121 | lu_vec_ad.hpp lu_vec_ad_ok.cpp mul.cpp mul_eq.cpp \ |
122 | 122 | mul_level.cpp mul_level_ode.cpp nan.cpp near_equal.cpp \ |
123 | near_equal_ext.cpp not_complex_ad.cpp number_skip.cpp \ | |
124 | numeric_type.cpp ode_err_control.cpp ode_err_maxabs.cpp \ | |
125 | ode_gear.cpp ode_gear_control.cpp ode_stiff.cpp ode_taylor.cpp \ | |
123 | near_equal_ext.cpp number_skip.cpp numeric_type.cpp \ | |
124 | ode_err_control.cpp ode_err_maxabs.cpp ode_gear.cpp \ | |
125 | ode_gear_control.cpp ode_stiff.cpp ode_taylor.cpp \ | |
126 | 126 | omp_alloc.cpp opt_val_hes.cpp optimize.cpp par_var.cpp \ |
127 | 127 | poly.cpp pow.cpp pow_int.cpp print_for.cpp reverse_any.cpp \ |
128 | 128 | reverse_one.cpp reverse_three.cpp reverse_two.cpp rev_one.cpp \ |
165 | 165 | lu_vec_ad_ok.$(OBJEXT) mul.$(OBJEXT) mul_eq.$(OBJEXT) \ |
166 | 166 | mul_level.$(OBJEXT) mul_level_ode.$(OBJEXT) nan.$(OBJEXT) \ |
167 | 167 | near_equal.$(OBJEXT) near_equal_ext.$(OBJEXT) \ |
168 | not_complex_ad.$(OBJEXT) number_skip.$(OBJEXT) \ | |
169 | numeric_type.$(OBJEXT) ode_err_control.$(OBJEXT) \ | |
170 | ode_err_maxabs.$(OBJEXT) ode_gear.$(OBJEXT) \ | |
171 | ode_gear_control.$(OBJEXT) ode_stiff.$(OBJEXT) \ | |
172 | ode_taylor.$(OBJEXT) omp_alloc.$(OBJEXT) opt_val_hes.$(OBJEXT) \ | |
173 | optimize.$(OBJEXT) par_var.$(OBJEXT) poly.$(OBJEXT) \ | |
174 | pow.$(OBJEXT) pow_int.$(OBJEXT) print_for.$(OBJEXT) \ | |
175 | reverse_any.$(OBJEXT) reverse_one.$(OBJEXT) \ | |
176 | reverse_three.$(OBJEXT) reverse_two.$(OBJEXT) \ | |
177 | rev_one.$(OBJEXT) rev_sparse_hes.$(OBJEXT) \ | |
178 | rev_sparse_jac.$(OBJEXT) rev_two.$(OBJEXT) \ | |
179 | romberg_mul.$(OBJEXT) romberg_one.$(OBJEXT) rosen_34.$(OBJEXT) \ | |
180 | runge45_1.$(OBJEXT) runge45_2.$(OBJEXT) seq_property.$(OBJEXT) \ | |
181 | simple_vector.$(OBJEXT) sign.$(OBJEXT) sin.$(OBJEXT) \ | |
182 | sinh.$(OBJEXT) sparse_hessian.$(OBJEXT) \ | |
168 | number_skip.$(OBJEXT) numeric_type.$(OBJEXT) \ | |
169 | ode_err_control.$(OBJEXT) ode_err_maxabs.$(OBJEXT) \ | |
170 | ode_gear.$(OBJEXT) ode_gear_control.$(OBJEXT) \ | |
171 | ode_stiff.$(OBJEXT) ode_taylor.$(OBJEXT) omp_alloc.$(OBJEXT) \ | |
172 | opt_val_hes.$(OBJEXT) optimize.$(OBJEXT) par_var.$(OBJEXT) \ | |
173 | poly.$(OBJEXT) pow.$(OBJEXT) pow_int.$(OBJEXT) \ | |
174 | print_for.$(OBJEXT) reverse_any.$(OBJEXT) \ | |
175 | reverse_one.$(OBJEXT) reverse_three.$(OBJEXT) \ | |
176 | reverse_two.$(OBJEXT) rev_one.$(OBJEXT) \ | |
177 | rev_sparse_hes.$(OBJEXT) rev_sparse_jac.$(OBJEXT) \ | |
178 | rev_two.$(OBJEXT) romberg_mul.$(OBJEXT) romberg_one.$(OBJEXT) \ | |
179 | rosen_34.$(OBJEXT) runge45_1.$(OBJEXT) runge45_2.$(OBJEXT) \ | |
180 | seq_property.$(OBJEXT) simple_vector.$(OBJEXT) sign.$(OBJEXT) \ | |
181 | sin.$(OBJEXT) sinh.$(OBJEXT) sparse_hessian.$(OBJEXT) \ | |
183 | 182 | sparse_jacobian.$(OBJEXT) sqrt.$(OBJEXT) \ |
184 | 183 | stack_machine.$(OBJEXT) sub.$(OBJEXT) sub_eq.$(OBJEXT) \ |
185 | 184 | tan.$(OBJEXT) tanh.$(OBJEXT) tape_index.$(OBJEXT) \ |
293 | 292 | CXX_FLAGS_FADBAD = @CXX_FLAGS_FADBAD@ |
294 | 293 | CYGPATH_W = @CYGPATH_W@ |
295 | 294 | |
296 | # $Id: makefile.in 3497 2014-12-24 13:38:30Z bradbell $ | |
295 | # $Id: makefile.in 3526 2014-12-29 21:56:45Z bradbell $ | |
297 | 296 | # ----------------------------------------------------------------------------- |
298 | 297 | # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
299 | 298 | # |
566 | 565 | nan.cpp \ |
567 | 566 | near_equal.cpp \ |
568 | 567 | near_equal_ext.cpp \ |
569 | not_complex_ad.cpp \ | |
570 | 568 | number_skip.cpp \ |
571 | 569 | numeric_type.cpp \ |
572 | 570 | ode_err_control.cpp \ |
755 | 753 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nan.Po@am__quote@ |
756 | 754 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/near_equal.Po@am__quote@ |
757 | 755 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/near_equal_ext.Po@am__quote@ |
758 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/not_complex_ad.Po@am__quote@ | |
759 | 756 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/number_skip.Po@am__quote@ |
760 | 757 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/numeric_type.Po@am__quote@ |
761 | 758 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ode_err_control.Po@am__quote@ |
0 | /* $Id: not_complex_ad.cpp 2506 2012-10-24 19:36:49Z bradbell $ */ | |
1 | /* -------------------------------------------------------------------------- | |
2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-12 Bradley M. Bell | |
3 | ||
4 | CppAD is distributed under multiple licenses. This distribution is under | |
5 | the terms of the | |
6 | GNU General Public License Version 3. | |
7 | ||
8 | A copy of this license is included in the COPYING file of this distribution. | |
9 | Please visit http://www.coin-or.org/CppAD/ for information on other licenses. | |
10 | -------------------------------------------------------------------------- */ | |
11 | ||
12 | /* | |
13 | $begin not_complex_ad.cpp$$ | |
14 | $spell | |
15 | imag | |
16 | Cpp | |
17 | $$ | |
18 | ||
19 | $section Not Complex Differentiable: Example and Test$$ | |
20 | ||
21 | $index complex, polynomial$$ | |
22 | $index polynomial, complex$$ | |
23 | $index imag()$$ | |
24 | $index real()$$ | |
25 | $index example, not complex differentiable$$ | |
26 | $index test, not complex differentiable$$ | |
27 | ||
28 | $head Not Complex Differentiable$$ | |
29 | If $icode x$$ is complex, the functions | |
30 | $codei%real(%x%)%$$, | |
31 | $codei%imag(%x%)%$$, | |
32 | $codei%conj(%x%)%$$, and | |
33 | $codei%abs(%x%)%$$ | |
34 | are examples of functions that are not complex differentiable. | |
35 | ||
36 | $head See Also$$ | |
37 | $cref complex_poly.cpp$$ | |
38 | ||
39 | $head Poly$$ | |
40 | Select this link to view specifications for $cref Poly$$: | |
41 | ||
42 | $code | |
43 | $verbatim%example/not_complex_ad.cpp%0%// BEGIN C++%// END C++%1%$$ | |
44 | $$ | |
45 | ||
46 | $end | |
47 | */ | |
48 | // BEGIN C++ | |
49 | ||
50 | # include <cppad/cppad.hpp> | |
51 | # include <complex> | |
52 | ||
53 | bool not_complex_ad(void) | |
54 | { bool ok = true; | |
55 | size_t deg = 4; | |
56 | ||
57 | using CppAD::AD; | |
58 | using CppAD::Poly; | |
59 | typedef std::complex<double> Complex; | |
60 | typedef std::complex< AD<double> > ComplexAD; | |
61 | ||
62 | // The imaginary part in the following assignment will use | |
63 | // the CppAD::AD<double> default constructor. Make sure it is zero. | |
64 | AD<double> ad_zero = AD<double>(0); | |
65 | AD<double> ad_two = AD<double>(2); | |
66 | ComplexAD cad_two = ad_two; | |
67 | ok &= cad_two == ComplexAD(ad_two, ad_zero); | |
68 | ||
69 | // polynomial coefficients | |
70 | CPPAD_TESTVECTOR( Complex ) a (deg + 1); // coefficients for p(z) | |
71 | CPPAD_TESTVECTOR( ComplexAD ) A (deg + 1); | |
72 | size_t i; | |
73 | for(i = 0; i <= deg; i++) | |
74 | { a[i] = Complex(i, i); | |
75 | A[i] = ComplexAD( AD<double>(i) , AD<double>(i) ); | |
76 | } | |
77 | ||
78 | // declare independent variables and start taping | |
79 | CPPAD_TESTVECTOR(AD<double>) Z_real(1); | |
80 | double z_real = 1.; | |
81 | Z_real[0] = z_real; | |
82 | Independent(Z_real); | |
83 | ||
84 | // complex calculations | |
85 | double z_imag = 2.; | |
86 | ComplexAD Z = ComplexAD( Z_real[0], AD<double>(z_imag) ); | |
87 | ComplexAD P = Poly(0, A, Z); | |
88 | ||
89 | // range space vector | |
90 | CPPAD_TESTVECTOR(AD<double>) P_real(1); | |
91 | P_real[0] = P.real(); // real() is not complex differentiable | |
92 | ||
93 | // create f: Z_real -> P_real and stop taping | |
94 | CppAD::ADFun<double> f(Z_real, P_real); | |
95 | ||
96 | // check first derivative w.r.t z | |
97 | CPPAD_TESTVECTOR(double) v( f.Domain() ); | |
98 | CPPAD_TESTVECTOR(double) w( f.Range() ); | |
99 | v[0] = 1.; | |
100 | w = f.Forward(1, v); | |
101 | Complex z = Complex(z_real, z_imag); | |
102 | Complex p = Poly(1, a, z); | |
103 | ok &= ( w[0] == p.real() ); | |
104 | ||
105 | // second derivative w.r.t z is 2 times its second order Taylor coeff | |
106 | v[0] = 0.; | |
107 | w = f.Forward(2, v); | |
108 | p = Poly(2, a, z); | |
109 | ok &= ( 2. * w[0] == p.real() ); | |
110 | ||
111 | return ok; | |
112 | } | |
113 | ||
114 | // END C++ |
0 | $Id: example_list.omh 3301 2014-05-24 05:20:21Z bradbell $ | |
0 | $Id: example_list.omh 3526 2014-12-29 21:56:45Z bradbell $ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | |
181 | 181 | $rref nan.cpp$$ |
182 | 182 | $rref near_equal.cpp$$ |
183 | 183 | $rref near_equal_ext.cpp$$ |
184 | $rref not_complex_ad.cpp$$ | |
185 | 184 | $rref number_skip.cpp$$ |
186 | 185 | $rref numeric_type.cpp$$ |
187 | 186 | $rref ode_err_control.cpp$$ |
0 | $Id: faq.omh 3170 2014-03-09 14:33:53Z bradbell $ | |
0 | $Id: faq.omh 3526 2014-12-29 21:56:45Z bradbell $ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | |
12 | 12 | $begin Faq$$ |
13 | 13 | $escape !$$ |
14 | 14 | $spell |
15 | instantiating | |
15 | 16 | cppad@list.coin-or.org |
16 | 17 | faq |
17 | 18 | std |
43 | 44 | Independent(%u%); |
44 | 45 | %$$ |
45 | 46 | Before the call to $cref Independent$$, |
46 | $icode%u[%0%]%$$ is a $cref/parameter/glossary/Parameter/$$ | |
47 | $icode%u%[0]%$$ is a $cref/parameter/glossary/Parameter/$$ | |
47 | 48 | and after the call it is a variable. |
48 | 49 | Thus in the first case, $icode v$$ is a variable |
49 | 50 | and in the second case it is a parameter. |
97 | 98 | AD< std::complex<%Base%> > |
98 | 99 | std::complex< AD<%Base%> > |
99 | 100 | %$$ |
100 | Some functions are real differentiable than are not complex differentiable | |
101 | (for example, the $cref/complex abs function/abs/Complex Types/$$). | |
102 | If you have to differentiate such functions, you should use | |
101 | The $cref/complex abs function/abs/Complex Types/$$ is differentiable | |
102 | with respect to its real and imaginary parts, | |
103 | but it is not complex differentiable. | |
104 | Thus one would prefer to use | |
103 | 105 | $codei% |
104 | 106 | std::complex< AD<%Base%> > |
105 | 107 | %$$ |
106 | If you are sure that you will not need to take any real partials | |
107 | of complex valued function, it is more efficient to use | |
108 | $codei% | |
109 | AD< std::complex<%Base%> > | |
110 | %$$ | |
111 | ||
108 | On the other hand, the C++ standard only specifies | |
109 | $codei%std::complex<%Type%>%$$ where $icode Type$$ is | |
110 | $code float$$, $code double$$, or $code lone double$$. | |
111 | The effect of instantiating the template complex for any other type | |
112 | is unspecified. | |
112 | 113 | |
113 | 114 | $head Exceptions$$ |
114 | 115 | $index test, exception$$ |
0 | $Id: download.omh 3509 2014-12-27 20:38:37Z bradbell $ | |
0 | $Id: download.omh 3546 2015-01-01 02:52:34Z bradbell $ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-13 Bradley M. Bell |
3 | 3 | |
13 | 13 | $escape $$ |
14 | 14 | $spell |
15 | 15 | yyyy |
16 | mm | |
17 | dd | |
16 | 18 | tarballs |
17 | 19 | mkdir |
18 | 20 | cmake |
53 | 55 | To be specific, the distribution directory contains the file |
54 | 56 | $code cppad/cppad.hpp$$. |
55 | 57 | |
56 | $head Compressed Tar File$$ | |
57 | These files have been archived with $code tar$$ | |
58 | and compressed with $code gzip$$: | |
58 | $head Compressed Archives$$ | |
59 | These files have been archived using $code tar$$ and compressed using | |
60 | $code gzip$$: | |
61 | $table | |
62 | $bold version$$ $pre $$ $cnext $bold license$$ $pre $$ $cnext $bold link$$ | |
63 | $rnext | |
64 | current $cnext EPL $cnext $href% | |
65 | http://www.coin-or.org/download/source/CppAD/cppad-20150000.1.epl.tgz% | |
66 | cppad-20150000.1.epl.tgz%$$ | |
67 | $rnext | |
68 | current $cnext GPL $cnext $href% | |
69 | http://www.coin-or.org/download/source/CppAD/cppad-20150000.1.gpl.tgz% | |
70 | cppad-20150000.1.gpl.tgz%$$ | |
71 | $rnext | |
72 | old $cnext Both $cnext | |
73 | $href%http://www.coin-or.org/download/source/CppAD/%CppAD download page%$$ | |
74 | $tend | |
59 | 75 | |
60 | 76 | $subhead Current Version$$ |
61 | The download files below are for the current version of CppAD. | |
62 | $table | |
63 | EPL License $pre $$ $cnext $href% | |
64 | http://www.coin-or.org/download/source/CppAD/cppad-20150000.0.epl.tgz% | |
65 | cppad-20150000.0.epl.tgz%$$ | |
66 | $rnext | |
67 | GPL License $pre $$ $cnext $href% | |
68 | http://www.coin-or.org/download/source/CppAD/cppad-20150000.0.gpl.tgz% | |
69 | cppad-20150000.0.gpl.tgz%$$ | |
70 | $tend | |
77 | The current versions listed above correspond to the subversion | |
78 | $href%https://projects.coin-or.org/CppAD/browser/trunk%trunk%$$ | |
79 | and the git | |
80 | $href%https://github.com/bradbell/cppad%master%$$. | |
71 | 81 | These tarballs only last for a few days. |
72 | 82 | |
83 | $subhead Release Versions$$ | |
84 | Release versions of the compressed tar files are available on the | |
85 | $href%http://www.coin-or.org/download/source/CppAD/%CppAD download page%$$. | |
86 | This includes all the releases going back to 2007. | |
87 | These file have the form | |
88 | $codei% | |
89 | cppad-%yyyymmdd%.%rel%.%lic%.tgz | |
90 | %$$ | |
91 | The license code $icode lic$$ | |
92 | is $code gpl$$, $code epl$$ or $code cpl$$ where | |
93 | $code gpl$$ denotes the GNU General Public License, | |
94 | $code epl$$ denotes the Eclipse Public License, and | |
95 | $code cpl$$ denotes the Common Public License | |
96 | (not being used for new versions). | |
97 | The version number $icode yyyymmdd$$ | |
98 | is the date at which the features | |
99 | of the program were frozen where | |
100 | $icode yyyy$$ is the year, $icode mm$$ is the month, and $icode dd$$ | |
101 | is the day. | |
102 | The release number $icode rel$$ | |
103 | corresponds to a bug fix index where | |
104 | higher numbers corresponding to more bug fixes. | |
105 | ||
73 | 106 | $subhead Monthly Versions$$ |
74 | Monthly versions of the compressed tar files, | |
75 | are kept around until the end of the current year, | |
76 | when the next release version (see below) is created. | |
77 | These file have the form | |
107 | Monthly versions of the compressed tar files are available on the | |
108 | $href%http://www.coin-or.org/download/source/CppAD/%CppAD download page%$$. | |
109 | These are kept until the end of the current year, | |
110 | when the next release is created. | |
111 | The monthly versions have the form | |
78 | 112 | $codei% |
79 | 113 | cppad-%yyyy%0101.%lic%.tgz |
80 | 114 | %$$ |
81 | 115 | where the license code $icode lic$$ |
82 | 116 | is $code gpl$$ or $code epl$$ |
83 | 117 | and $icode yyyy$$ is the current year. |
84 | ||
85 | $subhead Release Versions$$ | |
86 | Release versions of the compressed tar files can be found at the | |
87 | $href%http://www.coin-or.org/download/source/CppAD/%CppAD download page%$$. | |
88 | These file have the form | |
89 | $codei% | |
90 | cppad-%yyyymmdd%.%rel%.%lic%.tgz | |
91 | %$$ | |
92 | where the license code $icode lic$$ | |
93 | is $code gpl$$, $code epl$$ or $code cpl$$ | |
94 | ($code cpl$$ stands for the Common Public License), | |
95 | $icode yyyymmdd$$ is the date at which the features | |
96 | of the program were frozen, and each $icode rel$$ number | |
97 | corresponds to a bug fix (higher numbers corresponding to more bug fixes). | |
98 | 118 | |
99 | 119 | $subhead Unix File Extraction$$ |
100 | 120 | On unix, you can use the command |
147 | 167 | |
148 | 168 | |
149 | 169 | $subhead Install Instructions$$ |
170 | The instructions on the web correspond to the current version of CppAD. | |
150 | 171 | If you are using an old version of CppAD |
151 | 172 | You should follow the install instructions in |
152 | 173 | the $code doc$$ subdirectory of the distribution directory. |
166 | 187 | $lnext |
167 | 188 | Only the |
168 | 189 | $href%http://opensource.org/licenses/EPL-1.0%EPL licensed%$$ |
169 | version of CppAD can be obtained by this download procedure. | |
190 | version of CppAD can be obtained by this download procedure | |
191 | (some old versions correspond to CPL instead of EPL). | |
170 | 192 | $lend |
171 | 193 | |
172 | 194 | $subhead Current Version$$ |
231 | 253 | Once you have done this, |
232 | 254 | in the distribution directory execute the following command: |
233 | 255 | $codei% |
234 | ./build.sh configure omhelp | |
235 | %$$. | |
256 | ./build.sh omhelp | |
257 | %$$ | |
236 | 258 | You will then be able to follow the install instructions in |
237 | 259 | the $code doc$$ subdirectory of the distribution directory. |
238 | 260 |
0 | $Id: unix.omh 3496 2014-12-24 12:18:44Z bradbell $ | |
0 | $Id: unix.omh 3542 2014-12-31 18:37:57Z bradbell $ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | |
91 | 91 | You must first obtain a copy of the CppAD distribution directory |
92 | 92 | using the $cref download$$ instructions. |
93 | 93 | The install instructions below correspond to the |
94 | $cref/current version/download/Compressed Tar File/Current Version/$$ | |
94 | $cref/current version/download/Compressed Archives/Current Version/$$ | |
95 | 95 | which has distribution directory $code cppad-20121230$$. |
96 | 96 | |
97 | 97 | $head Work Directory$$ |
0 | $Id: whats_new_07.omh 3308 2014-05-26 14:29:01Z bradbell $ | |
0 | $Id: whats_new_07.omh 3526 2014-12-29 21:56:45Z bradbell $ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | |
350 | 350 | |
351 | 351 | $head 10-05$$ |
352 | 352 | Added and example using complex calculations for a |
353 | function that is not complex differentiable ($cref not_complex_ad.cpp$$). | |
353 | function that is not complex differentiable $code not_complex_ad.cpp$$. | |
354 | (This example has been removed; see $cref/complex FAQ/Faq/Complex Types/$$.) | |
354 | 355 | |
355 | 356 | $head 10-02$$ |
356 | 357 | Extend the $cref pow$$ function to work for any case where one argument |
0 | $Id: whats_new_09.omh 3214 2014-03-18 20:50:38Z bradbell $ | |
0 | $Id: whats_new_09.omh 3542 2014-12-31 18:37:57Z bradbell $ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | |
468 | 468 | and other packages use of the same symbol names. |
469 | 469 | |
470 | 470 | $head 06-06$$ |
471 | $list number$$ | |
471 | 472 | Using complex of an AD type (instead of AD of complex) was not working |
472 | correctly in $cref not_complex_ad.cpp$$ because the | |
473 | correctly in $code not_complex_ad.cpp$$ because the | |
473 | 474 | $cref/default constructor/ad_ctor/$$ for an AD object has an unspecified value. |
474 | 475 | This has been fixed for the complex type by changing the default constructor |
475 | 476 | to use value zero. |
476 | $pre | |
477 | ||
478 | $$ | |
477 | (The $code not_complex_ad.cpp$$ example has been removed; | |
478 | see $cref/complex FAQ/Faq/Complex Types/$$.) | |
479 | $lnext | |
479 | 480 | Fixing the $code not_complex_ad.cpp$$ problem above also fixed a warning |
480 | 481 | generated by $href%http://valgrind.org/%valgrind%$$. |
481 | 482 | Now $code valgrind$$ runs the CppAD $code example/example$$ program |
484 | 485 | $code test_more/jacobian.cpp$$ routine so now |
485 | 486 | $code valgrind$$ also runs the CppAD $code test_more/test_more$$ program |
486 | 487 | with out any warnings or error messages. |
488 | $lend | |
487 | 489 | |
488 | 490 | $head 05-20$$ |
489 | 491 | A change was make to the trunk on 05-19 (svn revision 1361) that broke the |
509 | 511 | |
510 | 512 | $head 02-15$$ |
511 | 513 | Change the distribution |
512 | $cref/compressed tar file/download/Compressed Tar File/$$ | |
514 | $cref/compressed tar file/download/Compressed Archives/$$ | |
513 | 515 | to only contain one copy of the documentation. |
514 | 516 | Link to the current Internet documentation for the other three copies. |
515 | 517 |
0 | $Id: whats_new_11.omh 3170 2014-03-09 14:33:53Z bradbell $ | |
0 | $Id: whats_new_11.omh 3542 2014-12-31 18:37:57Z bradbell $ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | |
844 | 844 | $head 03-19$$ |
845 | 845 | The subversion write protected directory |
846 | 846 | $code bin/.svn$$ was mistakenly part of the |
847 | $cref/compressed tar file/download/Compressed Tar File/$$. | |
847 | $cref/compressed tar file/download/Compressed Archives/$$. | |
848 | 848 | It has been removed. |
849 | 849 | |
850 | 850 | $head 03-11$$ |
0 | $Id: whats_new_12.omh 3214 2014-03-18 20:50:38Z bradbell $ | |
0 | $Id: whats_new_12.omh 3542 2014-12-31 18:37:57Z bradbell $ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | |
253 | 253 | $head 11-21$$ |
254 | 254 | $list number$$ |
255 | 255 | Fix the version number in link to the |
256 | $cref/current download files/download/Compressed Tar File/Current Version/$$. | |
256 | $cref/current download files/download/Compressed Archives/Current Version/$$. | |
257 | 257 | $lnext |
258 | 258 | Change the |
259 | 259 | $cref/subversion/download/Subversion/$$ download instructions to use |
0 | $Id: whats_new_13.omh 3214 2014-03-18 20:50:38Z bradbell $ | |
0 | $Id: whats_new_13.omh 3542 2014-12-31 18:37:57Z bradbell $ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | |
106 | 106 | |
107 | 107 | $head 12-26$$ |
108 | 108 | Document fact that |
109 | $cref/monthly versions/download/Compressed Tar File/Monthly Versions/$$ | |
109 | $cref/monthly versions/download/Compressed Archives/Monthly Versions/$$ | |
110 | 110 | of the CppAD compressed tar file last till the end of the year. |
111 | 111 | |
112 | 112 | $head 12-24$$ |
0 | $Id: whats_new_14.omh 3507 2014-12-27 16:30:12Z bradbell $ | |
0 | $Id: whats_new_14.omh 3529 2014-12-30 15:36:27Z bradbell $ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | |
50 | 50 | datadir |
51 | 51 | erf |
52 | 52 | cmath |
53 | ctor | |
54 | std | |
55 | num | |
53 | 56 | $$ |
54 | 57 | |
55 | 58 | $section CppAD Changes and Additions During 2014$$ |
59 | 62 | (in reverse order by date). |
60 | 63 | The purpose of this section is to |
61 | 64 | assist you in learning about changes between various versions of CppAD. |
65 | ||
66 | $head 12-30$$ | |
67 | There was a bug in the $cref cmake$$ whereby it would sometimes mistakenly | |
68 | exit with the error message | |
69 | $codep | |
70 | cppad_max_num_threads is not an integer greater than or equal 4 | |
71 | $$ | |
72 | This has been fixed. | |
73 | ||
74 | $head 12-29$$ | |
75 | The example $code not_complex_ad.cpp$$ was using the type | |
76 | $codei% | |
77 | std::complex< CppAD::AD<double> > | |
78 | %$$ | |
79 | and was failing to compile with the $code clang$$ complier. | |
80 | This example has been removed because it is not consistent with the | |
81 | C++ standard; see | |
82 | $cref/complex FAQ/faq/Complex Types/$$. | |
83 | ||
84 | ||
85 | $head 12-28$$ | |
86 | $list number$$ | |
87 | Fix some warnings generated by clang 3.5 about local functions | |
88 | that were not being used; e.g., sub-tests that were not being executed. | |
89 | $lnext | |
90 | Fix $code cmake$$ setting | |
91 | $cref/cppad_implicit_ctor_from_any_type/ | |
92 | cmake/cppad_implicit_ctor_from_any_type | |
93 | /$$. | |
94 | Note that this option is deprecated and may eventually be removed. | |
95 | $lnext | |
96 | The $code clang++$$ compiler was optimizing out the calculations | |
97 | in the $cref time_test.cpp$$ and $cref speed_test.cpp$$ examples. | |
98 | This caused these tests to hang while trying to determine how | |
99 | many times to repeat the test. | |
100 | This has been fixed. | |
101 | $lend | |
62 | 102 | |
63 | 103 | $head 12-27$$ |
64 | 104 | More work on the bug in |
0 | /* $Id: speed_test.cpp 3094 2014-02-15 22:51:31Z bradbell $ */ | |
0 | /* $Id: speed_test.cpp 3526 2014-12-29 21:56:45Z bradbell $ */ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | |
38 | 38 | */ |
39 | 39 | // BEGIN C++ |
40 | 40 | # include <cppad/speed_test.hpp> |
41 | # include <vector> | |
41 | # include <cppad/vector.hpp> | |
42 | 42 | |
43 | 43 | namespace { // empty namespace |
44 | using CppAD::vector; | |
45 | vector<double> a, b, c; | |
44 | 46 | void test(size_t size, size_t repeat) |
45 | 47 | { // setup |
46 | double *a = new double[size]; | |
47 | double *b = new double[size]; | |
48 | double *c = new double[size]; | |
48 | a.resize(size); | |
49 | b.resize(size); | |
50 | c.resize(size); | |
49 | 51 | size_t i = size;; |
50 | 52 | while(i) |
51 | 53 | { --i; |
52 | 54 | a[i] = i; |
53 | 55 | b[i] = 2 * i; |
56 | c[i] = 0.0; | |
54 | 57 | } |
55 | 58 | // operations we are timing |
56 | 59 | while(repeat--) |
57 | 60 | { i = size;; |
58 | 61 | while(i) |
59 | 62 | { --i; |
60 | c[i] = a[i] * b[i]; | |
63 | c[i] += std::sqrt(a[i] * a[i] + b[i] * b[i]); | |
61 | 64 | } |
62 | 65 | } |
63 | // teardown | |
64 | delete [] a; | |
65 | delete [] b; | |
66 | delete [] c; | |
67 | return; | |
68 | 66 | } |
69 | 67 | } |
70 | 68 | bool speed_test(void) |
71 | 69 | { bool ok = true; |
72 | 70 | |
73 | 71 | // size of the test cases |
74 | std::vector<size_t> size_vec(2); | |
72 | vector<size_t> size_vec(2); | |
75 | 73 | size_vec[0] = 40; |
76 | 74 | size_vec[1] = 80; |
77 | 75 | |
79 | 77 | double time_min = 0.5; |
80 | 78 | |
81 | 79 | // run the test cases |
82 | std::vector<size_t> rate_vec(2); | |
80 | vector<size_t> rate_vec(2); | |
83 | 81 | rate_vec = CppAD::speed_test(test, size_vec, time_min); |
84 | 82 | |
85 | 83 | // time per repeat loop (note counting setup or teardown) |
93 | 91 | if( ! ok ) |
94 | 92 | std::cout << std::endl << "rel_diff = " << rel_diff << std::endl; |
95 | 93 | |
94 | a.clear(); | |
95 | b.clear(); | |
96 | c.clear(); | |
96 | 97 | return ok; |
97 | 98 | } |
98 | 99 | // END C++ |
0 | /* $Id: time_test.cpp 3094 2014-02-15 22:51:31Z bradbell $ */ | |
0 | /* $Id: time_test.cpp 3526 2014-12-29 21:56:45Z bradbell $ */ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | |
38 | 38 | */ |
39 | 39 | // BEGIN C++ |
40 | 40 | # include <cppad/time_test.hpp> |
41 | # include <vector> | |
41 | # include <cppad/vector.hpp> | |
42 | 42 | |
43 | 43 | namespace { // empty namespace |
44 | using CppAD::vector; | |
44 | 45 | |
45 | 46 | // size for the test |
46 | 47 | size_t size_; |
47 | 48 | |
49 | vector<double> a, b, c; | |
48 | 50 | void test(size_t repeat) |
49 | 51 | { // setup |
50 | double *a = new double[size_]; | |
51 | double *b = new double[size_]; | |
52 | double *c = new double[size_]; | |
52 | a.resize(size_); | |
53 | b.resize(size_); | |
54 | c.resize(size_); | |
53 | 55 | size_t i = size_;; |
54 | 56 | while(i) |
55 | 57 | { --i; |
56 | 58 | a[i] = i; |
57 | 59 | b[i] = 2 * i; |
60 | c[i] = 0.0; | |
58 | 61 | } |
59 | 62 | // operations we are timing |
60 | 63 | while(repeat--) |
61 | { i = size_; | |
64 | { i = size_;; | |
62 | 65 | while(i) |
63 | 66 | { --i; |
64 | c[i] = a[i] * b[i]; | |
67 | c[i] += std::sqrt(a[i] * a[i] + b[i] * b[i]); | |
65 | 68 | } |
66 | 69 | } |
67 | // teardown | |
68 | delete [] a; | |
69 | delete [] b; | |
70 | delete [] c; | |
71 | return; | |
72 | 70 | } |
71 | ||
73 | 72 | } |
74 | 73 | bool time_test(void) |
75 | 74 | { bool ok = true; |
95 | 94 | if( ! ok ) |
96 | 95 | std::cout << std::endl << "rel_diff = " << rel_diff << std::endl; |
97 | 96 | |
97 | a.clear(); | |
98 | b.clear(); | |
99 | c.clear(); | |
98 | 100 | return ok; |
99 | 101 | } |
100 | 102 | // END C++ |
0 | # $Id: CMakeLists.txt 3301 2014-05-24 05:20:21Z bradbell $ | |
0 | # $Id: CMakeLists.txt 3526 2014-12-29 21:56:45Z bradbell $ | |
1 | 1 | # ----------------------------------------------------------------------------- |
2 | 2 | # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | # |
63 | 63 | ${adolc_sources} |
64 | 64 | ${colpack_sources} |
65 | 65 | ${ipopt_sources} |
66 | ${eigen_sources} | |
67 | 66 | abs.cpp |
68 | 67 | acos.cpp |
68 | adfun_copy.cpp | |
69 | 69 | asin.cpp |
70 | 70 | assign.cpp |
71 | 71 | add.cpp |
105 | 105 | mul_eq.cpp |
106 | 106 | mul_level.cpp |
107 | 107 | mul_zero_one.cpp |
108 | ndebug.cpp | |
109 | 108 | near_equal_ext.cpp |
110 | 109 | neg.cpp |
111 | 110 | ode_err_control.cpp |
0 | /* $Id: adfun_copy.cpp 3526 2014-12-29 21:56:45Z bradbell $ */ | |
1 | /* -------------------------------------------------------------------------- | |
2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-10 Bradley M. Bell | |
3 | ||
4 | CppAD is distributed under multiple licenses. This distribution is under | |
5 | the terms of the | |
6 | GNU General Public License Version 3. | |
7 | ||
8 | A copy of this license is included in the COPYING file of this distribution. | |
9 | Please visit http://www.coin-or.org/CppAD/ for information on other licenses. | |
10 | -------------------------------------------------------------------------- */ | |
11 | ||
12 | /* | |
13 | Test that ADFun copy constructor generates an error message. | |
14 | */ | |
15 | ||
16 | # include <cppad/cppad.hpp> | |
17 | # include <string> | |
18 | ||
19 | namespace { | |
20 | ||
21 | // error handler to catch the error | |
22 | void myhandler( | |
23 | bool known , | |
24 | int line , | |
25 | const char *file , | |
26 | const char *exp , | |
27 | const char *msg ) | |
28 | { // error handler must not return, so throw an exception | |
29 | throw std::string("myhandler"); | |
30 | } | |
31 | ||
32 | } | |
33 | ||
34 | bool adfun_copy(void) | |
35 | { | |
36 | // error handler for this routine | |
37 | CppAD::ErrorHandler info(myhandler); | |
38 | // an ADFun object | |
39 | CppAD::ADFun<double> f; | |
40 | // value of ok if no error occurs | |
41 | bool ok = false; | |
42 | try { | |
43 | // This operation uses the ADFun copy constructor which is defined, | |
44 | // but should not be used and should generate an error | |
45 | CppAD::ADFun<double> g(f); | |
46 | } | |
47 | catch ( std::string msg ) | |
48 | { // check for expected return | |
49 | ok = (msg == "myhandler"); | |
50 | } | |
51 | return ok; | |
52 | } |
0 | /* $Id: div.cpp 2506 2012-10-24 19:36:49Z bradbell $ */ | |
0 | /* $Id: div.cpp 3526 2014-12-29 21:56:45Z bradbell $ */ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-12 Bradley M. Bell |
3 | 3 | |
202 | 202 | { bool ok = true; |
203 | 203 | ok &= DivTestOne(); |
204 | 204 | ok &= DivTestTwo(); |
205 | return ok; | |
206 | } | |
205 | ok &= DivTestThree(); | |
206 | return ok; | |
207 | } |
0 | # $Id: makefile.am 3301 2014-05-24 05:20:21Z bradbell $ | |
0 | # $Id: makefile.am 3526 2014-12-29 21:56:45Z bradbell $ | |
1 | 1 | # ----------------------------------------------------------------------------- |
2 | 2 | # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | # |
90 | 90 | test_more.cpp \ |
91 | 91 | abs.cpp \ |
92 | 92 | acos.cpp \ |
93 | adfun_copy.cpp \ | |
93 | 94 | asin.cpp \ |
94 | 95 | assign.cpp \ |
95 | 96 | add.cpp \ |
130 | 131 | mul_eq.cpp \ |
131 | 132 | mul_level.cpp \ |
132 | 133 | mul_zero_one.cpp \ |
133 | ndebug.cpp \ | |
134 | 134 | near_equal_ext.cpp \ |
135 | 135 | neg.cpp \ |
136 | 136 | ode_err_control.cpp \ |
167 | 167 | vec_ad_par.cpp \ |
168 | 168 | vec_unary.cpp |
169 | 169 | |
170 | ndebug.$(OBJEXT): ndebug.cpp | |
171 | $(CXXCOMPILE) \ | |
172 | -DNDEBUG -c $(top_srcdir)/test_more/ndebug.cpp -o ndebug.$(OBJEXT) | |
173 | ||
174 | 170 | test: check |
175 | 171 | ./test_more |
101 | 101 | @CppAD_EIGEN_DIR_TRUE@ libeigen_a-cppad_eigen.$(OBJEXT) |
102 | 102 | libeigen_a_OBJECTS = $(am_libeigen_a_OBJECTS) |
103 | 103 | am__test_more_SOURCES_DIST = base_adolc.cpp ipopt_solve.cpp \ |
104 | alloc_openmp.cpp test_more.cpp abs.cpp acos.cpp asin.cpp \ | |
105 | assign.cpp add.cpp add_eq.cpp add_zero.cpp atan.cpp atan2.cpp \ | |
106 | base_alloc.cpp check_simple_vector.cpp checkpoint.cpp \ | |
107 | compare.cpp compare_change.cpp cond_exp.cpp cond_exp_ad.cpp \ | |
108 | copy.cpp cos.cpp cosh.cpp dbl_epsilon.cpp div.cpp div_eq.cpp \ | |
109 | div_zero_one.cpp erf.cpp exp.cpp extern_value.cpp \ | |
110 | extern_value.hpp for_hess.cpp for_sparse_jac.cpp forward.cpp \ | |
111 | forward_dir.cpp forward_order.cpp from_base.cpp fun_check.cpp \ | |
112 | jacobian.cpp limits.cpp log.cpp log10.cpp mul.cpp mul_eq.cpp \ | |
113 | mul_level.cpp mul_zero_one.cpp ndebug.cpp near_equal_ext.cpp \ | |
114 | neg.cpp ode_err_control.cpp optimize.cpp parameter.cpp \ | |
115 | poly.cpp pow.cpp pow_int.cpp print_for.cpp romberg_one.cpp \ | |
116 | rosen_34.cpp runge_45.cpp reverse.cpp rev_sparse_hes.cpp \ | |
117 | rev_sparse_jac.cpp rev_two.cpp simple_vector.cpp sin.cpp \ | |
118 | sin_cos.cpp sinh.cpp sparse_hessian.cpp sparse_jacobian.cpp \ | |
119 | sparse_vec_ad.cpp sqrt.cpp std_math.cpp sub.cpp sub_eq.cpp \ | |
120 | sub_zero.cpp tan.cpp test_vector.cpp track_new_del.cpp \ | |
121 | value.cpp vec_ad.cpp vec_ad_par.cpp vec_unary.cpp | |
104 | alloc_openmp.cpp test_more.cpp abs.cpp acos.cpp adfun_copy.cpp \ | |
105 | asin.cpp assign.cpp add.cpp add_eq.cpp add_zero.cpp atan.cpp \ | |
106 | atan2.cpp base_alloc.cpp check_simple_vector.cpp \ | |
107 | checkpoint.cpp compare.cpp compare_change.cpp cond_exp.cpp \ | |
108 | cond_exp_ad.cpp copy.cpp cos.cpp cosh.cpp dbl_epsilon.cpp \ | |
109 | div.cpp div_eq.cpp div_zero_one.cpp erf.cpp exp.cpp \ | |
110 | extern_value.cpp extern_value.hpp for_hess.cpp \ | |
111 | for_sparse_jac.cpp forward.cpp forward_dir.cpp \ | |
112 | forward_order.cpp from_base.cpp fun_check.cpp jacobian.cpp \ | |
113 | limits.cpp log.cpp log10.cpp mul.cpp mul_eq.cpp mul_level.cpp \ | |
114 | mul_zero_one.cpp near_equal_ext.cpp neg.cpp \ | |
115 | ode_err_control.cpp optimize.cpp parameter.cpp poly.cpp \ | |
116 | pow.cpp pow_int.cpp print_for.cpp romberg_one.cpp rosen_34.cpp \ | |
117 | runge_45.cpp reverse.cpp rev_sparse_hes.cpp rev_sparse_jac.cpp \ | |
118 | rev_two.cpp simple_vector.cpp sin.cpp sin_cos.cpp sinh.cpp \ | |
119 | sparse_hessian.cpp sparse_jacobian.cpp sparse_vec_ad.cpp \ | |
120 | sqrt.cpp std_math.cpp sub.cpp sub_eq.cpp sub_zero.cpp tan.cpp \ | |
121 | test_vector.cpp track_new_del.cpp value.cpp vec_ad.cpp \ | |
122 | vec_ad_par.cpp vec_unary.cpp | |
122 | 123 | @CppAD_ADOLC_TRUE@am__objects_1 = base_adolc.$(OBJEXT) |
123 | 124 | @CppAD_IPOPT_TRUE@am__objects_2 = ipopt_solve.$(OBJEXT) |
124 | 125 | @CppAD_OPENMP_TRUE@am__objects_3 = alloc_openmp.$(OBJEXT) |
125 | 126 | am_test_more_OBJECTS = $(am__objects_1) $(am__objects_2) \ |
126 | 127 | $(am__objects_3) test_more.$(OBJEXT) abs.$(OBJEXT) \ |
127 | acos.$(OBJEXT) asin.$(OBJEXT) assign.$(OBJEXT) add.$(OBJEXT) \ | |
128 | add_eq.$(OBJEXT) add_zero.$(OBJEXT) atan.$(OBJEXT) \ | |
129 | atan2.$(OBJEXT) base_alloc.$(OBJEXT) \ | |
130 | check_simple_vector.$(OBJEXT) checkpoint.$(OBJEXT) \ | |
131 | compare.$(OBJEXT) compare_change.$(OBJEXT) cond_exp.$(OBJEXT) \ | |
128 | acos.$(OBJEXT) adfun_copy.$(OBJEXT) asin.$(OBJEXT) \ | |
129 | assign.$(OBJEXT) add.$(OBJEXT) add_eq.$(OBJEXT) \ | |
130 | add_zero.$(OBJEXT) atan.$(OBJEXT) atan2.$(OBJEXT) \ | |
131 | base_alloc.$(OBJEXT) check_simple_vector.$(OBJEXT) \ | |
132 | checkpoint.$(OBJEXT) compare.$(OBJEXT) \ | |
133 | compare_change.$(OBJEXT) cond_exp.$(OBJEXT) \ | |
132 | 134 | cond_exp_ad.$(OBJEXT) copy.$(OBJEXT) cos.$(OBJEXT) \ |
133 | 135 | cosh.$(OBJEXT) dbl_epsilon.$(OBJEXT) div.$(OBJEXT) \ |
134 | 136 | div_eq.$(OBJEXT) div_zero_one.$(OBJEXT) erf.$(OBJEXT) \ |
138 | 140 | from_base.$(OBJEXT) fun_check.$(OBJEXT) jacobian.$(OBJEXT) \ |
139 | 141 | limits.$(OBJEXT) log.$(OBJEXT) log10.$(OBJEXT) mul.$(OBJEXT) \ |
140 | 142 | mul_eq.$(OBJEXT) mul_level.$(OBJEXT) mul_zero_one.$(OBJEXT) \ |
141 | ndebug.$(OBJEXT) near_equal_ext.$(OBJEXT) neg.$(OBJEXT) \ | |
143 | near_equal_ext.$(OBJEXT) neg.$(OBJEXT) \ | |
142 | 144 | ode_err_control.$(OBJEXT) optimize.$(OBJEXT) \ |
143 | 145 | parameter.$(OBJEXT) poly.$(OBJEXT) pow.$(OBJEXT) \ |
144 | 146 | pow_int.$(OBJEXT) print_for.$(OBJEXT) romberg_one.$(OBJEXT) \ |
261 | 263 | CXX_FLAGS_FADBAD = @CXX_FLAGS_FADBAD@ |
262 | 264 | CYGPATH_W = @CYGPATH_W@ |
263 | 265 | |
264 | # $Id: makefile.in 3497 2014-12-24 13:38:30Z bradbell $ | |
266 | # $Id: makefile.in 3526 2014-12-29 21:56:45Z bradbell $ | |
265 | 267 | # ----------------------------------------------------------------------------- |
266 | 268 | # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
267 | 269 | # |
472 | 474 | test_more.cpp \ |
473 | 475 | abs.cpp \ |
474 | 476 | acos.cpp \ |
477 | adfun_copy.cpp \ | |
475 | 478 | asin.cpp \ |
476 | 479 | assign.cpp \ |
477 | 480 | add.cpp \ |
512 | 515 | mul_eq.cpp \ |
513 | 516 | mul_level.cpp \ |
514 | 517 | mul_zero_one.cpp \ |
515 | ndebug.cpp \ | |
516 | 518 | near_equal_ext.cpp \ |
517 | 519 | neg.cpp \ |
518 | 520 | ode_err_control.cpp \ |
612 | 614 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add.Po@am__quote@ |
613 | 615 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_eq.Po@am__quote@ |
614 | 616 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_zero.Po@am__quote@ |
617 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adfun_copy.Po@am__quote@ | |
615 | 618 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloc_openmp.Po@am__quote@ |
616 | 619 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asin.Po@am__quote@ |
617 | 620 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assign.Po@am__quote@ |
652 | 655 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mul_eq.Po@am__quote@ |
653 | 656 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mul_level.Po@am__quote@ |
654 | 657 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mul_zero_one.Po@am__quote@ |
655 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ndebug.Po@am__quote@ | |
656 | 658 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/near_equal_ext.Po@am__quote@ |
657 | 659 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/neg.Po@am__quote@ |
658 | 660 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ode_err_control.Po@am__quote@ |
924 | 926 | uninstall-am |
925 | 927 | |
926 | 928 | |
927 | ndebug.$(OBJEXT): ndebug.cpp | |
928 | $(CXXCOMPILE) \ | |
929 | -DNDEBUG -c $(top_srcdir)/test_more/ndebug.cpp -o ndebug.$(OBJEXT) | |
930 | ||
931 | 929 | test: check |
932 | 930 | ./test_more |
933 | 931 |
0 | /* $Id: ndebug.cpp 2506 2012-10-24 19:36:49Z bradbell $ */ | |
1 | /* -------------------------------------------------------------------------- | |
2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-10 Bradley M. Bell | |
3 | ||
4 | CppAD is distributed under multiple licenses. This distribution is under | |
5 | the terms of the | |
6 | GNU General Public License Version 3. | |
7 | ||
8 | A copy of this license is included in the COPYING file of this distribution. | |
9 | Please visit http://www.coin-or.org/CppAD/ for information on other licenses. | |
10 | -------------------------------------------------------------------------- */ | |
11 | ||
12 | /* | |
13 | Tests that that expect NDEBUG to be defined. | |
14 | */ | |
15 | ||
16 | # include <cppad/cppad.hpp> | |
17 | ||
18 | namespace { | |
19 | // make sure that this function can be compiled | |
20 | bool ad_fun_copy(void) | |
21 | { bool ok = true; | |
22 | CppAD::ADFun<double> f; | |
23 | ||
24 | // This operation uses the ADFun copy constructor which is defined, | |
25 | // but should not be used | |
26 | CppAD::ADFun<double> g(f); | |
27 | ||
28 | ok &= (g.size_var() == 0); | |
29 | ||
30 | return ok; | |
31 | } | |
32 | } | |
33 | ||
34 | ||
35 | bool ndebug(void) | |
36 | { bool ok = true; | |
37 | ||
38 | ||
39 | return ok; | |
40 | } |
0 | /* $Id: rev_sparse_jac.cpp 2859 2013-05-28 06:03:21Z bradbell $ */ | |
0 | /* $Id: rev_sparse_jac.cpp 3526 2014-12-29 21:56:45Z bradbell $ */ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-13 Bradley M. Bell |
3 | 3 | |
532 | 532 | ok &= case_two(); |
533 | 533 | ok &= case_three(); |
534 | 534 | ok &= case_four(); |
535 | ok &= case_five(); | |
535 | 536 | |
536 | 537 | return ok; |
537 | 538 | } |
0 | /* $Id: test_more.cpp 3301 2014-05-24 05:20:21Z bradbell $ */ | |
0 | /* $Id: test_more.cpp 3526 2014-12-29 21:56:45Z bradbell $ */ | |
1 | 1 | /* -------------------------------------------------------------------------- |
2 | 2 | CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
3 | 3 | |
18 | 18 | // prototype external compiled tests (this line expected by bin/new_test.sh) |
19 | 19 | extern bool abs(void); |
20 | 20 | extern bool Acos(void); |
21 | extern bool adfun_copy(void); | |
21 | 22 | extern bool Add(void); |
22 | 23 | extern bool AddEq(void); |
23 | 24 | extern bool AddZero(void); |
60 | 61 | extern bool mul_level(void); |
61 | 62 | extern bool MulEq(void); |
62 | 63 | extern bool MulZeroOne(void); |
63 | extern bool ndebug(void); | |
64 | 64 | extern bool NearEqualExt(void); |
65 | 65 | extern bool Neg(void); |
66 | 66 | extern bool ode_err_control(void); |
132 | 132 | // run external compiled tests (this line expected by bin/new_test.sh) |
133 | 133 | ok &= Run( abs, "abs" ); |
134 | 134 | ok &= Run( Acos, "Acos" ); |
135 | ok &= Run( adfun_copy, "adfun_copy" ); | |
135 | 136 | ok &= Run( Add, "Add" ); |
136 | 137 | ok &= Run( AddEq, "AddEq" ); |
137 | 138 | ok &= Run( AddZero, "AddZero" ); |
169 | 170 | ok &= Run( mul_level, "mul_level" ); |
170 | 171 | ok &= Run( MulEq, "MulEq" ); |
171 | 172 | ok &= Run( MulZeroOne, "MulZeroOne" ); |
172 | ok &= Run( ndebug, "ndebug" ); | |
173 | 173 | ok &= Run( NearEqualExt, "NearEqualExt" ); |
174 | 174 | ok &= Run( Neg, "Neg" ); |
175 | 175 | ok &= Run( ode_err_control, "ode_err_control"); |
0 | 0 | #! /bin/bash -e |
1 | # $Id: test_one.sh.in 3116 2014-02-24 21:44:26Z bradbell $ | |
1 | # $Id: test_one.sh.in 3526 2014-12-29 21:56:45Z bradbell $ | |
2 | 2 | # ----------------------------------------------------------------------------- |
3 | 3 | # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell |
4 | 4 | # |
83 | 83 | cmd="$cmd $cflags $libs" |
84 | 84 | fi |
85 | 85 | done |
86 | if [ "$1" == 'ndebug.cpp' ] | |
87 | then | |
88 | cmd="$cmd -DNDEBUG" | |
89 | fi | |
90 | 86 | echo $cmd |
91 | 87 | $cmd |
92 | 88 | echo "./test_one.exe" |