[R] Matrix-vector multiplication without loops

Dimitris Rizopoulos dimitris.rizopoulos at med.kuleuven.be
Tue Nov 14 17:20:21 CET 2006


I think you need something along these lines:

ind <- c(sapply(1:(K+1), seq, length = K + 1))
cf1 <- rep(rep(coef, each = n), K + 1)
cf2 <- rep(rep(coef, each = n), each = K + 1)
rowSums(cf1 * cf2 * U[, ind])


I hope it helps.

Best,
Dimitris

----
Dimitris Rizopoulos
Ph.D. Student
Biostatistical Centre
School of Public Health
Catholic University of Leuven

Address: Kapucijnenvoer 35, Leuven, Belgium
Tel: +32/(0)16/336899
Fax: +32/(0)16/337015
Web: http://med.kuleuven.be/biostat/
     http://www.student.kuleuven.be/~m0390867/dimitris.htm


----- Original Message ----- 
From: "Ravi Varadhan" <rvaradhan at jhmi.edu>
To: <r-help at stat.math.ethz.ch>
Sent: Tuesday, November 14, 2006 4:45 PM
Subject: [R] Matrix-vector multiplication without loops


> Hi,
>
>
>
> I am trying to do the following computation:
>
>
>
>      p <- rep(0, n)
>
>      coef <- runif(K+1)
>
>      U <- matrix(runif(n*(2*K+1)), n, 2*K+1)
>
>      for (i in 0:K){
>
>      for (j in 0:K){
>
>      p <- p + coef[i+1]* coef[j+1] * U[,i+j+1]
>
>      } }
>
>
>
> I would appreciate any suggestions on how to perform this 
> computation
> efficiently without the "for" loops?
>
>
>
> Thank you,
>
> Ravi.
>
> ----------------------------------------------------------------------------
> -------
>
> Ravi Varadhan, Ph.D.
>
> Assistant Professor, The Center on Aging and Health
>
> Division of Geriatric Medicine and Gerontology
>
> Johns Hopkins University
>
> Ph: (410) 502-2619
>
> Fax: (410) 614-9625
>
> Email: rvaradhan at jhmi.edu
>
> Webpage: 
> http://www.jhsph.edu/agingandhealth/People/Faculty/Varadhan.html
>
>
>
> ----------------------------------------------------------------------------
> --------
>
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at stat.math.ethz.ch 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.
> 


Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm



More information about the R-help mailing list