Re: apparently I don't know how to use Map (or Apply or MapThread)

• To: mathgroup at smc.vnet.net
• Subject: [mg77366] Re: apparently I don't know how to use Map (or Apply or MapThread)
• From: dh <dh at metrohm.ch>
• Date: Thu, 7 Jun 2007 03:56:10 -0400 (EDT)
• References: <f4676i\$1n3\$1@smc.vnet.net>

```
Hi,

Map evaluates the function for every list element, in your case for

{0.098, 0.951, 0.954} and  {0.509, 0.914, 0.487}. Then #[[i,i] does not

make sense. What you want is to evaluate the function on m and then it

works:

Table[#[[i,i]],{i,Length[#]}]&[m]

hope this helps, Daniel

dbsearch04 at yahoo.com wrote:

> I started with this:

>

> m = {{0.098, 0.951, 0.954}, {0.509, 0.914, 0.487}}

>

> I tried to do this

>

> Table[#[[i, i]], {i, Length[#]}] & /@ m

>

> It does not work, but this works

>

> Diag := Function[x, Table[x[[i, i]], {i, Length[x]}]]; Diag[m]

>

> !@#\$%^&*(

>

> Can anyone tell me why? I also tried: Apply, MapThread,

> DiagonalMatrix, TakeMatrix, adding () around the pure function...

>

> I know that this is a simple problem. Would Evaluate help?

>

> TIA.

>

> Regards..

>

>

```

• Prev by Date: Re: mathematica 6 frontend and linux
• Next by Date: Re: How to show the plot in Module[{}, ]?
• Previous by thread: Re: apparently I don't know how to use Map (or Apply or MapThread)
• Next by thread: Re: apparently I don't know how to use Map (or Apply or MapThread)