Re: [R] Efficient matrix computations

2009-02-17 Thread Shimrit Abraham
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.rizopou...@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]]

__
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.


Re: [R] Efficient matrix computations

2009-02-17 Thread Dimitris Rizopoulos

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

__
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.


Re: [R] Efficient matrix computations

2009-02-17 Thread Dimitris Rizopoulos
it would be a bit more helpful if we knew more info regarding these 
matrices, for instance is P diagonal, etc. In any case, you could have a 
look at


crossprod()
# and
tcorssprod()

and, for the determinant maybe

prod(eigen(mat, symmetric = TRUE, only.values = FALSE)$values)
# or
prod(diag(chol(mat)))^2

are a bit faster than det(), but I haven't tested it.

I hope it helps.

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

__
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.


[R] Efficient matrix computations

2009-02-17 Thread Shimrit Abraham
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.