Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Working with arrays

  • To: mathgroup at smc.vnet.net
  • Subject: [mg131206] Re: Working with arrays
  • From: Bob Hanlon <hanlonr357 at gmail.com>
  • Date: Mon, 17 Jun 2013 06:28:12 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-outx@smc.vnet.net
  • Delivered-to: mathgroup-newsendx@smc.vnet.net
  • References: <20130616091915.825D36A2D@smc.vnet.net>

Clear[IA,xtest,$Post];

CenterDot is not really an operator, it is a notation

IA\[CenterDot]xtest

IA\[CenterDot]xtest

IA=Array[a,{3,3}];

xtest=Array[x,3];

IA\[CenterDot]xtest

{{a[1,1],a[1,2],a[1,3]},{a[2,1],a[2,2],a[2,3]},{a[3,1],a[3,2],a[3,3]}}\[CenterDot]{x[1],x[2],x[3]}

If you want CenterDot to carry out the operation Dot, you can use a
replacement rule

IA.xtest == Dot[IA,xtest]==
Inner[Times,IA,xtest,Plus]==
(IA\[CenterDot]xtest/.CenterDot->Dot)==
(CenterDot[IA,xtest]/.CenterDot->Dot)

True

If you want CenterDot to always act like Dot with lists then use $Post to
automatically use the replacement rule.

$Post=#/.CenterDot[x_List,y_List]->
Dot[x,y]&;

IA.xtest == Dot[IA,xtest]==
Inner[Times,IA,xtest,Plus]==
IA\[CenterDot]xtest==CenterDot[IA,xtest]

True

Symbolic use of CenterDot is not changed

x\[CenterDot]y

x\[CenterDot]y


Bob Hanlon


On Sun, Jun 16, 2013 at 5:19 AM, amannucci
<Anthony.J.Mannucci at jpl.nasa.gov>wrote:

> I thought I understood variables. This sequence completely mystifies me:
> Clear[lA, xtest]
> lA = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
> xtest = {4, 5, 6};
> lA\[CenterDot]xtest (* First case *)
> {{a, b}, {c, d}} . {x, y} (* Second case *)
>
> The output is:
>
> {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}\[CenterDot]{4, 5, 6}
>
> {a x + b y, c x + d y}
>
> How do I force matrix multiplication to actually occur, as in the second
> answer? Why does Mathematica do the matrix multiply in the second case but
> not the first?
>
> Thanks for any help.
>
> -Tony
>
>



  • Prev by Date: Re: HTML output
  • Next by Date: Re: Working with arrays
  • Previous by thread: Re: Working with arrays
  • Next by thread: Re: Working with arrays