---------------------------------------------
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}