       Re: How Functions are Applied to Matrices

• To: mathgroup at smc.vnet.net
• Subject: [mg66086] Re: [mg66064] How Functions are Applied to Matrices
• From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
• Date: Sat, 29 Apr 2006 03:40:25 -0400 (EDT)
• References: <200604281032.GAA03133@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```On 28 Apr 2006, at 19:32, Gregory Lypny wrote:

> Hello everyone,
>
> If I use functions, such as Mean, StandardDeviation, or Total, that
> operate on lists, they work the way I expect when applied to a single
> list.  So, for example, the mean of data[] below is 5.25.
> However, when I apply Mean to the entire 3 x 4 matrix, which I
> understand to be three lists, I expect to get three means.  Instead I
> get four because Mean is operating on the columns and not the rows,
> that is, the four corresponding elements of each of the three lists.
>
> Why is that?
>
> 	Greg
>
>
> data={{-9,8,3,1},{2,12,3,4},{-6,-9,-9,8}}
>
> The mean of the second list:
>
> In:=
> Mean[data[]]//N
>
> Out=
> 5.25
>
> Applying Mean to the whole matrix computes the mean of columns, not
> rows.
>
> In:=
> Mean[data]//N
>
> Out=
> {-4.33333,3.66667,-1.,4.33333}
>
> I need to Map it to have it applied to each list.
>
> In:=
> Map[Mean,data]//N
>
> Out=
> {0.75,5.25,-4.}
>

I am not sure if you will be satisfied with the following as the
answer to the question "why?" but at least I can say that Mean
inherits this behaviour from Total. Indeed, the Help for Mean says:

Mean[list] is equivalent to Total[list]/Length[list].

On the other hand,

mm = {{a, b, c}, {d, e, f}, {g, h, k}};

Total[mm]

{a+d+g,b+e+h,c+f+k}

which is the same as

Total/@(Transpose[mm])

{a+d+g,b+e+h,c+f+k}

Why? Probably because this behaviour is often convenient.

Andrzej Kozlowski

```

• Prev by Date: Re: How Functions are Applied to Matrices
• Next by Date: Re: help in solving a double integration....
• Previous by thread: How Functions are Applied to Matrices
• Next by thread: Re: How Functions are Applied to Matrices