[R] Matrix multiplication

Jeff Newmiller jdnewmil at dcn.davis.ca.us
Thu Jun 8 06:33:28 CEST 2017


Fine,  except that you already seen to have a very compact solution if that really is what you are looking for. What am I missing? 
-- 
Sent from my phone. Please excuse my brevity.

On June 7, 2017 9:16:48 PM PDT, Steven Yen <syen04 at gmail.com> wrote:
>OK Thanks. Your response made me think. Here (the last line) is what I
>need:
>
>set.seed(76543211)
>w<-1:10; w
>a<-matrix(rpois(20,2),nrow=10); a
>t(w*a)%*%a
>
>On 6/8/2017 12:09 PM, Jeff Newmiller wrote:
>> Is this a question? You seem to have three possible calculations,
>have already implemented two of them (?) and it is unclear (to me) what
>you think the right answer for any of them is supposed to be.
>> -- Sent from my phone. Please excuse my brevity. On June 7, 2017 
>> 8:50:55 PM PDT, Steven Yen <syen04 at gmail.com> wrote:
>>> I need to have all elements of a matrix multiplied by a weight
>before
>>> being post-multiplied by itself, as shown in the forst block of
>codes
>>> below. I can also multiply the matrix by the square root of the
>weight
>>> and then take the outer product.
>>>
>>> Actually, what I need is this. Denote each row of the matrix by a
>row
>>> vector as xi and each element of the weighting vector as wi. Then, I
>>> need the sum of wi * t(xi) %*% xi over i.
>>>
>>> Any suggestion for a compact approach would be appreciated.
>>>
>>> set.seed(76543211)
>>> w<-1:10; w
>>> a<-matrix(rpois(20,2),nrow=10); a
>>> b<-a
>>> a<-w*a
>>> t(a)%*%b
>>>
>>> set.seed(76543211)
>>> a<-matrix(rpois(20,2),nrow=10); a
>>> a<-sqrt(w)*a; a
>>> t(a)%*%a



More information about the R-help mailing list