Re: Re: Re: How to get rid of the outer {}?
- To: mathgroup at smc.vnet.net
- Subject: [mg5616] Re: [mg5574] Re: [mg5562] Re: [mg5507] How to get rid of the outer {}?
- From: Allan Hayes <hay at haystack.demon.co.uk>
- Date: Fri, 27 Dec 1996 23:43:43 -0500
- Sender: owner-wri-mathgroup at wolfram.com
Andrei Constantinescu <constant at athena.polytechnique.fr> Subject: [mg5616] [mg5574] Re: [mg5562] Re: [mg5507] How to get rid of the outer {}? asks the attached questions about Outer and Apply. Andrei The clue is what happens before Outer is evaluated: Using A in place of outer we get mylist = {{0,1}, {0,1}, {0,1}, {0,1}}; A[List,Sequence[mylist]] (*Sequence disappears*) A[List, {{0, 1}, {0, 1}, {0, 1}, {0, 1}}] A[List,Apply[Sequence,mylist]] (*List mylist becomes a sequence*) A[List, {0, 1}, {0, 1}, {0, 1}, {0, 1}] A[Sequence[mylist]] (*Sequence disappears*) A[{{0, 1}, {0, 1}, {0, 1}, {0, 1}}] Allan Hayes hay at haystack.demon.co.uk http://www.haystack.demon.co.uk ******************* Forwarded message ... one little remark about Outer , Sequence & the question ! There are two possibilities about applying Sequence: In[5]:= mylist = {{0,1}, {0,1}, {0,1}, {0,1}} Out[5]= {{0, 1}, {0, 1}, {0, 1}, {0, 1}} In[6]:= Outer[ List , Sequence[mylist] ] Out[6]= {{{0}, {1}}, {{0}, {1}}, {{0}, {1}}, {{0}, {1}}} ... which is not the good answer, :-) , and : In[9]:= Outer[ List, Apply[Sequence,mylist] ] Out[9]= {{{{{0, 0, 0, 0}, {0, 0, 0, 1}}, {{0, 0, 1, 0}, {0, 0, 1, 1}}}, > {{{0, 1, 0, 0}, {0, 1, 0, 1}}, {{0, 1, 1, 0}, {0, 1, 1, 1}}}}, > {{{{1, 0, 0, 0}, {1, 0, 0, 1}}, {{1, 0, 1, 0}, {1, 0, 1, 1}}}, > {{{1, 1, 0, 0}, {1, 1, 0, 1}}, {{1, 1, 1, 0}, {1, 1, 1, 1}}}}} .... which is what we'd like to have ! Unfortunately, I'm not capable of explaining why this happens, by may be someone else could, :-) ! Another try did: In[2]:= mylist = {List, {0,1}, {0,1}, {0,1}, {0,1}} Out[2]= {List, {0, 1}, {0, 1}, {0, 1}, {0, 1}} In[3]:= Outer[Sequence[mylist]] Outer::argmu: Outer called with 1 argument; 2 or more arguments are expected. ... which seems also to be strange. I couldn't stop this happen using Release or Evaluate, which might be a question of the inner functiong of Outer ??? Cheers, Andrei