blob: 52d09496b895c37aec13beeeaff4c50351f1e4ec [file] [log] [blame]
Austin Schuh34cb5312016-07-09 21:55:41 -07001\documentclass[a4paper,12pt]{article}
2\usepackage{amsmath}
3\begin{document}
4
5% From http://www.eecs.tufts.edu/~khan/Courses/Spring2013/EE194/Lecs/Lec9and10.pdf
6% and http://www.cs.unc.edu/~wens/WAFR2014-Sun.pdf
7% (which references http://maeresearch.ucsd.edu/skelton/publications/weiwei_ilqg_CDC43.pdf)
8% and http://arl.cs.utah.edu/pubs/ISRR2013.pdf
9
10\section{Backwards Pass}
11
12Let's start with some definitions for the standard LQR controller.
13$c_t(\boldsymbol{x}, \boldsymbol{u})$ is the cost for the iteration $t$ given that we are at $\boldsymbol{x}$ and are going to apply $\boldsymbol{u}$ for one cycle.
14$v_t(\boldsymbol{x})$ is the optimal cost-to-go for the starting point $\boldsymbol{x}$ at step $t$.
15$v_N(\boldsymbol{x})$ may be defined to be a different final cost from $v_t(\boldsymbol{x})$ if need be, where $N$ is the horizon.
16
17$$\begin{array}{rcl}
18c_t(\boldsymbol{x}, \boldsymbol{u}) &=&
19 \frac{1}{2}
20 \begin{bmatrix} \boldsymbol{x} \\ \boldsymbol{u} \end{bmatrix}^T
21 \begin{bmatrix} Q_t & P_t^T \\ P_t & R_t \end{bmatrix}
22 \begin{bmatrix} \boldsymbol{x} \\ \boldsymbol{u} \end{bmatrix} +
23 \begin{bmatrix} \boldsymbol{x} \\ \boldsymbol{u} \end{bmatrix}^T
24 \begin{bmatrix} \boldsymbol{q}_t \\ \boldsymbol{r}_t \end{bmatrix} +
25 q_t \\
26v_{t + 1}(\boldsymbol{x}) &=&
27 \frac{1}{2} \boldsymbol{x}^T S_{t + 1} \boldsymbol{x} + \boldsymbol{x}^T \boldsymbol{s}_{t + 1} + s_{t + 1} \\
28
29g_t(\boldsymbol{x}_t, \boldsymbol{u}_t) = \boldsymbol{x}_{t + 1}(\boldsymbol{u}_t) &=&
30 A_{t} \boldsymbol{x}_t + B_t \boldsymbol{u}_t + \boldsymbol{c}_{t} \\
31
32v_{t}(\boldsymbol{x}_t, \boldsymbol{u}_t) &=&
33 v_{t+1}(\boldsymbol{x}_{t+1}) +
34 c_t(\boldsymbol{x}_t, \boldsymbol{u}_t) \\\
35 &=&
36 v_{t+1}(g_t(\boldsymbol{x}_{t}, \boldsymbol{u}_t)) +
37 c_t(\boldsymbol{x}_t, \boldsymbol{u}_t)
38 \\
39\end{array}$$
40
41Now, let's calculate $v_t(\boldsymbol{x})$ given $v_{t+1}(\boldsymbol{x})$ and the step cost from $c_t(\boldsymbol{x})$.
42This tells us the cost of applying $\boldsymbol{u}$ starting from $\boldsymbol{x}$.
43We will then optimize over all $\boldsymbol{u}$ to find the optimal next state and cost for that state.
44This lets us then use dynamic programing methods to work out the optimal $\boldsymbol{x}$ and $\boldsymbol{u}$ at each timestep.
45
46We want to get a quadratic solution of the form
47$$v_{t}(\boldsymbol{x}) =
48 \frac{1}{2} \boldsymbol{x}^T S_{t} \boldsymbol{x} + \boldsymbol{x}^T \boldsymbol{s}_{t} + s_{t}$$ for each step.
49
50$$\begin{array}{rcl}
51v_{t}(\boldsymbol{x}, \boldsymbol{u}) &=&
52 \frac{1}{2} \left( A_{t}\boldsymbol{x} + B_{t}\boldsymbol{u} + \boldsymbol{c}_{t}\right)^T
53 S_{t + 1}
54 \left( A_{t}\boldsymbol{x} + B_{t}\boldsymbol{u} + \boldsymbol{c}_{t}\right) +
55 \left( A_{t}\boldsymbol{x} + B_{t}\boldsymbol{u} + \boldsymbol{c}_{t}\right)^T \boldsymbol{s}_{t + 1} +
56 s_{t + 1} + \\ &&
57 \frac{1}{2}
58 \begin{bmatrix} \boldsymbol{x} \\ \boldsymbol{u} \end{bmatrix}^T
59 \begin{bmatrix} Q_{t} & P_{t}^T \\ P_{t} & R_{t} \end{bmatrix}
60 \begin{bmatrix} \boldsymbol{x} \\ \boldsymbol{u} \end{bmatrix} +
61 \begin{bmatrix} \boldsymbol{x} \\ \boldsymbol{u} \end{bmatrix}^T
62 \begin{bmatrix} \boldsymbol{q}_{t} \\ \boldsymbol{r}_{t} \end{bmatrix} +
63 q_{t}
64\\
65&=&
66 \frac{1}{2} \left(
67 \boldsymbol{x}^T A_{t}^T S_{t + 1} A_{t} \boldsymbol{x} +
68 \boldsymbol{u}^T B_{t}^T S_{t + 1} A_{t} \boldsymbol{x} +
69 \boldsymbol{c}_t^T S_{t + 1} A_{t} \boldsymbol{x} + \right. \\ &&
70 \left. \boldsymbol{x}^T A_{t}^T S_{t + 1} B_{t} \boldsymbol{u} +
71 \boldsymbol{u}^T B_{t}^T S_{t + 1} B_{t} \boldsymbol{u} +
72 \boldsymbol{c}_t^T S_{t + 1} B_{t} \boldsymbol{u} + \right. \\ &&
73 \left. \boldsymbol{x}^T A_{t}^T S_{t + 1} \boldsymbol{c}_t +
74 \boldsymbol{u}^T B_{t}^T S_{t + 1} \boldsymbol{c}_t +
75 \boldsymbol{c}_t^T S_{t + 1} \boldsymbol{c}_t
76 \right) + \\ &&
77 \boldsymbol{x}^T A_{t}^T \boldsymbol{s}_{t + 1} +
78 \boldsymbol{u}^T B_{t}^T \boldsymbol{s}_{t + 1} +
79 \boldsymbol{c}_t^T \boldsymbol{s}_{t + 1} +
80 s_{t + 1} + \\ &&
81 \frac{1}{2} \left(\boldsymbol{x}^T Q_t \boldsymbol{x} + \boldsymbol{u}^T P_t \boldsymbol{x} + \boldsymbol{x}^T P_t^T \boldsymbol{u} + \boldsymbol{u}^T R_t \boldsymbol{u} \right) + \boldsymbol{x}^T \boldsymbol{q}_t + \boldsymbol{u}^T \boldsymbol{r}_t + q_t
82\\
83&=&
84 \frac{1}{2} \left(
85 \boldsymbol{x}^T \left( A_{t}^T S_{t + 1} A_{t} + Q_t \right) \boldsymbol{x} +
86 \boldsymbol{u}^T \left( B_{t}^T S_{t + 1} A_{t} + P_t \right) \boldsymbol{x} \right. + \\ &&
87 \left. \boldsymbol{x}^T \left( A_{t}^T S_{t + 1} B_{t} + P_t^T \right) \boldsymbol{u} +
88 \boldsymbol{u}^T \left( B_{t}^T S_{t + 1} B_{t} + R_t \right) \boldsymbol{u} \right) + \\ &&
89 \boldsymbol{x}^T \left(A_{t}^T \boldsymbol{s}_{t + 1} +
90 \boldsymbol{q}_t \right)+
91
92 \boldsymbol{u}^T \left( B_{t}^T \boldsymbol{s}_{t + 1} +
93 \boldsymbol{r}_t \right) +
94 \boldsymbol{c}_t^T \boldsymbol{s}_{t + 1} + s_{t + 1} +
95 q_t + \\ &&
96 \frac{1}{2} \left( \boldsymbol{c}_t^T S_{t + 1} \boldsymbol{c}_t +
97 \boldsymbol{x}^T A_{t}^T S_{t + 1} \boldsymbol{c}_t +
98 \boldsymbol{u}^T B_{t}^T S_{t + 1} \boldsymbol{c}_t +
99 \boldsymbol{c}_t^T S_{t + 1} B_{t} \boldsymbol{u} +
100 \boldsymbol{c}_t^T S_{t + 1} A_{t} \boldsymbol{x} \right)
101\end{array}$$
102
103Now, let's find the optimal $\boldsymbol{u}$. Do this by evaluating $\frac{\partial}{\partial \boldsymbol{u}} v_t(\boldsymbol{x}, \boldsymbol{u}) = 0$.
104
105$$\begin{array}{rcl}
106\frac{\partial}{\partial \boldsymbol{u}} v_{t}(\boldsymbol{x}, \boldsymbol{u}) &=& \frac{1}{2} \left( 2 \boldsymbol{u}^T \left( B_{t}^T S_{t + 1} B_{t} + R_t \right) + 2 \boldsymbol{x}^T \left( A_{t}^T S_{t + 1} B_{t} + P_t^T \right) + 2 \boldsymbol{c}_t^T S_{t + 1} B_{t} \right) + \\&&\boldsymbol{s}_{t + 1}^T B_{t} + \boldsymbol{r}_t^T \\
107
108\frac{\partial}{\partial \boldsymbol{u}} v_{t}(\boldsymbol{x}, \boldsymbol{u}) &=& \boldsymbol{u}^T \left( B_{t}^T S_{t + 1} B_{t} + R_t \right) + \boldsymbol{x}^T \left( A_{t}^T S_{t + 1} B_{t} + P_t^T \right) + \boldsymbol{c}_t^T S_{t + 1} B_{t} + \boldsymbol{s}_{t + 1}^T B_{t} + \boldsymbol{r}_t^T \\
1090 &=& \boldsymbol{u}^T \left( B_{t}^T S_{t + 1} B_{t} + R_t \right) + \boldsymbol{x}^T \left( A_{t}^T S_{t + 1} B_{t} + P_t^T \right) + \boldsymbol{c}_t^T S_{t + 1} B_{t} + \boldsymbol{s}_{t + 1}^T B_{t} + \boldsymbol{r}_t^T
110\end{array}$$
111$$\begin{array}{rcl}
112\boldsymbol{u}^T \left( B_{t}^T S_{t + 1} B_{t} + R_t \right) &=& - \boldsymbol{x}^T \left( A_{t}^T S_{t + 1} B_{t} + P_t^T \right) - \boldsymbol{c}_t^T S_{t + 1} B_{t} - \boldsymbol{s}_{t + 1}^T B_{t} - \boldsymbol{r}_t^T \\
113\left( B_{t}^T S_{t + 1} B_{t} + R_t \right) \boldsymbol{u} &=& - \left( B_{t}^T S_{t + 1} A_{t} + P_t \right) \boldsymbol{x} - B_t^T S_{t + 1} \boldsymbol{c}_t - B_{t}^T \boldsymbol{s}_{t + 1}- \boldsymbol{r}_t \\
114\boldsymbol{u} &=& - \left( B_{t}^T S_{t + 1} B_{t} + R_t \right) ^{-1} \left( \left( B_{t}^T S_{t + 1} A_{t} + P_t \right) \boldsymbol{x} + B_t^T S_{t + 1} \boldsymbol{c}_t + B_{t}^T \boldsymbol{s}_{t + 1} + \boldsymbol{r}_t \right)
115\end{array}$$
116
117This gives us the optimal $\boldsymbol{u}$. There are some substitutions defined here from the 2013 paper which make it easier to read.
118Note: the 2014 paper uses different letters for these same quantities\dots
119\\
120$$\begin{array}{rcl}
121C_t &=& B^T_t S_{t + 1} A_t + P_t \\
122E_t &=& B_{t}^T S_{t + 1} B_{t} + R_t \\
123L_t &=& - E_t ^{-1} C_t \\
124
125\boldsymbol{e}_t &=& B_t^T S_{t + 1} \boldsymbol{c}_t + B_{t}^T \boldsymbol{s}_{t + 1} + \boldsymbol{r}_t \\
126\boldsymbol{l}_t &=& - E^{-1}_t \boldsymbol{e}_t \\
127
128D_t &=& A_t^T S_{t + 1} A_t + Q_t \\
129\boldsymbol{d}_t &=& A_t^T S_{t + 1} \boldsymbol{c}_t + A_{t}^T \boldsymbol{s}_{t + 1} + \boldsymbol{q}_t
130\\
131\boldsymbol{u} &=& L_t \boldsymbol{x} + \boldsymbol{l}_t
132\end{array}$$
133
134With these, we can simplify $\boldsymbol{u}$ a bit and make it look like the 2014 paper has it.
135
136$$\begin{array}{rcl}
137 \boldsymbol{u} &=& -E_t^{-1} \left( C_t \boldsymbol{x} + \boldsymbol{e}_t \right) \\
138 \boldsymbol{u} &=& -E_t^{-1} C_t \boldsymbol{x} - E_t^{-1} \boldsymbol{e}_t
139\end{array}$$
140
141For reference, here are some equivalences between the symbols used in the 2013
142paper (the ones we use) and the 2014 paper.
143TODO(Brian): Figure out where the ones in the 2014 paper are defined instead of
144guessing by pattern-matching.
145\\ \begin{tabular}{ | r | l | }
146 \hline
147 2013 paper (ours) & 2014 paper \\
148 \hline
149 $C_t$ & $E_t$ \\
150 $D_t$ & $C_t$ \\
151 $\boldsymbol{d}_t$ & $\boldsymbol{c}_t$ \\
152 $E_t$ & $D_t$ \\
153 $\boldsymbol{e}_t$ & $\boldsymbol{d}_t$ \\
154 \hline
155\end{tabular} \\
156
157Now, let's solve for the new cost function.
158
159$$\begin{array}{rcl}
160v_{t}(\boldsymbol{x}, \boldsymbol{u}) &=&
161 \frac{1}{2} \left(
162 \boldsymbol{x}^T \left( A_{t}^T S_{t + 1} A_{t} + Q_t \right) \boldsymbol{x} +
163 \boldsymbol{u}^T \left( B_{t}^T S_{t + 1} A_{t} + P_t \right) \boldsymbol{x} \right. + \\ &&
164 \left. \boldsymbol{x}^T \left( A_{t}^T S_{t + 1} B_{t} + P_t^T \right) \boldsymbol{u} +
165 \boldsymbol{u}^T \left( B_{t}^T S_{t + 1} B_{t} + R_t \right) \boldsymbol{u} \right) + \\ &&
166 \boldsymbol{x}^T \left(A_{t}^T \boldsymbol{s}_{t + 1} +
167 \boldsymbol{q}_t \right)+
168
169 \boldsymbol{u}^T \left( B_{t}^T \boldsymbol{s}_{t + 1} +
170 \boldsymbol{r}_t \right) +
171 \boldsymbol{c}_t^T \boldsymbol{s}_{t + 1} + s_{t + 1} +
172 q_t + \\ &&
173 \frac{1}{2} \left( \boldsymbol{c}_t^T S_{t + 1} \boldsymbol{c}_t +
174 \boldsymbol{x}^T A_{t}^T S_{t + 1} \boldsymbol{c}_t +
175 \boldsymbol{u}^T B_{t}^T S_{t + 1} \boldsymbol{c}_t +
176 \boldsymbol{c}_t^T S_{t + 1} B_{t} \boldsymbol{u} +
177 \boldsymbol{c}_t^T S_{t + 1} A_{t} \boldsymbol{x} \right)
178\\
179&=&
180 \frac{1}{2} \left(
181 \boldsymbol{x}^T \left( A_{t}^T S_{t + 1} A_{t} + Q_t \right) \boldsymbol{x} +
182 \boldsymbol{u}^T \left( B_{t}^T S_{t + 1} A_{t} + P_t \right) \boldsymbol{x} \right. + \\ &&
183 \left. \boldsymbol{x}^T \left( A_{t}^T S_{t + 1} B_{t} + P_t^T \right) \boldsymbol{u} +
184 \boldsymbol{u}^T \left( B_{t}^T S_{t + 1} B_{t} + R_t \right) \boldsymbol{u} \right) + \\ &&
185
186 \boldsymbol{x}^T \left(A_{t}^T \boldsymbol{s}_{t + 1} + \boldsymbol{q}_t +
187 \frac{1}{2} A_{t}^T S_{t + 1} \boldsymbol{c}_t \right) + \\ &&
188
189 \boldsymbol{u}^T \left( B_{t}^T \boldsymbol{s}_{t + 1} + \boldsymbol{r}_t +
190 \frac{1}{2} B_{t}^T S_{t + 1} \boldsymbol{c}_t \right) + \\ &&
191
192 \frac{1}{2} \boldsymbol{c}_t^T S_{t + 1} \left( A_t \boldsymbol{x} +
193 B_t \boldsymbol{u} + \boldsymbol{c}_t \right) + \\ &&
194
195 \boldsymbol{c}_t^T \boldsymbol{s}_{t + 1} + s_{t + 1} + q_t
196\\
197&=&
198 \frac{1}{2} \left(
199 \boldsymbol{x}^T \left( A_{t}^T S_{t + 1} A_{t} + Q_t \right) \boldsymbol{x} +
200 \boldsymbol{u}^T \left( B_{t}^T S_{t + 1} A_{t} + P_t \right) \boldsymbol{x} \right. + \\ &&
201 \left. \boldsymbol{x}^T \left( A_{t}^T S_{t + 1} B_{t} + P_t^T \right) \boldsymbol{u} +
202 \boldsymbol{u}^T \left( B_{t}^T S_{t + 1} B_{t} + R_t \right) \boldsymbol{u} \right) + \\ &&
203
204 \boldsymbol{x}^T \left(A_{t}^T \boldsymbol{s}_{t + 1} + \boldsymbol{q}_t +
205 A_{t}^T S_{t + 1} \boldsymbol{c}_t \right) + \\ &&
206
207 \boldsymbol{u}^T \left( B_{t}^T \boldsymbol{s}_{t + 1} + \boldsymbol{r}_t +
208 B_{t}^T S_{t + 1} \boldsymbol{c}_t \right) + \\ &&
209
210 \frac{1}{2} \boldsymbol{c}_t^T S_{t + 1} \boldsymbol{c}_t +
211 \boldsymbol{c}_t^T \boldsymbol{s}_{t + 1} + s_{t + 1} + q_t
212\\
213&=&
214 \frac{1}{2} \left(
215 \boldsymbol{x}^T D_t \boldsymbol{x} +
216 \boldsymbol{u}^T C_t \boldsymbol{x} +
217 \boldsymbol{x}^T C_t^T \boldsymbol{u} +
218 \boldsymbol{u}^T E_t \boldsymbol{u} \right) + \\ &&
219
220 \boldsymbol{x}^T \boldsymbol{d}_t +
221 \boldsymbol{u}^T \boldsymbol{e}_t + \\ &&
222
223 \frac{1}{2} \boldsymbol{c}_t^T S_{t + 1} \boldsymbol{c}_t +
224 \boldsymbol{c}_t^T \boldsymbol{s}_{t + 1} + s_{t + 1} + q_t
225\\
226&=&
227 \frac{1}{2} \left(
228 \boldsymbol{x}^T D_t \boldsymbol{x} +
229 \left( L_t \boldsymbol{x} + \boldsymbol{l}_t \right)^T C_t \boldsymbol{x} \right. + \\ &&
230 \left. \boldsymbol{x}^T C_t^T \left( L_t \boldsymbol{x} + \boldsymbol{l}_t \right) +
231 \left( L_t \boldsymbol{x} + \boldsymbol{l}_t \right)^T E_t \left( L_t \boldsymbol{x} + \boldsymbol{l}_t \right) \right) + \\ &&
232
233 \boldsymbol{x}^T \boldsymbol{d}_t +
234 \left( L_t \boldsymbol{x} + \boldsymbol{l}_t \right)^T \boldsymbol{e}_t + \\&&
235
236 \frac{1}{2} \boldsymbol{c}_t^T S_{t + 1} \boldsymbol{c}_t +
237 \boldsymbol{c}_t^T \boldsymbol{s}_{t + 1} + s_{t + 1} + q_t
238\\
239&=&
240 \frac{1}{2} \left(
241 \boldsymbol{x}^T D_t \boldsymbol{x} + \right.
242 \boldsymbol{x}^T L_t^T C_t \boldsymbol{x} + \boldsymbol{l}_t^T C_t \boldsymbol{x} + \\ &&
243
244 \left. \boldsymbol{x}^T C_t^T L_t \boldsymbol{x} + \boldsymbol{x}^T C_t^T \boldsymbol{l}_t +
245
246 \boldsymbol{x}^T L_t^T E_t L_t \boldsymbol{x} +
247 \boldsymbol{l}_t^T E_t L_t \boldsymbol{x} +
248 \boldsymbol{x}^T L_t^T E_t \boldsymbol{l}_t +
249 \boldsymbol{l}_t^T E_t \boldsymbol{l}_t \right) + \\&&
250
251 \boldsymbol{x}^T \boldsymbol{d}_t +
252 \boldsymbol{x}^T L_t^T \boldsymbol{e}_t + \boldsymbol{l}^T_t \boldsymbol{e}_t + \\&&
253
254 \frac{1}{2} \boldsymbol{c}_t^T S_{t + 1} \boldsymbol{c}_t +
255 \boldsymbol{c}_t^T \boldsymbol{s}_{t + 1} + s_{t + 1} + q_t
256\\
257&=&
258 \frac{1}{2}
259 \boldsymbol{x}^T \left(
260 D_t +
261 L_t^T C_t +
262 C_t^T L_t +
263 L_t^T E_t L_t
264 \right) \boldsymbol{x} + \\ &&
265
266 \boldsymbol{x}^T \left(
267 \frac{1}{2} \left( C_t^T \boldsymbol{l}_t +
268 L_t^T E_t \boldsymbol{l}_t \right) +
269 \boldsymbol{d}_t +
270 L_t^T \boldsymbol{e}_t \right) +
271 \frac{1}{2} \left( \boldsymbol{l}_t^T E_t L_t + \boldsymbol{l}_t^T C_t \right) \boldsymbol{x} + \\ &&
272
273 \frac{1}{2} \boldsymbol{l}_t^T E_t \boldsymbol{l}_t +
274 \boldsymbol{l}^T_t \boldsymbol{e}_t +
275
276 \boldsymbol{c}_t^T \boldsymbol{s}_{t + 1} + s_{t + 1} + q_t +
277 \frac{1}{2} \boldsymbol{c}_t^T S_{t + 1} \boldsymbol{c}_t
278\\
279&=&
280 \frac{1}{2}
281 \boldsymbol{x}^T \left(
282 D_t +
283 L_t^T C_t +
284 C_t^T L_t +
285 L_t^T E_t L_t
286 \right) \boldsymbol{x} + \\ &&
287
288 \boldsymbol{x}^T \left(
289 C_t^T \boldsymbol{l}_t +
290 L_t^T E_t \boldsymbol{l}_t +
291 \boldsymbol{d}_t +
292 L_t^T \boldsymbol{e}_t \right) + \\ &&
293
294 \frac{1}{2} \boldsymbol{l}_t^T E_t \boldsymbol{l}_t +
295 \boldsymbol{l}^T_t \boldsymbol{e}_t +
296
297 \boldsymbol{c}_t^T \boldsymbol{s}_{t + 1} + s_{t + 1} + q_t +
298 \frac{1}{2} \boldsymbol{c}_t^T S_{t + 1} \boldsymbol{c}_t
299\end{array}$$
300
301Ok, let's now pull out the 3 variables of interest and do further simplification.
302
303$$\begin{array}{rcl}
304v_{t}(\boldsymbol{x}) &=&
305 \frac{1}{2} \boldsymbol{x}^T S_{t} \boldsymbol{x} + \boldsymbol{x}^T \boldsymbol{s}_{t} + s_{t} \\
306S_t &=&
307 D_t +
308 L_t^T C_t +
309 C_t^T L_t +
310 L_t^T E_t L_t \\
311 &=&
312 D_t -
313 C_t^T E_t^{-1} C_t -
314 C_t^T E_t^{-1} C_t +
315 C_t^T E_t^{-1} C_t \\
316 &=& D_t - C_t^T E_t^{-1} C_t
317\\
318\boldsymbol{s}_t &=&
319 \left( C_t^T + L_t^T E_t \right) \boldsymbol{l}_t +
320 \boldsymbol{d}_t +
321 L_t^T \boldsymbol{e}_t \\
322
323 &=&
324 \left( C_t^T - C_t^T E_t^{-1} E_t \right) \boldsymbol{l}_t +
325 \boldsymbol{d}_t -
326 C_t^T E_t^{-1} \boldsymbol{e}_t \\
327 &=& \boldsymbol{d}_t - C_t^T E_t^{-1} \boldsymbol{e}_t
328\\
329s_t &=&
330 \frac{1}{2} \boldsymbol{l}_t^T E_t \boldsymbol{l}_t +
331 \boldsymbol{l}^T_t \boldsymbol{e}_t +
332
333 \boldsymbol{c}_t^T \boldsymbol{s}_{t + 1} + s_{t + 1} + q_t +
334 \frac{1}{2} \boldsymbol{c}_t^T S_{t + 1} \boldsymbol{c}_t
335\\
336&=&
337\frac{1}{2} \boldsymbol{e}_t^T E_t^{-1} E_t E_t^{-1} \boldsymbol{e}_t -
338 \boldsymbol{e}_t^T E_t^{-1} \boldsymbol{e}_t +
339
340 \boldsymbol{c}_t^T \boldsymbol{s}_{t + 1} + s_{t + 1} + q_t +
341
342 \frac{1}{2} \boldsymbol{c}_t^T S_{t + 1} \boldsymbol{c}_t
343\\
344&=&
345q_t - \frac{1}{2} \boldsymbol{e}_t^T E_t^{-1} \boldsymbol{e}_t +
346
347 \frac{1}{2} \boldsymbol{c}_t^T S_{t + 1} \boldsymbol{c}_t +
348 \boldsymbol{c}_t^T \boldsymbol{s}_{t + 1} + s_{t + 1}
349\end{array}$$
350
351For better or worse, everything but the constant term matches both the 2013
352paper (which has no constant term) and the 2014 paper.
353The constant term does not match the 2014 paper, but we're pretty sure it's
354correct (extended\_lqr\_derivation.py verifies what we have).
355The 2014 paper has this for the constant term instead:
356$$\begin{array}{rcl}
357s_t &=&
358 q_t - \frac{1}{2} \boldsymbol{e}_t^T E_t^{-1} \boldsymbol{e}_t
359\end{array}$$
360
361\section{Forwards Pass}
362
363Let's define the forwards pass to build the cost-to-come function.
364We must use the same cycle cost, $c_t(\boldsymbol{x}, \boldsymbol{u})$, as the backwards pass.
365The initial cost $v_0(\boldsymbol{x})$ needs to evaluate to $0$ at $\boldsymbol{x}_0$ since
366there is no cost needed to get from $\boldsymbol{x}_0$ to $\boldsymbol{x}_0$.
367
368$$\begin{array}{rcl}
369\bar v_{t}(\boldsymbol{x}) &=&
370 \frac{1}{2} \boldsymbol{x}^T \bar S_{t} \boldsymbol{x} + \boldsymbol{x}^T \boldsymbol{\bar s}_{t} + \bar s_{t} \\
371
372\bar g_t(\boldsymbol{x}_{t + 1}, \boldsymbol{u}) = \boldsymbol{x}_{t}(\boldsymbol{u}) &=&
373 \bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t} \\
374
375\bar c_{t + 1}(\boldsymbol{x}_{t+1}, \boldsymbol{u}) &=& c_t(\bar g_{t}(\boldsymbol{x}_{t + 1}, \boldsymbol{u}), \boldsymbol{u}) \\
376
377\bar v_{t + 1}(\boldsymbol{x}_{t+1}, \boldsymbol{u}) &=&
378 \bar v_{t}(\boldsymbol{x}_{t}) +
379 \bar c_t(\boldsymbol{x}_{t + 1}, \boldsymbol{u}_t)
380 \\
381&=&
382 \bar v_{t}(\bar g_t(\boldsymbol{x}_{t + 1}, \boldsymbol{u})) +
383 c_t(\bar g_{t}(\boldsymbol{x}_{t + 1}, \boldsymbol{u}), \boldsymbol{u}) \\
384 \\
385\end{array}$$
386
387It is important to note that the optimal $\boldsymbol{u}$ used to get from $\boldsymbol{x}_t$ to $\boldsymbol{x}_{t+1}$
388when evaluating $g_t(\boldsymbol{x}, \boldsymbol{u})$ is the same optimal $\boldsymbol{u}$
389used to get from $\boldsymbol{x}_{t+1}$ to $\boldsymbol{x}_t$ when evaluating $\bar g_{t}(\boldsymbol{x}_{t + 1}, \boldsymbol{u})$.
390Conveniently, this means that the $\boldsymbol{u}_t$, $L_t$, and $\boldsymbol{l}_t$ calculated in both the forwards and backwards passes is the same.
391
392Like before, we want to get a quadratic solution of the form
393$$\bar v_{t + 1}(\boldsymbol{x}_{t+1}) =
394 \frac{1}{2} \boldsymbol{x}_{t+1}^T \bar S_{t + 1} \boldsymbol{x}_{t+1} + \boldsymbol{x}_{t+1}^T \boldsymbol{\bar s}_{t + 1} + \bar s_{t + 1}$$ for each step.
395
396$$\begin{array}{rcl}
397\bar v_{t + 1}(\boldsymbol{x}_{t+1}, \boldsymbol{u}) &=&
398 \frac{1}{2} \left(\bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right)^T
399 \bar S_{t}
400 \left( \bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right) + \\ &&
401 \left(\bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right) ^T \boldsymbol{\bar s}_{t} + \bar s_{t} + \\&&
402 \frac{1}{2}
403 \begin{bmatrix} \left( \bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right) \\ \boldsymbol{u} \end{bmatrix}^T
404 \begin{bmatrix} Q_t & P_t^T \\ P_t & R_t \end{bmatrix}
405 \begin{bmatrix} \left( \bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right) \\ \boldsymbol{u} \end{bmatrix} + \\&&
406 \begin{bmatrix} \left( \bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right) \\ \boldsymbol{u} \end{bmatrix}^T
407 \begin{bmatrix} \boldsymbol{q}_t \\ \boldsymbol{r}_t \end{bmatrix} +
408 q_t \\
409
410 &=&
411 \frac{1}{2} \left(\bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right)^T
412 \bar S_{t}
413 \left( \bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right) + \\ &&
414 \left(\bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right) ^T \boldsymbol{\bar s}_{t} + \bar s_{t} + \\&&
415
416 \frac{1}{2} \left(
417 \left( \bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right)^T Q_t \left( \bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right) + \right. \\&&
418 \boldsymbol{u}^T P_t \left( \bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right) + \\&&
419 \left( \bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right)^T P_t^T \boldsymbol{u} + \\&&
420 \left. \boldsymbol{u}^T R_t \boldsymbol{u} \right) + \\&&
421
422 \left( \bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right)^T \boldsymbol{q}_t + \boldsymbol{u}^T \boldsymbol{r}_t + q_t \\
423
424 &=&
425 \frac{1}{2} \left(\bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right)^T
426 \left( \bar S_{t} + Q_t \right)
427 \left( \bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right) + \\ &&
428 \left(\bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right) ^T \boldsymbol{\bar s}_{t} + \bar s_{t} + \\&&
429
430 \frac{1}{2} \left(
431 \boldsymbol{u}^T P_t \left( \bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right) \right. + \\&&
432 \left( \bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right)^T P_t^T \boldsymbol{u} + \\&&
433 \left. \boldsymbol{u}^T R_t \boldsymbol{u} \right) + \\&&
434
435 \left( \bar A_{t} \boldsymbol{x}_{t + 1} + \bar B_t \boldsymbol{u} + \boldsymbol{\bar c}_{t}\right)^T \boldsymbol{q}_t + \boldsymbol{u}^T \boldsymbol{r}_t + q_t \\
436
437 &=& \frac{1}{2} \left(
438 \boldsymbol{x}_{t + 1}^T \bar A_t^T \left( \bar S_t + Q_t \right) \bar A_t \boldsymbol{x}_{t + 1} +
439 \boldsymbol{x}_{t + 1}^T \bar A_t^T \left( \bar S_t + Q_t \right) \bar B_t \boldsymbol{u} +
440 \boldsymbol{x}_{t + 1}^T \bar A_t^T \left( \bar S_t + Q_t \right) \boldsymbol{\bar c}_t + \right. \\&&
441 \boldsymbol{u}^T \bar B_t^T \left( \bar S_t + Q_t \right) \bar A_t \boldsymbol{x}_{t + 1} +
442 \boldsymbol{u}^T \bar B_t^T \left( \bar S_t + Q_t \right) \bar B_t \boldsymbol{u} +
443 \boldsymbol{u}^T \bar B_t^T \left( \bar S_t + Q_t \right) \boldsymbol{\bar c}_t + \\&&
444 \left. \boldsymbol{\bar c}_t^T \left( \bar S_t + Q_t \right) \bar A_t \boldsymbol{x}_{t + 1} +
445 \boldsymbol{\bar c}_t^T \left( \bar S_t + Q_t \right) \bar B_t \boldsymbol{u} +
446 \boldsymbol{\bar c}_t^T \left( \bar S_t + Q_t \right) \boldsymbol{\bar c}_t \right) + \\&&
447
448 \boldsymbol{x}_{t + 1}^T \bar A_t^T \boldsymbol{\bar s}_t +
449 \boldsymbol{u}^T \bar B_t^T \boldsymbol{\bar s}_t +
450 \boldsymbol{\bar c}_t^T \boldsymbol{\bar s}_t +
451
452 \bar s_t + \\ &&
453
454 \frac{1}{2} \left( \boldsymbol{u}^T P_t \bar A_{t} \boldsymbol{x}_{t + 1} +
455 \boldsymbol{u}^T P_t \bar B_{t} \boldsymbol{u} +
456 \boldsymbol{u}^T P_t \boldsymbol{\bar c}_{t} \right) + \\&&
457 \frac{1}{2} \left( \boldsymbol{x}_{t+1}^T \bar A^T_t P_t^T \boldsymbol{u} +
458 \boldsymbol{u}^T \bar B^T_{t} P_t^T \boldsymbol{u} +
459 \boldsymbol{\bar c}_t^T P^T_t \boldsymbol{u} \right) + \\&&
460
461 \frac{1}{2} \boldsymbol{u}^T R_t \boldsymbol{u} + \\&&
462
463 \boldsymbol{x}^T_{t + 1} \bar A^T_t \boldsymbol{q}_t +
464 \boldsymbol{u}^T \bar B^T_t \boldsymbol{q}_t +
465 \boldsymbol{\bar c}_t^T \boldsymbol{q}_t +
466
467 \boldsymbol{u}^T \boldsymbol{r}_t + q_t
468\end{array}$$
469
470Now, let's find the optimal $\boldsymbol{u}$.
471Do this by evaluating
472$\frac{\partial}{\partial \boldsymbol{u}} \bar v_t(\boldsymbol{x}, \boldsymbol{u}) = 0$.
473
474$$\begin{array}{rcl}
475\frac{\partial}{\partial \boldsymbol{u}} \bar v_{t + 1}(\boldsymbol{x}_{t+1}, \boldsymbol{u})
476 &=& \frac{1}{2} \left(
477 \boldsymbol{x}_{t + 1}^T \bar A_t^T \left( \bar S_t + Q_t \right) \bar B_t +
478
479 \left(\bar B_t^T \left( \bar S_t + Q_t \right) \bar A_t \boldsymbol{x}_{t + 1}\right)^T + \right. \\&&
480
481 2 \boldsymbol{u}^T \bar B_t^T \left( \bar S_t + Q_t \right) \bar B_t +
482 \left( \bar B_t^T \left( \bar S_t + Q_t \right) \boldsymbol{\bar c}_t \right)^T + \\&&
483 \left. \boldsymbol{\bar c}_t^T \left( \bar S_t + Q_t \right) \bar B_t \right) + \\&&
484 \boldsymbol{\bar s}_t ^T \bar B_t + \\&&
485
486 \frac{1}{2} \left( P_t \bar A_{t} \boldsymbol{x}_{t + 1}\right) ^T +
487 \frac{1}{2} \boldsymbol{x}_{t+1}^T \bar A^T_t P_t^T + \\&&
488
489 \frac{1}{2} \boldsymbol{u}^T \left( P_t \bar B_{t} + \bar B_t^T P_t^T \right) +
490 \frac{1}{2} \boldsymbol{u}^T \left( \bar B^T_{t} P_t^T + P_t \bar B_t \right) + \\&&
491 \frac{1}{2} \left( P_t \boldsymbol{\bar c}_{t} \right)^T +
492 \frac{1}{2} \boldsymbol{\bar c}^T_{t} P_t^T +
493
494 \boldsymbol{u}^T R_t + \\&&
495
496 \left(\bar B^T_t \boldsymbol{q}_t\right)^T +
497
498 \boldsymbol{r}_t^T \\
499
500 &=&
501 \boldsymbol{x}_{t + 1}^T \bar A_t^T \left( \bar S_t + Q_t \right) \bar B_t +
502 \boldsymbol{u}^T \bar B_t^T \left( \bar S_t + Q_t \right) \bar B_t +
503
504 \boldsymbol{\bar c}_t^T \left( \bar S_t + Q_t \right) \bar B_t + \\&&
505
506 \boldsymbol{\bar s}_t ^T \bar B_t + \\&&
507
508 \boldsymbol{x}_{t+1}^T \bar A^T_t P_t^T + \\&&
509
510 \boldsymbol{u}^T \left( \bar B^T_{t} P_t^T + P_t \bar B_t \right) + \\&&
511 \boldsymbol{\bar c}^T_{t} P_t^T +
512
513 \boldsymbol{u}^T R_t + \\&&
514
515 \boldsymbol{q}_t^T \bar B_t +
516 \boldsymbol{r}_t^T \\
5170 &=&
518 \boldsymbol{x}_{t + 1}^T \left( \bar A_t^T \left( \bar S_t + Q_t \right) \bar B_t + \bar A^T_t P_t^T \right) + \\&&
519
520 \boldsymbol{u}^T \left(
521 \bar B_t^T \left( \bar S_t + Q_t \right) \bar B_t +
522 \bar B^T_{t} P_t^T + P_t \bar B_t + R_t
523 \right) + \\&&
524
525 \boldsymbol{\bar c}_t^T \left( \bar S_t + Q_t \right) \bar B_t +
526 \boldsymbol{\bar s}_t^T \bar B_t +
527 \boldsymbol{\bar c}^T_{t} P_t^T +
528 \boldsymbol{q}_t^T \bar B_t +
529 \boldsymbol{r}_t^T \\
530\end{array}$$
531
532$$\begin{array}{rcl}
533 \boldsymbol{u}^T \left(
534 \bar B_t^T \left( \bar S_t + Q_t \right) \bar B_t +
535 \bar B^T_{t} P_t^T + P_t \bar B_t + R_t
536 \right)
537 &=&
538 - \boldsymbol{x}_{t + 1}^T \left( \bar A_t^T \left( \bar S_t + Q_t \right) \bar B_t + \bar A^T_t P_t^T \right) - \\&&
539
540
541 \left( \boldsymbol{\bar c}_t^T \left( \bar S_t + Q_t \right) \bar B_t +
542 \boldsymbol{\bar s}_t^T \bar B_t +
543 \boldsymbol{\bar c}^T_{t} P_t^T +
544 \boldsymbol{q}_t^T \bar B_t +
545 \boldsymbol{r}_t^T \right) \\
546
547\left(
548 \bar B_t^T \left( \bar S_t + Q_t \right) \bar B_t +
549 \bar B^T_{t} P_t^T + P_t \bar B_t + R_t
550\right) \boldsymbol{u}
551 &=&
552 - \left( \bar B_t^T \left( \bar S_t + Q_t \right) \bar A_t + P_t \bar A_t \right) \boldsymbol{x}_{t + 1} - \\&&
553
554 \left( \bar B_t^T \left( \bar S_t + Q_t \right) \boldsymbol{\bar c}_t +
555 \bar B_t^T \boldsymbol{\bar s}_t +
556 P_t \boldsymbol{\bar c}_{t} +
557 \bar B_t^T \boldsymbol{q}_t +
558 \boldsymbol{r}_t \right) \\
559\end{array}$$
560
561Some substitutions to use for simplifying:
562
563$$\begin{array}{rcl}
564\bar C_t &=& \bar B_t^T \left( \bar S_t + Q_t \right) \bar A_t + P_t \bar A_t \\
565\bar E_t &=&
566 \bar B_t^T \left( \bar S_t + Q_t \right) \bar B_t +
567 \bar B^T_{t} P_t^T + P_t \bar B_t + R_t \\
568\bar L_t &=& - \bar E_t^{-1} \bar C_t \\
569
570\boldsymbol{\bar e}_t &=&
571 \bar B_t^T \left( \bar S_t + Q_t \right) \boldsymbol{\bar c}_t +
572 \bar B_t^T \boldsymbol{\bar s}_t +
573 P_t \boldsymbol{\bar c}_{t} +
574 \bar B_t^T \boldsymbol{q}_t +
575 \boldsymbol{r}_t \\
576\boldsymbol{\bar l}_t &=& - \bar E_t^{-1} \boldsymbol{\bar e}_t \\
577
578\bar D_t &=& \bar A_t^T \left( \bar S_t + Q_t \right) \bar A_t \\
579\boldsymbol{\bar d}_t &=&
580 \bar A_t^T \left( \bar S_t + Q_t \right) \boldsymbol{\bar c}_t +
581 \bar A_t^T \left( \boldsymbol{\bar s}_t + \boldsymbol{q}_t \right) \\
582
583\boldsymbol{u} &=& - \bar E_t^{-1} \bar C_t \boldsymbol{x}_{t + 1} - \bar E_t^{-1} \boldsymbol{\bar e}_t \\
584\boldsymbol{u} &=& \bar L_t \boldsymbol{x}_{t + 1} + \boldsymbol{\bar l}_t \\
585
586\bar E_t \boldsymbol{u} &=& -\bar C_t \boldsymbol{x}_{t + 1} - \boldsymbol{\bar e}_t
587\end{array}$$
588
589Now, let's solve for the new cost function.
590
591$$\begin{array}{rcl}
592\bar v_{t + 1}(\boldsymbol{x}_{t+1}, \boldsymbol{u})
593 &=& \frac{1}{2} \left(
594 \boldsymbol{x}_{t + 1}^T \bar A_t^T \left( \bar S_t + Q_t \right) \bar A_t \boldsymbol{x}_{t + 1} +
595 \boldsymbol{x}_{t + 1}^T \bar A_t^T \left( \bar S_t + Q_t \right) \bar B_t \boldsymbol{u} +
596 \boldsymbol{x}_{t + 1}^T \bar A_t^T \left( \bar S_t + Q_t \right) \boldsymbol{\bar c}_t + \right. \\&&
597 \boldsymbol{u}^T \bar B_t^T \left( \bar S_t + Q_t \right) \bar A_t \boldsymbol{x}_{t + 1} +
598 \boldsymbol{u}^T \bar B_t^T \left( \bar S_t + Q_t \right) \bar B_t \boldsymbol{u} +
599 \boldsymbol{u}^T \bar B_t^T \left( \bar S_t + Q_t \right) \boldsymbol{\bar c}_t + \\&&
600 \left. \boldsymbol{\bar c}_t^T \left( \bar S_t + Q_t \right) \bar A_t \boldsymbol{x}_{t + 1} +
601 \boldsymbol{\bar c}_t^T \left( \bar S_t + Q_t \right) \bar B_t \boldsymbol{u} +
602 \boldsymbol{\bar c}_t^T \left( \bar S_t + Q_t \right) \boldsymbol{\bar c}_t \right) + \\&&
603
604 \boldsymbol{x}_{t + 1}^T \bar A_t^T \boldsymbol{\bar s}_t +
605 \boldsymbol{u}^T \bar B_t^T \boldsymbol{\bar s}_t +
606 \boldsymbol{\bar c}_t^T \boldsymbol{\bar s}_t +
607
608 \bar s_t + \\ &&
609
610 \frac{1}{2} \left( \boldsymbol{u}^T P_t \bar A_{t} \boldsymbol{x}_{t + 1} +
611 \boldsymbol{u}^T P_t \bar B_{t} \boldsymbol{u} +
612 \boldsymbol{u}^T P_t \boldsymbol{\bar c}_{t} \right) + \\&&
613 \frac{1}{2} \left( \boldsymbol{x}_{t+1}^T \bar A^T_t P_t^T \boldsymbol{u} +
614 \boldsymbol{u}^T \bar B^T_{t} P_t^T \boldsymbol{u} +
615 \boldsymbol{\bar c}_t^T P^T_t \boldsymbol{u} \right) + \\&&
616
617 \frac{1}{2} \boldsymbol{u}^T R_t \boldsymbol{u} + \\&&
618
619 \boldsymbol{x}^T_{t + 1} \bar A^T_t \boldsymbol{q}_t +
620 \boldsymbol{u}^T \bar B^T_t \boldsymbol{q}_t +
621 \boldsymbol{\bar c}_t^T \boldsymbol{q}_t +
622
623 \boldsymbol{u}^T \boldsymbol{r}_t + q_t \\
624
625\bar v_{t + 1}(\boldsymbol{x}_{t+1}, \boldsymbol{u})
626 &=& \frac{1}{2} \left(
627 \boldsymbol{x}_{t + 1}^T \bar D_t \boldsymbol{x}_{t + 1} +
628 \boldsymbol{x}_{t + 1}^T \bar C_t^T \boldsymbol{u} +
629 \boldsymbol{u}^T \bar C_t \boldsymbol{x}_{t + 1} +
630 \boldsymbol{u}^T \bar E_t \boldsymbol{u} \right) + \\&&
631
632 \boldsymbol{x}_{t + 1}^T \boldsymbol{\bar d}_t +
633
634 \boldsymbol{u}^T \boldsymbol{\bar e}_t + \\&&
635
636 \frac{1}{2} \boldsymbol{\bar c}_t^T \left( \bar S_t + Q_t \right) \boldsymbol{\bar c}_t +
637 \boldsymbol{\bar c}_t^T \boldsymbol{\bar s}_t + \boldsymbol{\bar c}_t^T \boldsymbol{q}_t + \bar s_t + q_t \\
638
639\bar v_{t + 1}(\boldsymbol{x}_{t+1})
640 &=& \frac{1}{2} \left(
641 \boldsymbol{x}_{t + 1}^T \bar D_t \boldsymbol{x}_{t + 1} + \right. \\ &&
642 \boldsymbol{x}_{t + 1}^T \bar C_t^T \left( -\bar E_t^{-1} \bar C_t \boldsymbol{x}_{t + 1} - \bar E_t^{-1} \boldsymbol{\bar e}_t \right) + \\&&
643 \left( -\bar E_t^{-1} \bar C_t \boldsymbol{x}_{t + 1} - \bar E_t^{-1} \boldsymbol{\bar e}_t \right)^T \bar C_t \boldsymbol{x}_{t + 1} + \\&&
644 \left. \left( -\bar E_t^{-1} \bar C_t \boldsymbol{x}_{t + 1} - \bar E_t^{-1} \boldsymbol{\bar e}_t \right)^T \bar E_t \left( -\bar E_t^{-1} \bar C_t \boldsymbol{x}_{t + 1} - \bar E_t^{-1} \boldsymbol{\bar e}_t \right) \right) + \\&&
645
646 \boldsymbol{x}_{t + 1}^T \boldsymbol{\bar d}_t +
647
648 \left( -\bar E_t^{-1} \bar C_t \boldsymbol{x}_{t + 1} - \bar E_t^{-1} \boldsymbol{\bar e}_t \right)^T \boldsymbol{\bar e}_t + \\&&
649
650 \frac{1}{2} \boldsymbol{\bar c}_t^T \left( \bar S_t + Q_t \right) \boldsymbol{\bar c}_t +
651 \boldsymbol{\bar c}_t^T \boldsymbol{\bar s}_t + \boldsymbol{\bar c}_t^T \boldsymbol{q}_t + \bar s_t + q_t \\
652
653\bar v_{t + 1}(\boldsymbol{x}_{t+1})
654 &=& \frac{1}{2}
655 \boldsymbol{x}_{t + 1}^T \left(\bar D_t - \bar C_t^T \bar E_t^{-1} \bar C_t \right) \boldsymbol{x}_{t + 1} + \\ &&
656
657 \boldsymbol{x}_{t + 1}^T \left(\boldsymbol{\bar d}_t
658 - \bar C_t^T \bar E_t^{-1} \boldsymbol{\bar e}_t \right)\\&&
659
660 - \frac{1}{2} \boldsymbol{\bar e}_t^T \bar E_t^{-1} \boldsymbol{\bar e}_t +
661 \frac{1}{2} \boldsymbol{\bar c}_t^T \left( \bar S_t + Q_t \right) \boldsymbol{\bar c}_t +
662 \boldsymbol{\bar c}_t^T \boldsymbol{\bar s}_t + \boldsymbol{\bar c}_t^T \boldsymbol{q}_t + \bar s_t + q_t \\
663\end{array}$$
664
665Ok, let's now pull out the 3 variables of interest and do further simplification.
666
667$$\begin{array}{rcl}
668\bar v_{t + 1}(\boldsymbol{x}_{t+1}) &=& \frac{1}{2} \boldsymbol{x}_{t + 1}^T \bar S_{t + 1} \boldsymbol{x}_{t + 1} + \boldsymbol{x}_{t + 1}^T \boldsymbol{\bar s}_{t + 1} + \bar s_{t+1} \\
669 \bar S_{t + 1} &=& \bar D_t - \bar C_t^T \bar E_t^{-1} \bar C_t \\
670 \boldsymbol{\bar s}_{t + 1} &=&
671 \left(\boldsymbol{\bar d}_t - \bar C_t^T \bar E_t^{-1} \boldsymbol{\bar e}_t \right)\\
672
673\bar s_{t+1} &=&
674 - \frac{1}{2} \boldsymbol{\bar e}_t^T \bar E_t^{-1} \boldsymbol{\bar e}_t +
675 \frac{1}{2} \boldsymbol{\bar c}_t^T \left( \bar S_t + Q_t \right) \boldsymbol{\bar c}_t +
676 \boldsymbol{\bar c}_t^T \boldsymbol{\bar s}_t + \boldsymbol{\bar c}_t^T \boldsymbol{q}_t + \bar s_t + q_t \\
677\end{array}$$
678
679\newpage
680\section{Detailed work for a few transformations}
681
682$$\begin{array}{l}
683\begin{bmatrix} \boldsymbol{x} \\ \boldsymbol{u} \end{bmatrix}^T
684\begin{bmatrix} Q_{t} & P_{t}^T \\ P_{t} & R_{t} \end{bmatrix}
685\begin{bmatrix} \boldsymbol{x} \\ \boldsymbol{u} \end{bmatrix} \\
686
687\begin{bmatrix} \boldsymbol{x}_1 & \boldsymbol{x}_2 & \boldsymbol{u}_1 & \boldsymbol{u}_2 \end{bmatrix}
688\left[\begin{array}{cc|cc}
689 Q_{t11} & Q_{t12} & P_{t11} & P_{t21} \\
690 Q_{t21} & Q_{t22} & P_{t12} & P_{t22} \\
691 \hline
692 P_{t11} & P_{t12} & R_{t11} & R_{t12} \\
693 P_{t21} & P_{t22} & R_{t21} & R_{t22} \\
694\end{array}\right]
695\begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \\ \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix}
696\\
697\begin{bmatrix}
698 \begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \\ \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix} \cdot
699 \begin{bmatrix} Q_{t11} \\ Q_{t21} \\ P_{t11} \\ P_{t21} \end{bmatrix} &
700 \begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \\ \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix} \cdot
701 \begin{bmatrix} Q_{t12} \\ Q_{t22} \\ P_{t12} \\ P_{t22} \end{bmatrix} &
702 \begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \\ \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix} \cdot
703 \begin{bmatrix} P_{t11} \\ P_{t12} \\ R_{t11} \\ R_{t21} \end{bmatrix} &
704 \begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \\ \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix} \cdot
705 \begin{bmatrix} P_{t21} \\ P_{t22} \\ R_{t12} \\ R_{t22} \end{bmatrix} &
706\end{bmatrix}
707\begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \\ \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix}
708\\
709\begin{bmatrix}
710 \begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \end{bmatrix} \cdot
711 \begin{bmatrix} Q_{t11} \\ Q_{t21} \end{bmatrix}
712 \begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \end{bmatrix} \cdot
713 \begin{bmatrix} Q_{t12} \\ Q_{t22} \end{bmatrix}
714 \begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \end{bmatrix} \cdot
715 \begin{bmatrix} P_{t11} \\ P_{t12} \end{bmatrix}
716 \begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \end{bmatrix} \cdot
717 \begin{bmatrix} P_{t21} \\ P_{t22} \end{bmatrix}
718\end{bmatrix}
719\begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \\ \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix} + \\ \quad
720\begin{bmatrix}
721 \begin{bmatrix} \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix} \cdot
722 \begin{bmatrix} P_{t11} \\ P_{t21} \end{bmatrix} &
723 \begin{bmatrix} \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix} \cdot
724 \begin{bmatrix} P_{t12} \\ P_{t22} \end{bmatrix} &
725 \begin{bmatrix} \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix} \cdot
726 \begin{bmatrix} R_{t11} \\ R_{t21} \end{bmatrix} &
727 \begin{bmatrix} \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix} \cdot
728 \begin{bmatrix} R_{t12} \\ R_{t22} \end{bmatrix} &
729\end{bmatrix}
730\begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \\ \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix}
731\\
732\begin{bmatrix} \begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \end{bmatrix} \cdot
733 \begin{bmatrix} Q_{t11} \\ Q_{t21} \end{bmatrix} &
734 \begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \end{bmatrix} \cdot
735 \begin{bmatrix} Q_{t12} \\ Q_{t22} \end{bmatrix}\end{bmatrix}
736 \begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \end{bmatrix} +
737\begin{bmatrix} \begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \end{bmatrix} \cdot
738 \begin{bmatrix} P_{t11} \\ P_{t12} \end{bmatrix} &
739 \begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \end{bmatrix} \cdot
740 \begin{bmatrix} P_{t21} \\ P_{t22} \end{bmatrix}\end{bmatrix}
741 \begin{bmatrix} \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix} + \\ \quad
742\begin{bmatrix} \begin{bmatrix} \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix} \cdot
743 \begin{bmatrix} P_{t11} \\ P_{t21} \end{bmatrix} &
744 \begin{bmatrix} \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix} \cdot
745 \begin{bmatrix} P_{t12} \\ P_{t22} \end{bmatrix}\end{bmatrix}
746 \begin{bmatrix} \boldsymbol{x}_1 \\ \boldsymbol{x}_2 \end{bmatrix} +
747\begin{bmatrix} \begin{bmatrix} \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix} \cdot
748 \begin{bmatrix} R_{t11} \\ R_{t21} \end{bmatrix} &
749 \begin{bmatrix} \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix} \cdot
750 \begin{bmatrix} R_{t12} \\ R_{t22} \end{bmatrix}\end{bmatrix}
751 \begin{bmatrix} \boldsymbol{u}_1 \\ \boldsymbol{u}_2 \end{bmatrix}
752\\
753\boldsymbol{x}^T Q_t \boldsymbol{x} + \boldsymbol{u}^T P_t \boldsymbol{x} + \boldsymbol{x}^T P_t^T \boldsymbol{u} + \boldsymbol{u}^T R_t \boldsymbol{u}
754\end{array}$$
755\\ \\
756$$\begin{array}{l}
757\begin{bmatrix} \boldsymbol{x} \\ \boldsymbol{u} \end{bmatrix}^T
758\begin{bmatrix} \boldsymbol{q}_{t} \\ \boldsymbol{r}_{t} \end{bmatrix}
759\\
760\begin{bmatrix} \boldsymbol{x}_1 & \boldsymbol{x}_2 & \boldsymbol{u}_1 & \boldsymbol{u}_2 \end{bmatrix}
761\begin{bmatrix} \boldsymbol{q}_{t1} \\ \boldsymbol{q}_{t2} \\ \boldsymbol{r}_{t1} \\ \boldsymbol{r}_{t1} \end{bmatrix}
762\\
763\boldsymbol{x}^T \boldsymbol{q}_t + \boldsymbol{u}^T \boldsymbol{r}_t
764\end{array}$$
765
766\end{document}