Re: [R] Efficient matrix computations
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
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
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
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.