ESAIM: COCV 17 (2011) 406–409 ESAIM: Control, Optimisation and Calculus of Variations
DOI:10.1051/cocv/2011001 www.esaim-cocv.org
ERRATUM OF ARTICLE “REDUCED-ORDER UNSCENTED KALMAN FILTERING WITH APPLICATION TO PARAMETER IDENTIFICATION
IN LARGE-DIMENSIONAL SYSTEMS”
Philippe Moireau
1and Dominique Chapelle
1Received November 16, 2010.
Published online January 19, 2011.
ESAIM: COCV (2010) DOI: 10.1051/cocv/2010006
Some errors were introduced in (3.8) when summarizing the derivations of Section 3.2 (specifically in the sec- ond line of (3.8b) and third line of (3.8c)), hence we here rewrite the whole corrected summary for completeness.
Algorithm summary for the simplex case. Given adequate sampling rules, precompute the correspond- ing [I∗],
• Sampling:
Cn = Un−1
Xˆn(i)+= ˆXn++LnCnI(i), 1≤i≤p+ 1. (3.8a)
• Prediction:
⎧⎪
⎪⎪
⎪⎪
⎪⎪
⎪⎨
⎪⎪
⎪⎪
⎪⎪
⎪⎪
⎩
Xˆn+1− =Eα(A( ˆXn∗+)) Xˆn+1(i)−=
Xˆn+1− + [A( ˆXn∗+)]Dα[V∗]T([V∗]Dα[V∗]T)−1/2I(i) with resampling or
A( ˆXn(i)+) without resampling
Ln+1= [Xn+1∗− ]Dα[V∗]T ∈ Md,p
Pn+1− =Ln+1(PαV)−1LTn+1.
(3.8b)
• Correction:
⎧⎪
⎪⎪
⎪⎪
⎪⎨
⎪⎪
⎪⎪
⎪⎪
⎩
Zn+1(i) =H( ˆXn+1(i)−),
{HL}n+1= [Zn+1∗ ]Dα[V∗]T
Un+1=PαV +{HL}Tn+1Wn+1−1 {HL}n+1∈ Mp
Xˆn+1+ = ˆXn+1− +Ln+1Un+1−1 {HL}Tn+1Wn+1−1 (Zn+1−Eα(Zn+1∗ )) Pn+1+ =Ln+1Un+1−1 LTn+1.
(3.8c)
1 INRIA, B.P. 105, 78153 Le Chesnay Cedex, France.[email protected]; [email protected]
Article published by EDP Sciences c EDP Sciences, SMAI 2011
ERRATUM 407 Next, although the other algorithm summary (3.14) was algebraically correct, it implicitly assumed the matrixDm to be invertible, which does not always hold. Hence, we rewrite the whole algorithm without using this assumption.
Algorithm summary for the general case.Given adequate sampling rules, precompute the correspond- ing [V∗],PαV = [V∗]Dα[V∗]T, [I∗] = ([V∗]Dα[V∗]T)−12[V∗], andDV =Dα[V∗]T(PαV)−1[V∗]Dα.
• Sampling:
Cn = Un−1
Xˆn(i)+= ˆXn++LnCnI(i), 1≤i≤r. (3.14a)
• Prediction:
⎧⎪
⎪⎪
⎪⎨
⎪⎪
⎪⎪
⎩
Xˆn+1− =Eα(A( ˆXn∗+))
Xˆn+1(i)−= ˆXn+1− + [A( ˆXn∗+)−Xˆn+1− ]Dα12ΥpI(i), resampling with SVD Ln+1= [Xn+1∗− ]Dα[V∗]T ∈ Md,p
Pn+1− =Ln+1(PαV)−1LTn+1.
(3.14b)
• Correction:
⎧⎪
⎪⎪
⎪⎪
⎪⎪
⎪⎪
⎨
⎪⎪
⎪⎪
⎪⎪
⎪⎪
⎪⎩
[ ˜Z] = [H( ˆXn+1∗ )−Eα(H( ˆXn+1∗ ))]
Dm= [ ˜Z]TWn+1−1 [ ˜Z]∈ Mr
Un+1=PαV + [V∗]Dα ½+Dm(Dα−DV)−1
DmDα[V∗]T ∈ Mp
{HL}n+1= [ ˜Z](½+DαDm)−1
½+DV ½+Dm(Dα−DV)−1 Dm
Dα[V∗]T Xˆn+1+ = ˆXn+1− +Ln+1Un+1−1 {HL}Tn+1Wn+1−1 (Zn+1−Eα(Zn+1∗ ))
Pn+1+ =Ln+1Un+1−1 LTn+1.
(3.14c)
We provide the proof for the correction step (3.14c) which contains the alternative equations valid without any assumption onDm. First, we can write the filter in the form
Kˆn+1=PαX˜Z˜(PαZ˜)−1,
and we will compute this operator using the matrix inversion lemma to obtain a tractable algorithm. To this end we introduce the following compact notation
[ ˜X] = [ ˆXn+1∗ −Xˆn+1− ], [ ˜Z] = [Zn+1∗ −Eα(Zn+1∗ )], and we then have
Kˆn+1= [ ˜X]Dα[ ˜Z]T(Wn+1+ [ ˜Z]Dα[ ˜Z]T)−1
= [ ˜X]Dα[ ˜Z]T
Wn+1−1 −Wn+1−1 [ ˜Z](Dα−1+ [ ˜Z]TWn+1−1[ ˜Z])−1[ ˜Z]TWn+1−1
= [ ˜X]Dα
½r−[ ˜Z]TWn+1−1 [ ˜Z](D−1α + [ ˜Z]TWn+1−1 [ ˜Z])−1
[ ˜Z]TWn+1−1. Let us now set
Dm = [ ˜Z]TWn+1−1 [ ˜Z]∈ Mr,
which – unlike forPαZ˜– can be computed in practice, since its dimension is equal to the number of sigma-points.
408 P. MOIREAU AND D. CHAPELLE
We thus have
Kˆn+1= [ ˜X]Dα(½−Dm(D−1α +Dm)−1)[ ˜Z]TWn+1−1 ,
= [ ˜X]Dα(½+DmDα)−1[ ˜Z]TWn+1−1 , (1) where we have used the matrix inversion lemma in the second line. Note that the invertibility of a matrix
½+ABwith both AandB symmetric positive matrices is a standard property (e.g.one-to-one can be proven by decomposingRrinto the direct sum of KerAand ImA). Then, by the same argument as in Proposition 3.1, the filter can also be written in the form
Kˆn+1=Ln+1(PαV)−1[V∗]Dα(½+DmDα)−1[ ˜Z]TWn+1−1 , (2) with
Ln+1= [ ˆXn+1∗− ]Dα[V∗]T.
Note that the term [ ˜Z]T in (1) cannot be treated in the same manner since the sigma-points propagated by the observation operator do not satisfy the original constraints. In addition to the gain, we also need to compute thea posteriori covariance matrix in order to resample at the next step. We have
Pn+1+ =Pn+1− −PαX˜˜Z(PαZ˜)−1(PαX˜˜Z)T (3)
=Pn+1− −[ ˜X]Dα ½−Dm(D−1α +Dm)−1
DmDα[ ˜X]T. (4) We now use the matrix inversion lemma as in (1) to simplify
Pn+1+ =Pn+1− −[ ˜X]Dα(½+DmDα)−1DmDα[ ˜X]T
=Pn+1− −Ln+1(PαV)−1[V∗]Dα(½+DmDα)−1DmDα[V∗]T(PαV)−1LTn+1
=Ln+1
(PαV)−1−(PαV)−1[V∗]Dα(½+DmDα)−1DmDα[V∗]T(PαV)−1 LTn+1.
The advantage of this last form is that we can again write
Pn+1+ =Ln+1Un+1−1 LTn+1, with
Un+1−1 = (PαV)−1−(PαV)−1[V∗]Dα(½+DmDα)−1DmDα[V∗]T(PαV)−1. Hence, definingDV ∈ Mras
DV =Dα[V∗]T(PαV)−1[V∗]Dα, we can simplify – with another application of the matrix inversion lemma
Un+1=PαV + [V∗]Dα ½+Dm(Dα−DV)−1
DmDα[V∗]T. This identity of course requires that ½+Dm(Dα−DV)
be invertible, which can be established by proving that Dα−DV is a symmetric positive matrix. We have by definition, indeed,
[V∗]DV[V∗]T =PαV(PαV)−1PαV = [V∗]Dα[V∗]T, hence, for any vectorR∈Rr in the range of the rows of [V∗]
RT(Dα−DV)R= 0.
ERRATUM 409 If we now consider S∈RrDα-orthogonal to this range, namely, satisfying
[V∗]DαS= 0, we have
STDVS=STDα[V∗]T(PαV)−1[V∗]DαS= 0, hence,
ST(Dα−DV)S=STDαS ≥0, which shows thatDα−DV is positive as claimed.
It is now obvious that by defining
{HL}n+1= [ ˜Z](½+DαDm)−1
½+DV ½+Dm(Dα−DV)−1 Dm
Dα[V∗]T,
we can rewrite the filter in the following form
Xˆn+1+ = ˆXn+1− +Ln+1Un+1−1 {HL}Tn+1Wn+1−1(Zn+1−Eα(Zn+1∗ )).
Finally, we point out that this algorithm is implemented in the Verdandi2 opensource data assimilation library.
2http://verdandi.gforge.inria.fr/