20.07.2013 Views

A Brief Tutorial on the Ensemble Kalman Filter

A Brief Tutorial on the Ensemble Kalman Filter

A Brief Tutorial on the Ensemble Kalman Filter

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Note that since R is a covariance matrix, it is always positive semidefinite and usually<br />

positive definite, so <strong>the</strong> inverse above exists and <strong>the</strong> formula can be implemented by <strong>the</strong> Choleski<br />

decompositi<strong>on</strong> [19]. In [7, 10], R is replaced by <strong>the</strong> sample covariance DD T /(N − 1) and <strong>the</strong> inverse<br />

is replaced by a pseudoinverse, computed using <strong>the</strong> Singular Values Decompositi<strong>on</strong> (SVD).<br />

Since <strong>the</strong>se formulas are matrix operati<strong>on</strong>s with dominant Level 3 operati<strong>on</strong>s [14], <strong>the</strong>y are<br />

suitable for efficient implementati<strong>on</strong> using software packages such as LAPACK (<strong>on</strong> serial and<br />

shared memory computers) and ScaLAPACK (<strong>on</strong> distributed memory computers) [19]. Instead<br />

of computing <strong>the</strong> inverse of a matrix and multiplying by it, it is much better (several times<br />

cheaper and also more accurate) to compute <strong>the</strong> Choleski decompositi<strong>on</strong> of <strong>the</strong> matrix and treat<br />

<strong>the</strong> multiplicati<strong>on</strong> by <strong>the</strong> inverse as soluti<strong>on</strong> of a linear system with many simultaneous right-hand<br />

sides [14].<br />

4.2 Observati<strong>on</strong> matrix-free implementati<strong>on</strong><br />

It is usually inc<strong>on</strong>venient to c<strong>on</strong>struct and operate with <strong>the</strong> matrix H explicitly; instead, a functi<strong>on</strong><br />

h(x) of <strong>the</strong> form<br />

h(x) = Hx, (1)<br />

is more natural to compute. The functi<strong>on</strong> h is called <strong>the</strong> observati<strong>on</strong> functi<strong>on</strong> or, in <strong>the</strong> inverse<br />

problems c<strong>on</strong>text, <strong>the</strong> forward operator. The value of h(x) is what <strong>the</strong> value of <strong>the</strong> data would be<br />

for <strong>the</strong> state x assuming <strong>the</strong> measurement is exact. Then [19, 22] <strong>the</strong> posterior ensemble can be<br />

rewritten as<br />

X p = X + 1<br />

N − 1 A(HA)T P −1 (D − HX)<br />

where<br />

and<br />

with<br />

HA = HX − 1<br />

N ((HX)eN×1)e1×N,<br />

P = 1<br />

N − 1 HA(HA)T + R,<br />

[HA] i = Hxi − H 1<br />

N<br />

= h(xi) − 1<br />

N<br />

N<br />

j=1<br />

xj<br />

N<br />

h(xj).<br />

C<strong>on</strong>sequently, <strong>the</strong> ensemble update can be computed by evaluating <strong>the</strong> observati<strong>on</strong> functi<strong>on</strong> h <strong>on</strong><br />

each ensemble member <strong>on</strong>ce and <strong>the</strong> matrix H does not need to be known explicitly. This formula<br />

also holds [19] for an observati<strong>on</strong> functi<strong>on</strong> h(x) = Hx + f with a fixed offset f, which also does<br />

not need to be known explicitly. The above formula has been comm<strong>on</strong>ly used for a n<strong>on</strong>linear<br />

observati<strong>on</strong> functi<strong>on</strong> h, such as <strong>the</strong> positi<strong>on</strong> of a hurricane vortex [8]. In that case, <strong>the</strong> observati<strong>on</strong><br />

functi<strong>on</strong> is essentially approximated by a linear functi<strong>on</strong> from its values at <strong>the</strong> ensemble members.<br />

4<br />

j=1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!