home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / sci / math / symbolic / 2340 < prev    next >
Encoding:
Internet Message Format  |  1992-09-08  |  1.7 KB

  1. Path: sparky!uunet!sequent!ogicse!uwm.edu!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!sample.eng.ohio-state.edu!purdue!mentor.cc.purdue.edu!news
  2. From: ags@seaman.cc.purdue.edu (Dave Seaman)
  3. Newsgroups: sci.math.symbolic
  4. Subject: Re: Thread question in Mathematica
  5. Message-ID: <Bu9LME.B0r@mentor.cc.purdue.edu>
  6. Date: 8 Sep 92 14:59:01 GMT
  7. Article-I.D.: mentor.Bu9LME.B0r
  8. References: <Bu7u7x.Eq5@mentor.cc.purdue.edu>
  9. Sender: news@mentor.cc.purdue.edu (USENET News)
  10. Organization: Purdue University
  11. Lines: 34
  12.  
  13. In article <Bu7u7x.Eq5@mentor.cc.purdue.edu> ags@mentor.cc.purdue.edu  
  14. (Dave Seaman) writes:
  15. > In article <Bu7pyr.734@mentor.cc.purdue.edu> carlson@math.purdue.edu  
  16. (Neil N. Carlson) 
  17. >  asks essentially why Thread[{{x1, {y11, y12}}, {x2, {y21, y22}}}]
  18. > gives                 {{x1, x2}, {{y11, y12}, {y21, y22}}}
  19. > and not               {{{x1, y11}, {x2, y21}}, {{x1, y12}, {x2, y22}}}
  20.  
  21. After I posted this I realized that probably was not exactly what Neil  
  22. Carlson meant to ask. The situation he described was as follows
  23.  
  24.     In[3]:= f[x1,{y11,y12},x2,{y21,y22}]
  25.  
  26.     Out[3]= f[x1, {y11, y12}, x2, {y21, y22}]
  27.  
  28.     In[4]:= Thread[%]
  29.  
  30.     Out[4]= {f[x1, y11, x2, y21], f[x1, y12, x2, y22]}
  31.  
  32.     In[5]:= f[a_,b_,c_,d_] := {{a,b},{c,d}}
  33.  
  34.     In[6]:= Thread[%3]
  35.  
  36.     Out[6]= {{x1, x2}, {{y11, y12}, {y21, y22}}}
  37.  
  38. and the problem is that when he typed Thread[%3] in the In[6] line, %3 had  
  39. a different value compared to when it was first printed, because of the  
  40. intervening definition of f, which was applied first before Thread was  
  41. called. In fact, if Neil had typed In[6] := %4, he would have obtained the  
  42. answer he was looking for, with Thread evaluated before f.
  43.  
  44. --
  45. Dave Seaman
  46. ags@seaman.cc.purdue.edu
  47.