ordered positions (OrderedPosition?)
- To: mathgroup at smc.vnet.net
- Subject: [mg83397] ordered positions (OrderedPosition?)
- From: Christian Chong-White <christian_chongwhite at hotmail.com>
- Date: Mon, 19 Nov 2007 06:18:08 -0500 (EST)
Hi Folks
I am wanting an elegant solution to find an ordering of elements of a
set of nested lists at a specific level (the base level in this case
but need not be). The output I am after is an ordered set of positions
that references each of those elements in the original structure.
To explain: My ugly work-around was to flatten the nested list to get
the ordering but this loses the structural information.
In[22]:= Ordering[
Flatten@{{4, 3, 3, 5, 1, 2, 5, 2, 3, 2}, {1, 5, 4, 1, 3, 4, 1, 7, 3,
4}}]
Out[22]= {5, 11, 14, 17, 6, 8, 10, 2, 3, 9, 15, 19, 1, 13, 16, 20, 4,
7, 12, 18}
The problem with the above is I have lost the information where in the
structure the element was. I need the functionality of Position -
including reference to depth, and Ordering.
Taking the above example further, what I am after is something like:
{{1,5},{2,1}, etc}
representing sorted positions of the original structure rather than
{5,11, etc} of the flattened list.
It seems a very "Mathematica thing" I am after, and something that
could well fit within an enhanced version of Ordering, but am lost at
how to address the problem in a "Mathematica elegant manner."
Cheers
Christian