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.