Array filter
Array algorithm
Using the following notations:
A square root array algorithm is based on the following consideration. Suppose that we triangularize a matrix $A$ by means of an orthogonal transformation $\Omega$. We have then that $AA’=A\Omega \Omega’ A’=BB’$
the array form of the Kalman filter is described by the following sequence:
The second step is defined by the “pre-array” matrix, which is triangularized by means of usual orthogonal transformations. JD+ uses Givens rotations when the pre-array form is quasi-triangular and Householder reflections in the other cases.
Indeed, we have that
The other quantities are computed as usual:
Implementation
The array filter is implemented in the classes demetra.ssf.array.ArrayFilter
and demetra.ssf.array.MultivariateArrayFilter
.