MathGroup Archive 2001

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: extracting elements from an expression

  • To: mathgroup at smc.vnet.net
  • Subject: [mg27677] Re: [mg27663] extracting elements from an expression
  • From: Ken Levasseur <Kenneth_Levasseur at uml.edu>
  • Date: Sun, 11 Mar 2001 04:04:21 -0500 (EST)
  • References: <200103100549.AAA15809@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Albert:

You just want a sorted list of the numbers that appear anywhere in m, right?
You can use Flatten and then Union, which automatically sorts.

In[2]:=
m = {{{{1, 2}, {2, 3}}}, {{{4, 5}, {8, 9}}, {{6, 7}, {7, 10}}}, {{{11,
            12}, {17, 18}}, {{13, 14}, {19, 20}}, {{15, 16}, {16, 21}}}};
In[3]:=
m // Flatten // Union
Out[3]=
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
 18, 19, 20, 21}

Ken Levasseur
Math. Sciences
UMass Lowell

Albert Maydeu-Olivares wrote:

> Dear all,
>
> I've spent several frustrating hours attempting to do something in principle
> very simple.
> After repeated failures I'm resorting to the group for help.
>
> Consider this simple expression
>
> m = {{{{1, 2}, {2, 3}}}, {{{4, 5}, {8, 9}}, {{6, 7}, {7, 10}}},
> {{{11, 12}, {17, 18}}, {{13, 14}, {19, 20}}, {{15, 16}, {16, 21}}}};
> m // TableForm
>
> I'm simply trying to obtain to obtain this list
>
> {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}
>
> using the positions' elements in m. This will do it the hard way
>
> Join[m[[1, 1, 1]],
>   Drop[m[[1, 1, 2]], 1],
>   m[[2, 1, 1]],
>   m[[2, 2, 1]],
>   m[[2, 1, 2]],
>   Drop[m[[2, 2, 2]], 1],
>   m[[3, 1, 1]],
>   m[[3, 2, 1]],
>   m[[3, 3, 1]],
>   m[[3, 1, 2]],
>   m[[3, 2, 2]],
>   Drop[m[[3, 3, 2]], 1]]
>
> I've failed to do it the easy way. Here's one of my failed attemps
>
> Table[If[i == j && k == 2, Drop[m[[i, j, k]], 1], m[[i, j, k]]],
> {i, nvars}, {j, i}, {k, 2}] // Flatten
>
> which fails because I don't know how to control the k subscript
> appropriately
> as you can see by doing
>
> Flatten[Table[{i, j, k}, {i, nvars}, {j, i}, {k, 2}],2]
>
> Any help would be very much appreciated.
>
> Albert



  • Prev by Date: RE: extracting elements from an expression
  • Next by Date: Re: extracting elements from an expression
  • Previous by thread: extracting elements from an expression
  • Next by thread: Re: extracting elements from an expression