1 | # ------------------------------------------------------------------- |
---|
2 | # ckbs: Constrained Kalman-Bucy Smoother Program: Copyright (C) 2006 |
---|
3 | # Authors: Bradlely Bell: bradbell at washington dot edu |
---|
4 | # Gianluigi Pillonetto: giapi at dei dot unipd dot it |
---|
5 | # License: GNU General Public License Version 2 |
---|
6 | # ------------------------------------------------------------------- |
---|
7 | $begin whatsnew$$ |
---|
8 | $rmark !$$ |
---|
9 | $spell |
---|
10 | ckbs |
---|
11 | Matlab |
---|
12 | yy-mm-dd |
---|
13 | rinv |
---|
14 | itr |
---|
15 | qinv |
---|
16 | Han |
---|
17 | $$ |
---|
18 | |
---|
19 | $section Changes and Additions to ckbs$$ |
---|
20 | |
---|
21 | $head Introduction$$ |
---|
22 | This section contains a list of changes to |
---|
23 | ckbs (in reverse order by date). |
---|
24 | Its purpose is to assist you in learning about |
---|
25 | changes between versions. |
---|
26 | |
---|
27 | $head 07-09-02$$ |
---|
28 | The $cref/ckbs_nonlinear/$$ algorithm has been modified |
---|
29 | to conform with the global convergence theory of Burke and Han. |
---|
30 | This involved adding the exact penalty parameter $latex \alpha$$ |
---|
31 | which is included in the trace and $italic info$$ return. |
---|
32 | |
---|
33 | $head 07-08-31$$ |
---|
34 | In the case where the constraints were not active, |
---|
35 | the $code ckbs_affine$$ return value $cref/uOut/ckbs_affine/uOut/$$ |
---|
36 | was a three dimensional array instead of a matrix. |
---|
37 | This has been fixed. |
---|
38 | |
---|
39 | $head 06-11-05$$ |
---|
40 | Fix plotting the wrong variables in constrained case for |
---|
41 | $cref/nonlinear_ok_box.m/$$. |
---|
42 | $pre |
---|
43 | |
---|
44 | $$ |
---|
45 | Improve the documentation of the initial state estimate in |
---|
46 | $cref/g_fun/ckbs_nonlinear/g_fun/$$ and |
---|
47 | $cref/qinv/ckbs_nonlinear/qinv/$$ for $code ckbs_nonlinear$$. |
---|
48 | $pre |
---|
49 | |
---|
50 | $$ |
---|
51 | Improve the documentation of the initial state estimate in |
---|
52 | $cref/g_fun/ckbs_nonlinear/g_fun/$$ and |
---|
53 | $cref/qinv/ckbs_nonlinear/qinv/$$ for $code ckbs_nonlinear$$. |
---|
54 | |
---|
55 | |
---|
56 | $head 06-11-03$$ |
---|
57 | The order of the variables in the state vector |
---|
58 | for $cref/nonlinear_ok_box.m/$$ and |
---|
59 | for $cref/nonlinear_ok_sin.m/$$ |
---|
60 | was changed |
---|
61 | to group each component of velocity with the corresponding position |
---|
62 | (instead of grouping position with position and velocity with velocity). |
---|
63 | This made the variance matrix $latex Q_k$$ block diagonal |
---|
64 | (simpler). |
---|
65 | |
---|
66 | |
---|
67 | $head 06-10-24$$ |
---|
68 | The fonts got misaligned in the $code ckbs_affine$$ |
---|
69 | $cref/syntax/ckbs_affine/Syntax/$$ documentation. |
---|
70 | This has been fixed. |
---|
71 | |
---|
72 | $head 06-10-20$$ |
---|
73 | The $cref/ckbs_nonlinear/$$ implementation was greatly simplified |
---|
74 | using the fact that $cref/ckbs_affine/$$ no longer requires a feasible |
---|
75 | starting point. |
---|
76 | This removed the need for an augmented problem and hence the |
---|
77 | $cref/info/ckbs_nonlinear/info/$$ return value from $code ckbs_nonlinear$$ |
---|
78 | no longer has a penalty parameter; i.e., it has one less value per row. |
---|
79 | $pre |
---|
80 | |
---|
81 | $$ |
---|
82 | $cref/all_ok.m/$$ was extended so that if no argument is provided, |
---|
83 | only the quick tests are run. |
---|
84 | |
---|
85 | $head 06-10-19$$ |
---|
86 | The $cref/ckbs_affine/$$ routine has been improved so that it no |
---|
87 | longer requires a feasible input point |
---|
88 | so the input argument $italic xIn$$ has been removed. |
---|
89 | Since the sequence of iterates is no longer necessarily feasible, |
---|
90 | the $cref/info/ckbs_affine/info/$$ return value now has been changed |
---|
91 | so that it now includes a measure of feasibility. |
---|
92 | The input argument $cref/max_itr/ckbs_affine/max_itr/$$ |
---|
93 | has been added to $code ckbs_affine$$. |
---|
94 | The $cref/affine_ok_box.m/$$ example has been changed to use the new |
---|
95 | meaning for the arguments and return values of $code ckbs_affine$$. |
---|
96 | $pre |
---|
97 | |
---|
98 | $$ |
---|
99 | The $italic itr_out$$ return value has been removed from the |
---|
100 | $cref/ckbs_nonlinear/$$ syntax. |
---|
101 | It was the same as $syntax%size(%info%, 1)%$$. |
---|
102 | The following examples have been changed to remove the use of $italic itr_out$$ |
---|
103 | in the calls to $code ckbs_nonlinear$$: |
---|
104 | $cref/nonlinear_ok_simple.m/$$, |
---|
105 | $cref/nonlinear_ok_box.m/$$, |
---|
106 | $cref/nonlinear_ok_sin.m/$$. |
---|
107 | $pre |
---|
108 | |
---|
109 | $$ |
---|
110 | The implementation of $cref/ckbs_nonlinear/$$ has been changed to use |
---|
111 | the new calling sequence to $cref/ckbs_affine/$$ (this is implementation |
---|
112 | detail and does not affect the user). |
---|
113 | |
---|
114 | $head 06-10-13$$ |
---|
115 | The line search in $cref/ckbs_affine/$$ had a bug where the sign |
---|
116 | of the condition it was checking was reversed. This has been changed. |
---|
117 | In addition, the minimum line search step size in the sub-problem |
---|
118 | was added to the $cref/info/ckbs_nonlinear/info/$$ return value |
---|
119 | for $cref/ckbs_nonlinear/$$. |
---|
120 | $pre |
---|
121 | |
---|
122 | $$ |
---|
123 | There was a syntax error in $cref/nonlinear_ok_simple.m/$$ that |
---|
124 | caused a problem in Matlab!, but not in octave. |
---|
125 | This has been fixed. |
---|
126 | |
---|
127 | |
---|
128 | $head 06-10-05$$ |
---|
129 | $list number$$ |
---|
130 | Matlab! does not combine character matrices with different numbers |
---|
131 | of columns. |
---|
132 | A debugging message assignment in $code ckbs_nonlinear.m$$ |
---|
133 | was removed to avoid this. |
---|
134 | $lnext |
---|
135 | Documentation for missing data values was added to |
---|
136 | $cref/rinv/ckbs_nonlinear/rinv/$$. |
---|
137 | $lnext |
---|
138 | Some minor Matlab compatibility problems |
---|
139 | in the files |
---|
140 | $code test/nonlinear_ok_box.m$$ and |
---|
141 | $code test/nonlinear_ok_sin.m$$ were fixed. |
---|
142 | $lnext |
---|
143 | The directory created when the |
---|
144 | $cref/download file/ckbs/Download Instructions/$$ was extracted |
---|
145 | was $code ckbs$$ instead of $syntax%ckbs-%yy%-%mm%-%dd%$$. |
---|
146 | This has been fixed. |
---|
147 | $lnext |
---|
148 | The $cref/utility/$$ section, |
---|
149 | and all its subsections, |
---|
150 | were missing from the documentation. |
---|
151 | $lnext |
---|
152 | The number of input arguments and output values for |
---|
153 | $cref/ckbs_nonlinear/$$ has been changes to allow for |
---|
154 | control of the number of iterations. |
---|
155 | $lnext |
---|
156 | Line search failure in $cref/ckbs_nonlinear/$$ was converted from |
---|
157 | an error to a warning. |
---|
158 | $lend |
---|
159 | |
---|
160 | $head 06-10-01$$ |
---|
161 | $list number$$ |
---|
162 | The $cref/test_path.m/$$ function was added so that |
---|
163 | it is easier to run a single test at the command line |
---|
164 | (you need to run this function first). |
---|
165 | $lnext |
---|
166 | A tracing argument called $italic level$$ was added to |
---|
167 | $cref/ckbs_nonlinear/$$. |
---|
168 | This tracing was turned on in the |
---|
169 | $cref/nonlinear_ok_box.m/$$ example. |
---|
170 | $lnext |
---|
171 | The nonlinear constraint example |
---|
172 | $cref/nonlinear_ok_sin.m/$$ was added. |
---|
173 | It demonstrates significant improvement by |
---|
174 | the inclusion of the constraints. |
---|
175 | $lnext |
---|
176 | The $italic draw_plot$$ argument to the $cref/nonlinear_ok_box.m/$$ example |
---|
177 | was documented. |
---|
178 | $lnext |
---|
179 | The $italic quick$$ argument was added to $cref/all_ok.m/$$. |
---|
180 | $lnext |
---|
181 | The files |
---|
182 | $code test/nonlinear_ok_sin.r$$ and |
---|
183 | $code test/nonlinear_ok_box.r$$ were |
---|
184 | added to the distribution. |
---|
185 | (These are R source code files that are used to make plots from the |
---|
186 | corresponding example output files.) |
---|
187 | $lend |
---|
188 | |
---|
189 | |
---|
190 | $head 06-09-30$$ |
---|
191 | The function $code ckbs$$ has been changed to |
---|
192 | $cref/ckbs_nonlinear/$$. This enables the |
---|
193 | $cref/ckbs/$$ section to refer to the |
---|
194 | documentation for the entire system. |
---|
195 | |
---|
196 | |
---|
197 | $end |
---|