Re: apparently I don't know how to use Map (or Apply or MapThread)
- To: mathgroup at smc.vnet.net
- Subject: [mg77401] Re: apparently I don't know how to use Map (or Apply or MapThread)
- From: "Drago Ganic" <dganic at vodatel.net>
- Date: Thu, 7 Jun 2007 04:14:29 -0400 (EDT)
- Organization: Customer of Vodatel, Zagreb, CROATIA
- References: <f4676i$1n3$1@smc.vnet.net>
Hi, here is a "neat" example which uses Pick: Flatten[Pick[m, Array[Equal, Dimensions[m]]]] {0.098, 0.914} This construct uses MapIndexed: Reap[MapIndexed[ Sow[#1, SameQ @@ #2 ] &, m , {2} ]; , True] [[2, 1]] {0.098, 0.914} Greetings from Croatia, Drago <dbsearch04 at yahoo.com> wrote in message news:f4676i$1n3$1 at smc.vnet.net... >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.. > >