Thanks for your suggestions.

I'll try to implement what you suggested.

Perhaps the following information can help you to think of alternative ways
to speed up computations:

I am coding the Kalman Filter in R because I have certain requirements that
are not provided by the packages regarding State Space  models (dlm, sspir,
dse, are there any more? ) .
Since I don't see a way to avoid a for loop, I am trying to make the matrix
computations as efficent as possible by using the properties that some of
these matrices possess, hence my questions.

The Kalman Filter requires sandwich matrix products, say ZPZ', where P is a
covariance matrix, hence positive definite and symmetric (Z is not
necessarily a square matrix). To compute the likelihood, I also need an
efficient way to calculate the determinant of a covariance matrix, which is
again positive definite and symmetric.

Please let me know if this information gives you some new ideas on how to
solve my problem.

Thanks,

S.A.



On Tue, Feb 17, 2009 at 11:09 AM, Dimitris Rizopoulos <
d.rizopoulos@erasmusmc.nl> wrote:

> sorry, in my previous e-mail it should be
>
> tcrossprod()
> # and
> prod(eigen(mat, symmetric = TRUE, only.values = TRUE)$values)
>
>
> Best,
> Dimitris
>
> Shimrit Abraham wrote:
>
>> Hi,
>>
>> I am looking for two ways to speed up my computations:
>>
>> 1. Is there a function that efficiently computes the 'sandwich product' of
>> three matrices, say, ZPZ'
>> 2. Is there a function that efficiently computes the determinant of a
>> positive definite symmetric matrix?
>>
>> Thanks,
>>
>> S.A.
>>
>>        [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>>
> --
> Dimitris Rizopoulos
> Assistant Professor
> Department of Biostatistics
> Erasmus Medical Center
>
> Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
> Tel: +31/(0)10/7043478
> Fax: +31/(0)10/7043014
>
>

	[[alternative HTML version deleted]]


