folks, is there a clever way to compute the sum of the product of two vectors such that the common indices are not multiplied together? i.e. if i have vectors X, Y, how can i compute Sum (X[i] * Y[j]) i != j where i != j also, what if i wanted Sum (X[i] * Y[j] * R[i, j]) i != j where R is a matrix? thanks, murali _________________________________________________________________ Enter the Zune-A-Day Giveaway for your chance to win — day after day after day M_Mobile_Zune_V1 [[alternative HTML version deleted]]
Murali I don't know about 'clever', but does this do what you want? v1 <- 1:3 v2 <- 4:6 sum(matrix(rep(v1, length(v1)), nrow=length(v1))%*%v2)-sum(v1*v2) Peter Alspach> -----Original Message----- > From: r-help-bounces at r-project.org > [mailto:r-help-bounces at r-project.org] On Behalf Of Murali Menon > Sent: Thursday, 3 July 2008 4:31 a.m. > To: r-help at stat.math.ethz.ch > Subject: [R] multiplication question > > > folks, > > is there a clever way to compute the sum of the product of > two vectors such that the common indices are not multiplied together? > > i.e. if i have vectors X, Y, how can i compute > > Sum (X[i] * Y[j]) > i != j > > where i != j > > also, what if i wanted > > Sum (X[i] * Y[j] * R[i, j]) > i != j > > where R is a matrix? > > thanks, > > murali > > > _________________________________________________________________ > Enter the Zune-A-Day Giveaway for your chance to win - day > after day after day > > M_Mobile_Zune_V1 > [[alternative HTML version deleted]] > >The contents of this e-mail are privileged and/or confidential to the named recipient and are not to be used by any other person and/or organisation. If you have received this e-mail in error, please notify the sender and delete all material pertaining to this e-mail.
Un texte encapsul? et encod? dans un jeu de caract?res inconnu a ?t? nettoy?... Nom : non disponible URL : <https://stat.ethz.ch/pipermail/r-help/attachments/20080702/6deae756/attachment.pl>
Try something about like this: v1 %o% v2 - diag(v1*v2) On Wed, Jul 2, 2008 at 1:30 PM, Murali Menon <feanor0@hotmail.com> wrote:> > folks, > > is there a clever way to compute the sum of the product of two vectors such > that the common indices are not multiplied together? > > i.e. if i have vectors X, Y, how can i compute > > Sum (X[i] * Y[j]) > i != j > > where i != j > > also, what if i wanted > > Sum (X[i] * Y[j] * R[i, j]) > i != j > > where R is a matrix? > > thanks, > > murali > > > _________________________________________________________________ > Enter the Zune-A-Day Giveaway for your chance to win — day after day after > day > > M_Mobile_Zune_V1 > [[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. > >-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O [[alternative HTML version deleted]]
for example ... x <- 1:5 ; y<- 6:8 (m <- x %o% y) # is this what you mean by product of two vectors? sum(m[row(m)!=col(m)]) # or ... sum(m)-sum(diag(m)) On Wed, Jul 2, 2008 at 7:30 PM, Murali Menon <feanor0@hotmail.com> wrote:> > folks, > > is there a clever way to compute the sum of the product of two vectors such > that the common indices are not multiplied together? > > i.e. if i have vectors X, Y, how can i compute > > Sum (X[i] * Y[j]) > i != j > > where i != j > > also, what if i wanted > > Sum (X[i] * Y[j] * R[i, j]) > i != j > > where R is a matrix? > > thanks, > > murali > > > _________________________________________________________________ > Enter the Zune-A-Day Giveaway for your chance to win — day after day after > day > > M_Mobile_Zune_V1 > [[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. > >[[alternative HTML version deleted]]
The answer to your first question is sum(x)8sum(y) - sum(x*y) and for the second one x %*% R %*% y - sum(x*y*diag(R)) --- On Thu, 3/7/08, Murali Menon <feanor0 at hotmail.com> wrote:> From: Murali Menon <feanor0 at hotmail.com> > Subject: [R] multiplication question > To: r-help at stat.math.ethz.ch > Received: Thursday, 3 July, 2008, 2:30 AM > folks, > > is there a clever way to compute the sum of the product of > two vectors such that the common indices are not multiplied > together? > > i.e. if i have vectors X, Y, how can i compute > > Sum (X[i] * Y[j]) > i != j > > where i != j > > also, what if i wanted > > Sum (X[i] * Y[j] * R[i, j]) > i != j > > where R is a matrix? > > thanks, > > murali > > > _________________________________________________________________ > Enter the Zune-A-Day Giveaway for your chance to win ? > day after day after day > > M_Mobile_Zune_V1 > [[alternative HTML version > deleted]]______________________________________________ > R-help at 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.