# -------------------------------------------------------------------
# ckbs: Constrained Kalman-Bucy Smoother Program: Copyright (C) 2006
# Authors: Bradlely Bell: bradbell at washington dot edu
# Gianluigi Pillonetto: giapi at dei dot unipd dot it
# License: GNU General Public License Version 2
# -------------------------------------------------------------------
$begin whatsnew$$
$rmark !$$
$spell
yyyymmdd
yyyy mm dd
ckbs
Matlab
yy-mm-dd
rinv
itr
qinv
Han
$$
$section Changes and Additions to ckbs$$
$head Introduction$$
This section contains a list of changes to
ckbs (in reverse order by date).
Its purpose is to assist you in learning about
changes between versions.
$head 10-02-28$$
Change $cref/download/ckbs/Download/$$ instructions
to correspond $href%http://www.coin-or.org%COIN-OR%$$ distribution
instead of form
$href%http://www.seanet.com/~bradbell%Brad Bell's home page%$$.
$head 07-09-02$$
The $cref/ckbs_nonlinear/$$ algorithm has been modified
to conform with the global convergence theory of Burke and Han.
This involved adding the exact penalty parameter $latex \alpha$$
which is included in the trace and $italic info$$ return.
$head 07-08-31$$
In the case where the constraints were not active,
the $code ckbs_affine$$ return value $cref/uOut/ckbs_affine/uOut/$$
was a three dimensional array instead of a matrix.
This has been fixed.
$head 06-11-05$$
Fix plotting the wrong variables in constrained case for
$cref/nonlinear_ok_box.m/$$.
$pre
$$
Improve the documentation of the initial state estimate in
$cref/g_fun/ckbs_nonlinear/g_fun/$$ and
$cref/qinv/ckbs_nonlinear/qinv/$$ for $code ckbs_nonlinear$$.
$pre
$$
Improve the documentation of the initial state estimate in
$cref/g_fun/ckbs_nonlinear/g_fun/$$ and
$cref/qinv/ckbs_nonlinear/qinv/$$ for $code ckbs_nonlinear$$.
$head 06-11-03$$
The order of the variables in the state vector
for $cref/nonlinear_ok_box.m/$$ and
for $cref/nonlinear_ok_sin.m/$$
was changed
to group each component of velocity with the corresponding position
(instead of grouping position with position and velocity with velocity).
This made the variance matrix $latex Q_k$$ block diagonal
(simpler).
$head 06-10-24$$
The fonts got misaligned in the $code ckbs_affine$$
$cref/syntax/ckbs_affine/Syntax/$$ documentation.
This has been fixed.
$head 06-10-20$$
The $cref/ckbs_nonlinear/$$ implementation was greatly simplified
using the fact that $cref/ckbs_affine/$$ no longer requires a feasible
starting point.
This removed the need for an augmented problem and hence the
$cref/info/ckbs_nonlinear/info/$$ return value from $code ckbs_nonlinear$$
no longer has a penalty parameter; i.e., it has one less value per row.
$pre
$$
$cref/all_ok.m/$$ was extended so that if no argument is provided,
only the quick tests are run.
$head 06-10-19$$
The $cref/ckbs_affine/$$ routine has been improved so that it no
longer requires a feasible input point
so the input argument $italic xIn$$ has been removed.
Since the sequence of iterates is no longer necessarily feasible,
the $cref/info/ckbs_affine/info/$$ return value now has been changed
so that it now includes a measure of feasibility.
The input argument $cref/max_itr/ckbs_affine/max_itr/$$
has been added to $code ckbs_affine$$.
The $cref/affine_ok_box.m/$$ example has been changed to use the new
meaning for the arguments and return values of $code ckbs_affine$$.
$pre
$$
The $italic itr_out$$ return value has been removed from the
$cref/ckbs_nonlinear/$$ syntax.
It was the same as $syntax%size(%info%, 1)%$$.
The following examples have been changed to remove the use of $italic itr_out$$
in the calls to $code ckbs_nonlinear$$:
$cref/nonlinear_ok_simple.m/$$,
$cref/nonlinear_ok_box.m/$$,
$cref/nonlinear_ok_sin.m/$$.
$pre
$$
The implementation of $cref/ckbs_nonlinear/$$ has been changed to use
the new calling sequence to $cref/ckbs_affine/$$ (this is implementation
detail and does not affect the user).
$head 06-10-13$$
The line search in $cref/ckbs_affine/$$ had a bug where the sign
of the condition it was checking was reversed. This has been changed.
In addition, the minimum line search step size in the sub-problem
was added to the $cref/info/ckbs_nonlinear/info/$$ return value
for $cref/ckbs_nonlinear/$$.
$pre
$$
There was a syntax error in $cref/nonlinear_ok_simple.m/$$ that
caused a problem in Matlab!, but not in octave.
This has been fixed.
$head 06-10-05$$
$list number$$
Matlab! does not combine character matrices with different numbers
of columns.
A debugging message assignment in $code ckbs_nonlinear.m$$
was removed to avoid this.
$lnext
Documentation for missing data values was added to
$cref/rinv/ckbs_nonlinear/rinv/$$.
$lnext
Some minor Matlab compatibility problems
in the files
$code test/nonlinear_ok_box.m$$ and
$code test/nonlinear_ok_sin.m$$ were fixed.
$lnext
The directory created when the
$cref/download file/ckbs/Download/Release Tarballs/$$ was extracted
was $code ckbs$$ instead of $syntax%ckbs-%yy%-%mm%-%dd%$$.
This has been fixed.
$lnext
The $cref/utility/$$ section,
and all its subsections,
were missing from the documentation.
$lnext
The number of input arguments and output values for
$cref/ckbs_nonlinear/$$ has been changes to allow for
control of the number of iterations.
$lnext
Line search failure in $cref/ckbs_nonlinear/$$ was converted from
an error to a warning.
$lend
$head 06-10-01$$
$list number$$
The $cref/test_path.m/$$ function was added so that
it is easier to run a single test at the command line
(you need to run this function first).
$lnext
A tracing argument called $italic level$$ was added to
$cref/ckbs_nonlinear/$$.
This tracing was turned on in the
$cref/nonlinear_ok_box.m/$$ example.
$lnext
The nonlinear constraint example
$cref/nonlinear_ok_sin.m/$$ was added.
It demonstrates significant improvement by
the inclusion of the constraints.
$lnext
The $italic draw_plot$$ argument to the $cref/nonlinear_ok_box.m/$$ example
was documented.
$lnext
The $italic quick$$ argument was added to $cref/all_ok.m/$$.
$lnext
The files
$code test/nonlinear_ok_sin.r$$ and
$code test/nonlinear_ok_box.r$$ were
added to the distribution.
(These are R source code files that are used to make plots from the
corresponding example output files.)
$lend
$head 06-09-30$$
The function $code ckbs$$ has been changed to
$cref/ckbs_nonlinear/$$. This enables the
$cref/ckbs/$$ section to refer to the
documentation for the entire system.
$end