Re: Part isn't recursive?
- To: mathgroup at smc.vnet.net
- Subject: [mg119211] Re: Part isn't recursive?
- From: BernieTheJet <berniethejet at gmail.com>
- Date: Wed, 25 May 2011 05:56:12 -0400 (EDT)
- References: <irdcnk$3o5$1@smc.vnet.net> <irfvih$bv0$1@smc.vnet.net>
On May 24, 5:59 am, "p.ramsden" <p.rams... at imperial.ac.uk> wrote: > I suspect there's no easy way to set the attribute Listable over only > some arguments, and that this goes quite deep into Mathematica's > design. (For Part to work as you'd like, you in effect need it be > Listable over all arguments except the first.) > > Could be wrong though. > > I don't think it's a huge problem; this sort of thing is why we have > Map... I am not sure I understand what you mean by 'Listable over all arguments'. I am pretty sure this is not what I am thinking should be the default behaviour. Map and Table here for my example achieve the same result, but what I am talking about is the recursiveness. This example I gave works for Table and Map only because it just happens to have only one more level. But if I create a further level in X, i.e.: X = Table[i + j + k, {i, 3}, {j, 6}, {k,9}] then I would also like Part to automatically handle X[[All, { {{1, 2, 3}, {4, 5, 6}}, {{1, 2, 3}, {4, 5, 6}}}]] Right? For Map to work you'd have to, again, role it by hand with two levels of Map, I believe. What would be required, in effect, is to have something like a Mapped Nest: MapNest[f, {{a,b},{c,d}}] -> f[{f[a],f[b]},{f[c], f[d]}] Is that right? I thought Inner might work, i.e. Inner[Part[#1, #2] &, X, {{1, 2, 3}, {4, 5, 6}}, Part[#1, #2] &] but to no effect. Anyway, the point is the recursiveness. As for Bill's point: I understand how Mathematica works, and I have already achieved what I want. Now I am on to the next step of telling Wolfram what I would like them to do to improve Mathematica. B