--------------------------------------------- lines 6-289 of file: xrst/whats_new/2020.xrst --------------------------------------------- {xrst_begin 2020} {xrst_spell bitbucket coinbrew config dd gcc gitlab int lapack libs mm msg multi ndebug pc pkg sudo suitesparse } Release Notes for 2020 ###################### mm-dd ***** 12-22 ===== #. If :ref:`run_cmake.sh@build_type` was debug, ipopt was creating a ``debug.out`` file. This file is no longer being created. #. Fix new warning generated by git-2.29.2 pull command. #. Build external packages in ``external`` sub-directory instead of ``build/external`` , so one can remove the ``build`` directory without possibly having to completely rebuild the externals. #. Better error messaging if an error occurs during :ref:`example_install.sh-name` . 11-30 ===== #. Add ``/opt/local`` to the list of prefixes that are searched for ``cholmod.h`` . This was necessary to get the install to work on a Mac system that uses ports. #. Improve the error messaging when :ref:`example_install.sh-name` fails. 11-23 ===== Fix the pkg-config ``cppad_mixed.pc`` file by separating the private part of the libs and requires fields. 11-21 ===== #. Remove use of sudo when running :ref:`example_install.sh-name` as root. #. Use ``apt-get`` instead of ``apt`` to list installed debian packages (this avoids a warning when running example_install.sh). #. Fix searching for :ref:`install_unix@System Requirements@suitesparse` library on debian systems. (It seems debian recently added the hardware type to the library path.) #. Use multi-process make to speed up the :ref:`example_install.sh-name` , and ``bin/ipopt_install.sh`` when more that one processor is available. 11-19 ===== #. The :ref:`example_install.sh-name` script was modified so that on Mac OS it uses the system version of lapack and gcc (instead of using the extra package manager to install them). #. The :ref:`run_cmake.sh-name` script, which is used by ``example_install.sh`` , was modified to automatically sets ``PKG_CONFIG_PATH`` . 11-18 ===== Extend :ref:`example_install.sh-name` so it also works on mac with `port `_. 11-05 ===== Fix some problems with :ref:`example_install.sh-name` on mac OS using `brew `_. 11-04 ===== There was a problem with the :ref:`make check` command when ``cholmod.h`` was in the include directory (instead of a ``suitesparse`` subdirectory). This has been fixed. 11-03 ===== #. Change *cppad_prefix* to :ref:`run_cmake.sh@cmake_install_prefix` . #. Remove *eigen_prefix* from :ref:`run_cmake.sh-name` . The example install script ``bin/install_eigen.sh`` uses the prefix *cmake_install_prefix/eigen* to install ipopt. #. The file :ref:`run_cmake.sh@cmake_libdir@cppad_mixed.pc` was added to the installation. #. There were some unused variable warnings in the files ``cholmod_factor.cpp`` and ``ldlt_cholmod.cpp`` were fix when :ref:`run_cmake.sh@build_type` was ``release`` . These have been fixed. 11-02 ===== Remove *ipopt_prefix* from :ref:`run_cmake.sh-name` . The example ``bin/install_ipopt.sh`` uses the prefix :ref:`run_cmake.sh@cmake_install_prefix` to install ipopt. 10-31 ===== Extend :ref:`example_install.sh-name` so that it handles mac OS use brew. 10-21 ===== Advance to cppad-20201021 (this fixes a warning on some compilers). 10-10 ===== Fix a problem with ``bin/install_ipopt.sh`` . To be specific, it needs to run ``get.ASL`` and ``get.Mumps`` to get supplements to the ASL and Mumps git repositories. 10-06 ===== #. Change ``bin/install_ipopt.sh`` to install a shared version of the corresponding libraries (even if debug is enabled). #. Change the ``cppad_mixed`` base class :ref:`base_class@destructor` to be virtual so that deleting a derived class object calls it. This avoid compiler warnings under certain circumstances. #. Advance to eigen-3.3.7. One notable part of this conversion is that ``Eigen::Index`` is no longer ``int`` . The examples and tests were changed to remove this assumption. 08-31 ===== Fix a bug in the computation of the first derivative of the fixed effects objective when :ref:`run_cmake.sh@ldlt_cholmod` was ``yes`` . To be more specific, the permutation for the LDLT factor was being used where the inverse permutation was required. 08-21 ===== The following improvements we made to the install process: #. Fix the check of *ipopt_prefix* in ``bin/example_install.sh`` . #. Fix ``bin/install_eigen.sh`` because eigen moved from bitbucket to gitlab. #. Change ``bin/install_ipopt.sh`` to directly run configure instead of using ``coinbrew`` . 07-02 ===== Add the *error_msg* result to the :ref:`sample_fixed` and :ref:`sample_random` routines. 06-30 ===== #. **API Change** : The last (6th) argument to the :ref:`sample_fixed-name` function (the optimal random effects *random_opt* ) is no longer being used and has been removed. #. Improve error message when fixed effects information matrix is not positive definite during a ``sample_fixed`` call. In addition, always make this condition a fatal error. #. Change :ref:`sample_fixed.cpp-name` , :ref:`capture_xam.cpp-name` , and :ref:`ar1_xam.cpp-name` to use :ref:`hes_fixed_obj-name` (instead of the deprecated routine ``information_mat`` ) to calculation the fixed effects information matrix :ref:`hes_fixed_obj-name` . 06-07 ===== #. Advance to ipopt-3.13.2 and cppad-20200606. #. Change the CppAD options used for :ref:`optimizing cppad functions` . This is intended to be an improvement for large problems, but the :ref:`ar1_xam.sh-name` and :ref:`capture_xam.sh-name` speed tests did not show much change. #. The ``ndebug_defined`` output was added to the :ref:`capture_xam.cpp` and :ref:`ar1_xam.cpp` examples. #. The following speed test parameters were increased: the :ref:`ar1_xam.cpp@Command Arguments@number_random` effects in :ref:`ar1_xam.sh-name` , the :ref:`capture_xam.cpp@Command Arguments@number_random` effects in :ref:`capture_xam.sh-name` , the :ref:`capture_xam.cpp@Command Arguments@number_locations` effects in :ref:`capture_xam.sh-name` 05-30 ===== Some more improvements were made to the ``adaptive`` and ``trace-adaptive`` :ref:`optimize_fixed@fixed_ipopt_options@derivative_test` options. To be specific, the scale of the function values (derivative values) were taking into account when checking derivatives (Hessians). 05-29 ===== Add an error message when the Hessian with respect to the random effects is not positive definite during the initialization of the second order approximation for the objective, when :ref:`derived_ctor@quasi_fixed` is false. 05-27 ===== The ``adaptive`` and ``trace-adaptive`` :ref:`optimize_fixed@fixed_ipopt_options@derivative_test` options were improved. To be specific, the larger step size was used unless significant improvement is achieved by a smaller step size. This reduces the amount of numerical round off to consider in the comparison. 03-28 ===== The release version of the :ref:`hes_random_obj-name` routine would crash when there were no random effects. This has been fixed. 03-25 ===== The debug version of the :ref:`hes_random_obj-name` routine would fail with an assert where there were no random effects. This has been changed so it returns an empty matrix (the same as the release version). 03-23 ===== Change the notation 'total objective' to :ref:`fixed effects objective` and define the :ref:`theory@Random Likelihood, f(theta, u)@Random Effects Objective` . 03-22 ===== #. The specifications for the :ref:`sample_random@Covariance` of the random effect computed by ``sample_random`` was edited. #. :ref:`information_mat-name` was deprecated and replaced by :ref:`hes_fixed_obj-name` . #. The :ref:`hes_random_obj-name` routine was added. 03-18 ===== It is no longer necessary to have the problem Lagrange multipliers in the :ref:`sample_fixed@solution` argument to ``sample_fixed`` . 03-15 ===== Change the :ref:`sample_fixed-name` routine to ignore all the constraints except where the lower and upper limits for a fixed effect are equal, :ref:`sample_fixed@Constant Fixed Effects` . This is an over estimate of the variance but is faster to calculate. API Change ========== The new :ref:`sample_fixed-name` routine may result in samples that are not within the lower and upper limits for the fixed effects; :ref:`sample_fixed@fixed_lower` and :ref:`sample_fixed@fixed_upper` . You may want to modify these samples to be within these limits before you use them. {xrst_end 2020}