Re: Rolling up some integers
- To: mathgroup at smc.vnet.net
- Subject: [mg33455] Re: [mg33404] Rolling up some integers
- From: Ken Levasseur <Kenneth_Levasseur at uml.edu>
- Date: Thu, 21 Mar 2002 09:28:57 -0500 (EST)
- References: <200203200653.BAA07992@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Mark: Here is a non-snaking solution, but it looks sort of like what you describe. In[1]:= data[n_] := Range[n^2] In[2]:= order[n_] := Sort[Flatten[Outer[List, Range[n], Range[n]], 1], Plus @@ #1 <= Plus @@ #2 & ]; In[3]:= Transpose[{order[4],data[4]}]//Sort[#,(First[First[#1]]?First[First[#2]])&]&//Transpose//Last//Partition[#,4]& Out[3]= {{1, 2, 4, 7}, {3, 5, 8, 11}, {6, 9, 12, 14}, {10, 13, 15, 16}} Ken Levasseur UMass Lowell "DIAMOND Mark R." wrote: > Can anyone see an easy way of putting a fiven list of n^2 integers into an > n*n matrix along the diagonals---could be either not-snaking (preferred) > snaking. The *ordering*, but not necessarily the integers themselves, would > be > > 1 3 6 > 2 5 8 > 4 7 9 > > I would call this non-snaking, or the following, snaking. > > 1 2 6 > 3 5 7 > 4 8 9 > > Please note,. > > It occurred to me that this might be possible by first partitioning into > ascending and descending size lists representing each diagonal, but aside > from constructing an explicit secondary matrix of indices, I can't see > another way of doing it. > > Cheers, > > Mark > -- > Mark R. Diamond > No spam email ROT13: znexq at cfl.hjn.rqh.nh > No crawler web page ROT13 uggc://jjj.cfl.hjn.rqh.nh/hfre/znexq
- References:
- Rolling up some integers
- From: "DIAMOND Mark R." <dot@dot.dot>
- Rolling up some integers