Re: Multiplying Elements of arrays: Inner product

*To*: mathgroup at smc.vnet.net*Subject*: [mg68523] Re: [mg68497] Multiplying Elements of arrays: Inner product*From*: "Adriano Pascoletti" <pascolet at dimi.uniud.it>*Date*: Wed, 9 Aug 2006 04:18:20 -0400 (EDT)*Sender*: owner-wri-mathgroup at wolfram.com

Gopinath Venkatesan wrote .. > I have to dot multiply cd (3x3 matrix) by ab (3x1 column vector). Also > I defined values for the first row and the diagonal elements of cd matrix, > as well as defined the column vector ab with values. Now ab = {1, 2, 3}, > and cd = {{1, 2, 3}, {b[2,1], 1, b[2,3]}, {b[3,1], b[3,2], 1}}. > > I expect the ef to be {14, 2+b[2,1]+3b[2,3], 3+b[3,1]+2b[3,2]} column vector. > But it returns the first element in unevaluated form as 1.1+2.2+3.3. Why > is this so? How to make it evaluate them? Thanks for the suggestions. Please > see below for my example. > > ab = Array[a, 3]; > cd = Array[b, {3, 3}]; > ef = Array[c, 3]; > Do[cd[[i, i]] = 1, {i, 1, 3}]; > cd[[1, 2]] = 2; > cd[[1, 3]] = 3; > Do[ab[[i]] = i, {i, 1, 3}]; > Do[ef[[i]] = 0, {i, 1, 3}]; > Do[ef[[i]] = ef[[i]] + cd[[i, k]].ab[[k]], {i, 1, 3}, {k, 1, 3}]; > > Gopinath > The dot . means dot product, not product: replace the dot in cd[[i, k]].ab[[k]] with * (or nothing) to get the desired result. Adriano Pascoletti