Prev Next whats_new_19

@(@\newcommand{\W}[1]{ \; #1 \; } \newcommand{\R}[1]{ {\rm #1} } \newcommand{\B}[1]{ {\bf #1} } \newcommand{\D}[2]{ \frac{\partial #1}{\partial #2} } \newcommand{\DD}[3]{ \frac{\partial^2 #1}{\partial #2 \partial #3} } \newcommand{\Dpow}[2]{ \frac{\partial^{#1}}{\partial {#2}^{#1}} } \newcommand{\dpow}[2]{ \frac{ {\rm d}^{#1}}{{\rm d}\, {#2}^{#1}} }@)@
Changes and Additions to CppAD During 2019

01-18
The documentation for atomic_three , and its subsections, was improved.

01-17
The arguments parameter_x and type_x were included for all the atomic_three virtual functions.

01-16
More improvements, and bug fixes, in the optimization of atomic operations. This results in a reduction in the number of parameters size_par and the number of variables size_var .

01-15
Fix a bug in the optimization of atomic_three operations with dynamic parameters.

01-14
  1. The rev_depend call back function was added to atomic_three class. This enables one to optimize functions that use atomic_three operations; see the rev_depend.cpp example.
  2. The ability to optimize functions was extended to chkpoint_two operations; e.g., a call to optimize was added at the end of the get_started.cpp example.
  3. The chkpoint_one class was deprecated, use chkpoint_two instead.


01-06
One of the two atomic matrix multiply examples was converted from using atomic_two to atomic_three_mat_mul.cpp . This conversion made it clear that the type_x argument needed to be included in the jac_sparsity and hes_sparsity functions.

01-05
Merge in the atomic branch. This completed wish_list item for the new atomic function API; see atomic_three . This is an improvement over the atomic_two interface, which used the atomic_base class and has been deprecated. In addition the following changes were included:
  1. Move the checkpoint examples below the checkpoint documentation.
  2. A phantom parameter, at index zero, was added; see size_par .
  3. There appears to have been a bug in put_con_par (not tested for) whereby a constant parameter might match a dynamic parameter (and get changed). This has been fixed.
  4. There was a mistake in the check_variable_dag routine whereby the operator LeppOp checked a parameter index as if it were a variable index. This has been fixed.


01-11
Merge in the chkpoint branch.
  1. This created the chkpoint_two class as a replacement for the chkpoint_one class. This new checkpoint class takes advantage of dynamic parameters and can be used with base2ad .
  2. While creating the chkpoint_two class, a problem was discovered in the atomic_three class. To be specific, it does not yet work with optimize . A reverse dependency analysis is the proper way to fix this. The atomic_three type member function does a forward dependency analysis and so its name was changed from type to for_type.

Input File: omh/appendix/whats_new/19.omh