Re: Preventing unwanted threading by Inner
- To: mathgroup at smc.vnet.net
- Subject: [mg123489] Re: Preventing unwanted threading by Inner
- From: Bob Hanlon <hanlonr357 at gmail.com>
- Date: Thu, 8 Dec 2011 05:29:15 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201112071113.GAA04136@smc.vnet.net>
Inner[Times, {a, b, c}, {pt1, pt2, pt3}, Plus] /. Thread[{pt1, pt2, pt3} -> {{A, \[Alpha]}, {B, \[Beta]}, {C, \[Chi]}}] {a A + b B + c C, a \[Alpha] + b \[Beta] + c \[Chi]} Dot[{a, b, c}, {pt1, pt2, pt3}] /. Thread[{pt1, pt2, pt3} -> {{A, \[Alpha]}, {B, \[Beta]}, {C, \[Chi]}}] {a A + b B + c C, a \[Alpha] + b \[Beta] + c \[Chi]} Bob Hanlon On Wed, Dec 7, 2011 at 6:13 AM, Chris Young <cy56 at comcast.net> wrote: > I'm trying to prevent Inner from expanding my points into coordinates: > > In[283]:= Inner[Times, {a, b, c}, {{A, =E1}, {B, =E2}, {C, =F7}}, Plus] > Out[283]= {a A + b B + c C, a =E1 + b =E2 + c =F7} > > As I understand it, this has to do with Times being Listable: > > In[304]:= Attributes[Times] > Out[304]= {Flat, Listable, NumericFunction, OneIdentity, Orderless, Protected} > > But clearing the listable attribute doesn't do anything: > > Unprotect[Times]; > ClearAttributes[Times, Listable]; > myInnnerProd = Inner[Times, {a, b, c}, {{A, =E1}, {B, =E2}, {C, =F7}}, Plus]; > SetAttributes[Times, Listable]; > Protect[Times]; > > In[315]:= myInnnerProd > > Out[315]= {a A + b B + c C, a =E1 + b =E2 + c =F7} > > In addition, I have to resort to using Hold on the points. Not sure > why; I would have thought that making Times non-listable would have > been enough. > > In[343]:= > Unprotect[Times]; > ClearAttributes[Times, Listable]; > myInnerProd = > Inner[Times, {a, b, c}, Hold /@ {{A, =E1}, {B, =E2}, {C, =F7}}, Plus]; > myInnnerProd = ReleaseHold[myInnerProd] > SetAttributes[Times, Listable]; > Protect[Times]; > > > Out[346]= a {A, =E1} + b {B, =E2} + c {C, =F7} >
- References:
- Preventing unwanted threading by Inner
- From: Chris Young <cy56@comcast.net>
- Preventing unwanted threading by Inner