Listable
- To: mathgroup at yoda.physics.unc.edu
- Subject: Listable
- From: toet at sunwise.tm.tno.nl (Lex Toet)
- Date: Thu, 28 Apr 94 10:05:47 +0200
To MathGroup: the Mma book states that Listable is equivalent to Thread[f[args]] (p. 274) I want to apply a function to corresponding elements of several 2D matrices of identical dimensions. I found that making the function Listable does the job, just like MapThread with level 2. I do not understand this, since Listable should apply the function at level 1, not level 2. In[1]:= m1={{a,b},{c,d}}; In[2]:= m2={{A,B},{C,D}}; In[3]:= Thread[f[m1,m2]] Out[3]= {f[{a, b}, {A, B}], f[{c, d}, {C, D}]} <- applies f at level 1, like expected In[4]:= MapThread[f,{m1,m2},2] Out[4]= {{f[a, A], f[b, B]}, {f[c, C], f[d, D]}} <- applies f at level 2 In[5]:= SetAttributes[f,Listable] In[6]:= f[m1,m2] Out[6]= {{f[a, A], f[b, B]}, {f[c, C], f[d, D]}} <- applies f at level 2 !? So how can Listable be equivalent to Thread ???????