--------------------------------------------- lines 6-313 of file: xrst/whats_new/2018.xrst --------------------------------------------- {xrst_begin 2018} {xrst_spell cxx dd gcc grep hpp mm multi runtime suitesparse txt valgrind wconversion wpedantic wshadow } Release Notes for 2018 ###################### mm-dd ***** 10-08 ===== #. Remove partial Newton step wish list item (implemented on :ref:`2018-06-30<2018@mm-dd@06-30>` ). #. Add :ref:`multi-threading` wish list item. 09-25 ===== Advance to ``cppad-20180925`` . This enabled us to remove the need for two and three levels of AD; i.e. ``a2_double`` and ``a3_double`` . The arguments and results for the :ref:`ran_likelihood-name` function are now :ref:`typedef@Vector Types@a1_vector` objects instead of ``a3_vector`` objects. 08-30 ===== **API:** Remove the user defined versions of the Jacobian and Hessian of the random likelihood with respect to the random effects; ``ran_likelihood_jac`` and ``ran_likelihood_hes`` . These functions are no longer part of the API and are not used (even if defined by the user). 08-27 ===== Advance to ``cppad-20180827`` 08-22 ===== **API:** Change the type ``CppAD::mixed::sparse_rcv`` to :ref:`typedef@Sparse Types@d_sparse_rcv` to better be more consistent with the other CppAD mixed :ref:`type definitions` . This will require some minor changes to the user's code. For example, in the constructor for the derived class, the type for :ref:`A_rcv` has changed from ``sparse_rcv`` to ``d_sparse_rcv`` . 08-20 ===== Advance to ``cppad-20180820`` (this version has optimization of dynamic parameters). 08-18 ===== #. Advance to ``cppad-20810818`` . #. Use Cppad dynamic parameters (new feature) to speed up the computation of the Hessian of the objective (when :ref:`derived_ctor@quasi_fixed` is true). Cppad needs to improve its optimization of dynamic parameter calculations. For example, the optimized tapes that compute the Hessian of :ref:`H(beta, theta, u)` are larger when ( *theta* , *u* ) are dynamic parameters than when they are variables. These tapes are about the same size before being optimized. 08-09 ===== Advance to ``cppad-20810809`` . This fixed valgrind warnings and a bug in cppad. 08-08 ===== Advance to ``cppad-20810730`` . This resulted is and speed improvement for the current version of the :ref:`ar1_xam.sh-name` and :ref:`capture_xam.sh-name` tests. 07-25 ===== #. Add discussion of why the default *eigen_prefix* in ``bin/run_cmake.sh`` is different from the other prefixes. #. Change the name ``cppad_cxx_flags`` to :ref:`run_cmake.sh@extra_cxx_flags` . #. Improve discussion of the :ref:`install_unix@Paths` needed during and after the install process. #. Improve detection (during the :ref:`install` ) of when the default settings for :ref:`run_cmake.sh@extra_cxx_flags` do not work. 07-12 ===== #. The fixed effects optimization will not try to backup and recover when :ref:`optimize_fixed@fixed_ipopt_options@max_iter` is minus one for the fixed effects. In addition, when running the debug (release) version, errors during :ref:`initialize-name` will result in an runtime error (call to :ref:`base_class@User Defined Functions@fatal_error` ). This will gives the user the choice to seem the source code where the error was detected when :ref:`run_cmake.sh@build_type` is ``debug`` . #. Improve documentation for :ref:`derived_ctor@quasi_fixed` . 06-30 ===== #. Implement the partial Newton step update in definition of the second order accurate approximation for the optimal random effects :ref:`W(beta, theta, u)` . This should lead to a large improvement when the Hessian of the random likelihood with respect to the random effects is sparse. #. The ``checkpoint_newton_step`` setting in :ref:`run_cmake.sh-name` has been removed. 06-29 ===== Advance to ``cppad-20180627`` . 06-20 ===== Advance to ``cppad-20180620`` . This should use increase speed and use less memory during the optimization of cppad functions; see :ref:`run_cmake.sh@optimize_cppad_function` . 06-14 ===== #. Some systems installs of :ref:`install_unix@System Requirements@suitesparse` install ``cholmod.h`` in the systems include path instead of a ``suitesparse`` subdirector of the system include path. The install of ``cppad_mixed`` now automatically detects both these cases. #. Advance to ``cppad-20180613`` . This should use less memory during the optimization of cppad functions; see :ref:`run_cmake.sh@optimize_cppad_function` . 06-09 ===== #. Change the ``suitesparse`` library from a special requirement (using ``bin/install_suitesparse.sh`` ) to a :ref:`system requirement` . #. The ``replace`` option for the *existing* argument to ``bin/example_install.sh`` was not working. This has been fixed. 06-04 ===== Advance to using :ref:`cppad-20180604` . This will probably have no effect but might reduce the amount of memory ``cppad_mixed`` uses. 05-21 ===== Advance to using :ref:`cppad-20180521` . This should reduce the amount of memory ``cppad_mixed`` uses. 05-07 ===== Advance to using :ref:`cppad-20180507` . This should both increase the speed of ``cppad_mixed`` and reduce the amount of memory it uses. 05-03 ===== Advance to using :ref:`cppad-20180503` . This should reduce the amount of memory used by ``cppad_mixed`` , without adversely affecting its speed. 04-06 ===== The ``limited_memory_max_history`` setting used to be forbidden as an :ref:`fixed_ipopt_option` because it was chosen by ``cppad_mixed`` . This has been changed and now the user can choose this ipopt option. 03-22 ===== In the wish list, remove the Student's t item and change the sparse_matrix item. 03-10 ===== The install :ref:`install_unix@Download` procedure was changed to use the following command to determine the version number: :: grep '^SET(cppad_mixed_version' CMakeLists.txt 02-20 ===== Some function declarations for friends in ``cppad_mixed.hpp`` were missing. This has been fixed. 02-12 ===== Add more discussion of :ref:`optimize_fixed@fixed_scale` . 02-11 ===== Avoid warning: 'obj_factor_scaled' may be used uninitialized in eval_h on some systems. 02-10 ===== #. The ``hide_ipopt_scaling`` option was removed from the :ref:`cmake command` and the scaling is always hidden from ipopt. #. Improve discussion of the :ref:`optimize_fixed@fixed_scale` argument to the ``optimize_fixed`` function. 02-08 ===== There was a bug in computing the second derivative of the objective when the :ref:`fix_likelihood-name` had absolute value terms in its :ref:`problem@Negative Log-Density Vector` . This has been fixed. 02-07 ===== #. Change the ``adaptive`` and ``trace-adaptive`` :ref:`optimize_fixed@fixed_ipopt_options@derivative_test` options so they check that components of the Jacobian, evaluated by ``eval_jac_g`` in ``ipopt_fixed_eval_jac_g`` , that are not in the sparsity pattern, are zero. #. Change adaptive derivative check to test Hessian evaluated by ``eval_h`` in ``ipopt_fixed_eval_h`` , when :ref:`derived_ctor@quasi_fixed` is false. #. Change the ipopt ``eval_h`` documentation to specify either upper or lower triangle; e.g., see *iRow* in ``ipopt_xam_eval_h`` . 02-05 ===== #. The scaling of the fixed effects optimization has been changed to not include components of the fixed effects for which the lower and upper limits are equal; see :ref:`optimize_fixed@fixed_scale` . #. Reduce the changes of a random failure (false negative result) during the testing of :ref:`lasso.cpp-name` . 01-23 ===== There was a mistake in the removal of *use_atomic_cholesky* ; see 01-21 below. This has been fixed. 01-22 ===== Improve the instructions for combining both :ref:`run_cmake.sh@Debug and Release` versions of cppad_mixed on the same system. 01-21 ===== Remove the *use_atomic_cholesky* option from the :ref:`cmake` script. 01-15 ===== The flags ``-Wpedantic`` , ``-Wshadow`` and ``-Wconversion`` were added to the default value of :ref:`run_cmake.sh@extra_cxx_flags` . In addition, fix the corresponding warning messages generated by gcc during the :ref:`install_unix@cppad_mixed` part of the instal process. 01-14 ===== Change the ``ran_likelihood_hes.cpp`` example to use the offset log normal distribution and eliminate the chance of random failure during its test. {xrst_end 2018}