Re: Variant of inner Product ...

• To: mathgroup at smc.vnet.net
• Subject: [mg56749] Re: [mg56683] Variant of inner Product ...
• From: Sseziwa Mukasa <mukasa at jeol.com>
• Date: Thu, 5 May 2005 06:01:30 -0400 (EDT)
• References: <200505040432.AAA06099@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```On May 4, 2005, at 12:32 AM, Detlef Müller at smc.vnet.net wrote:

> Hello,
>
> I have the following to do:
>
> Given
>
> In[1]:= A={1,2,3}; B={{a,b},{c,d},{r,s}};
>
> And a Function f, I like to have
>
> Out[2] = {f[1,a],f[1,b]}+{f[2,c],f[2,d]}+{f[3,r],f[3,s]}
>
> The trial
>
> In[8]:=A={1,2,3}; B={{a,b},{c,d,e},{r,s}};
> In[9]:= Inner[f,A,B]
> Out[9]= f[1,{a,b}]+f[2,{c,d,e}]+f[3,{r,s}]
>
> looks promising,
> but if the Lists in B have the same length, "Inner"
> makes something different:
>
> In[15]:=
> A={1,2,3}; B={{a,b},{c,d},{r,s}}; Inner[f,A,B]
>
> Out[16]= {f[1,a]+f[2,c]+f[3,r],f[1,b]+f[2,d]+f[3,s]}
>
> So for now I have an ugly Table-Construction doing the job,
> but I can't imagine there is no elegant and clear solution
> for this ... any suggestions?

This construction is very specific to your problem, and it relies upon
realizing that

{f[1,a],f[1,b]}+{f[2,c],f[2,d]}+{f[3,r],f[3,s]}

is equivalent to

{f[1, a] + f[2, c] + f[3, r], f[1, b] + f[2, d] + f[3, s]}

due to the attributes of Plus but

Plus @@ (Thread[
f[#1, #2]] & @@@ Transpose[{A, B}])

does what you want.

Regards,

Ssezi

```

• Prev by Date: Re: Variant of inner Product ...
• Next by Date: Re: named pattern variable scoped as global, should be local
• Previous by thread: Re: Variant of inner Product ...
• Next by thread: Re: Variant of inner Product ...