Re: Re: Re: {x},{y} -> {x,y} ?

*To*: mathgroup at smc.vnet.net*Subject*: [mg68351] Re: [mg68319] Re: [mg68275] Re: {x},{y} -> {x,y} ?*From*: Andrzej Kozlowski <akoz at mimuw.edu.pl>*Date*: Wed, 2 Aug 2006 05:24:07 -0400 (EDT)*References*: <eaht5b$or5$1@smc.vnet.net> <200607310745.DAA26835@smc.vnet.net> <200608011059.GAA09916@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Your last example is not really due to the fact that f is a "function other than List" but is a feature of threading over single elements. One can see in very simpler examples, e.g. Thread[Thread[{1, {2, 3}}]] {{1, 1}, {2, 3}} Of course successive applications of Thread will now have the involutive property: NestList[Thread,{1, {2, 3}},5] {{1, {2, 3}}, {{1, 2}, {1, 3}}, {{1, 1}, {2, 3}}, {{1, 2}, {1, 3}}, {{1, 1}, {2, 3}}, {{1, 2}, {1, 3}}} Andrzej Kozlowski On 1 Aug 2006, at 12:59, Murray Eisenberg wrote: > This solution (also posted by Bob Hanlon [mg68257] and Oleksandr > Pavlyk > [mg68254], and appearing as well in Michael Trott's "The Mathematica > Guidebook for Programming") is very interesting, because Thread is its > own functional inverse here: > > x = Range[3]; y = 10*Range[3]; > Thread[{x, y}] > Thread[%] > {{1, 10}, {2, 20}, {3, 30}} > {{1, 2, 3}, {10, 20, 30}} > > In general, if x and y are any lists of the same length, then: > > Thread @ Thread[List[x, y]] == List[x, y] > True > > (And similarly for n instead of 2 such lists). > > But for functions f other than List, it is not necessarily the case > that > > Thread@Thread[f[x, y]] == f[x, y] > > is true. For example: > > f[x_,y_] := {{x[[1]], y[[2]]},y[[1]]} > x=Range[3];y=10*Range[3]; > f[x,y] > Thread[f[x,y]] > Thread@Thread[f[x,y]] > {{1,20},10} > {{1, 10}, {20, 10}} > {{1,20},{10,10}} > > What more can be said about such counterexamples? > > Stratocaster wrote: >> "AngleWyrm" <anglewyrm at yahoo.com> wrote in message >> news:eaht5b$or5$1 at smc.vnet.net... >>> Hi, >>> I have two lists, a set of x values and a set of y values. How do I >>> convert >>> them to one list of { {x1,y1},{x2,y2} } pairs? >>> >> >> x = {set of X values}; >> y = {set of Y values}; >> >> Thread[{x,y}] > > -- > Murray Eisenberg murray at math.umass.edu > Mathematics & Statistics Dept. > Lederle Graduate Research Tower phone 413 549-1020 (H) > University of Massachusetts 413 545-2859 (W) > 710 North Pleasant Street fax 413 545-1801 > Amherst, MA 01003-9305 >

**References**:**Re: Re: {x},{y} -> {x,y} ?***From:*Murray Eisenberg <murray@math.umass.edu>