Prev | Next | whats_new_09 |
ADFun
assignment operator
was changed so that it now copies forward mode
Taylor coefficients and sparsity pattern information.
(This assignment operator was added on 10-24
.)
You can use capacity_order
to delete the Taylor coefficients
before copying them.
Two new functions were added so that you can query and delete the
forward mode sparsity information;
see
size_forward_bool
and
size_forward_set
.
Add the following functions:
size_op
,
size_op_arg
,
and
size_op_seq
.
In addition, improve and extend the
fun_property.cpp
example.
ipopt_nlp_ode_check.cpp
Split out Ipopt driver for ODE example ipopt_nlp_ode_run.hpp
.
Add the speed testing problem ipopt_cppad/ipopt_ode_speed.cpp
.
ipopt_nlp_ode_problem.hpp
,
ipopt_nlp_ode_simple.hpp
,
ipopt_nlp_ode_fast.hpp
,
and
ipopt_nlp_ode_check.cpp
.
ipopt_nlp_ode_simple
and
ipopt_nlp_ode_fast
.
ipopt_cppad_simple.cpp
to ipopt_nlp_get_started.cpp
,
created the example ipopt_nlp_ode_simple.hpp
,
and split and ipopt_cppad_ode.cpp
into ipopt_nlp_ode_fast.hpp
and ipopt_nlp_ode_check.cpp
.
ADFun
object class.
This makes a copy of the entire operation sequence in another
function object.
The intention is that the two functions objects can do calculations in
parallel.
In addition,
CppAD now check for the ADFun
copy constructor
and generates an error message if it is used.
CheckSimpleVector
.
packed
parameter for the sparsity routines
ForSparseJac
, RevSparseJac
, and RevSparseHes
(introduced on 09-26
) has been removed.
It has been replaced by changing the argument and return values
to be more versatile.
To be specific, they can now represent sparsity
using vectors of std::set<size_t>
instead of just as vectors of bool
(see sparsity patterns
).
ForSparseJac
with
packed
did not work.
Thus, this could be considered a bug fix.
packed
parameter to
ForSparseJac
and RevSparseJac
.
If
packed
is false,
a sparse instead of packed representation is used
during the calculations of sparsity patterns.
The sparse representation
should be faster, and use less memory, for very large sparse Jacobians.
The functions ForSparseJac
and RevSparseJac
return packed representations.
The plan is to eventually provide new member functions that return
sparse representations.
Begin Merge
of changes from the directory branches/optimize
in the CppAD subversion repository.
The subheading dates below represent when the correspond change was made in
branches/optimize
.
NDEBUG
is defined).
In addition, all of the
speed/cppad/*.cpp
tests
now check and use the speed test
optimize
flag.
retape
speed test option.
test_more/optimize.cpp
.
Some bugs have been fix and the routine can
now be trusted to work correctly.
The function
size_VecAD
function was added
so that the user could see the VecAD
vectors
and elements corresponding to an operation sequence.
End Merge
Fix bug in overnight build where HTML version and entire documentation
as one page versions of documentation were not being built.
Fix missing new line under
Using Value
heading for simple vector documentation.
Improve the vec_ad.cpp
user example.
SecondOrderReverse
in the file test_more/vec_ad.cpp
.
Add developer documentation for tape evaluation of the
VecAD load operations
(a load operation accesses an element of the vector but
does not change it.)
Fix isnan
undefined in example/cond_exp.cpp
error
introduced on 07-04 change.
Begin Merge
of changes from the directory branches/sweep
in the CppAD subversion repository.
The subheading dates below represent when the correspond change was made in
branches/sweep
.
SecondOrderReverse
in the file test_more/cond_exp.cpp
.
A simpler and useful example was provided for
conditional expressions
;
see cond_exp.cpp
.
introduction/exp_apx/exp_eps_for2.cpp
(found by valgrind).
Add developer doxygen documentation of
tape evaluation for multiplication and division operators.
End Merge
openmp/run.sh
test.
Changed speed_example.cpp
to omit the speed_test
from
the correctness result.
In stead, a message is printed explaining that timing tests need
to be run without a lot of other demands on the system.
IpIpoptApplication.hpp
.
This has been fixed.
Fix conflict between CppAD's use of config.h preprocessor symbols
and other packages use of the same symbol names.
not_complex_ad.cpp
because the
default constructor
for an AD object has an unspecified value.
This has been fixed for the complex type by changing the default constructor
to use value zero.
(The not_complex_ad.cpp
example has been removed;
see complex FAQ
.)
not_complex_ad.cpp
problem above also fixed a warning
generated by valgrind
.
Now valgrind
runs the CppAD example/example
program
with out any warning or error messages.
In addition, a minor initialization error was fixed in the
test_more/jacobian.cpp
routine so now
valgrind
also runs the CppAD test_more/test_more
program
with out any warnings or error messages.
CPPAD_TEST_VECTOR
,
Forward
,
Independent
,
Jacobian
NearEqual
,
Reverse
.
Prev
and Next
buttons at the top of the documentation
to the beginning so that their position does not change between sections.
This makes it easier to repeatedly select this links.
cppad/local/op_code.hpp
to avoid incorrect warning by
g++ version 4.3.2 when building pycppad
(a python interface to CppAD).
Previously, CppAD speed and comparison tests used Adolc-1.10.2.
The version used in the tests has been upgraded to
Adolc-2.0.0.
A discussion has been added to the documentation for Jacobian
about its use of
forward or reverse
mode depending on which it estimates is more efficient.
A minor typo has been fixed in the description of
W(t, u)
in reverse_any
.
To be specific,
@(@
o ( t^{p-1} ) * t^{1-p} \rightarrow 0
@)@
has been replaced by
@(@
o ( t^{p-1} ) / t^{1-p} \rightarrow 0
@)@.