Em 07-06-2012 11:26, Prof Brian Ripley escreveu:
On 07/06/2012 10:27, Rui Barradas wrote:
Hello,
To my great surprise, on my system, Windows 7, R 15.0, 32 bits, an R
version is faster!
Faster than what? diag() is written entirely in R, just more general
than yours and so one would expect it to be slower.
I'm at my other's laptop so I haven't checked the diag() source but
since generally vector and matrix creation functions are faster than R
code I expected it to be the same for diag().
I'll check it as soon as possible.
Rui Barradas
I have to say that we don't see a fast identity as a priority, as it
almost always can be eliminated from calculations, and for large
matrices one would want to use a sparse representation such as package
Matrix.
Rdiag <- function(n){
m <- matrix(0, nrow=n, ncol=n)
m[matrix(rep(seq_len(n), 2), ncol=2)] <- 1
m
}
Rdiag(4)
n <- 5e3
t1 <- system.time(d1 <- diag(n))
t2 <- system.time(d2 <- Rdiag(n))
all.equal(d1, d2)
rbind(diag=t1, Rdiag=t2, ratio=t1/t2)
Anyway, why don't you create it once, save a copy and use it many times?
Hope this helps,
Rui Barradas
Em 07-06-2012 08:55, Ceci Tam escreveu:
Hello, I am trying to build a large size identity matrix using diag().
The
size is around 23000 and I've tried diag(23000), that took a long time.
Since I have to use this operation several times in my program, the
running
time is too long to be tolerable. Are there any alternative for diag(N)?
Thanks
Cheers,
yct
[[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.
______________________________________________
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-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.