# [R] matrix which results singular but at the same time positive definite

Paul Gilbert pgilbert902 at gmail.com
Tue Dec 15 15:28:57 CET 2015

```Stefano

I think in other response to in this thread you got the answer to the
question you asked, but you may be asking the wrong question. I'm not
familiar with the specific papers you mention and you have not provided
enough detail about what you are doing, so I am guessing a bit. The term
"dynamic linear model" can refer to both linear ARMA/ARIMA models and to
linear state-space models, however some authors use it to refer
exclusively to state-space models and from your phrasing I am guessing
you are doing that. There would be many state-space models equivalent to
a given ARMA/ARIMA model, but without specifying structural aspects of
the system you will likely be using one of the innovations form
state-space models that are equivalent. In an innovations form
state-space model the state is defined as an expectation. From a
practical point of view, this is one of the most important differences
between an innovation form and a non-innovations form state-space model.
Since the expectation is known exactly, the state-tracking error is
zero. That means the covariance matrix from the filter or smoother
should be a zero matrix, which you should not be trying to invert. In a
non-innovations form the state has a physical interpretation rather than
being an expectation, so the state tracking error should not be
degenerate in that case.

I mention all this because your covariance matrix looks very close to zero.

Paul Gilbert

On 12/11/2015 06:00 AM, r-help-request at r-project.org wrote:
> Dear John, thank you for your considerations. This matrix (which is a
> variance matrix) is part of an algorithm for forward-filtering and
> backward-sampling of Dynamic Linear Models (West and Harrison, 1997),
> applied to DLM representation of ARIMA processes (Petris, Petrone,
> Campagnoli).  It is therefore very difficult to explain why this
> variance matrix becomes so ill conditioned. This already happens at
> the first iteration of the algorithm. I will try to work on initial
> conditions and some fixed parameters.
>
> Thank you again Stefano
>

```