Problems with Outer
- Subject: [mg2873] Problems with Outer
- From: ross at zeus.mpce.mq.edu.au ("Ross Moore <ross at zeus.mpce.mq.edu.au>")
- Date: 2 Jan 1996 05:50:35 -0600
- Approved: usenet@wri.com
- Distribution: local
- Newsgroups: wri.mathgroup
- Organization: Wolfram Research, Inc.
- Sender: daemon at wri.com
Hi there. Can someone please explain the following behaviour. I want to create the outer product of some lists, whose elements themselves may be lists. The obvious function to use is Outer . (Zeus2.2.2) In[1]:= ?Outer Outer[f, list1, list2, ...] gives the generalized outer product of the listi. This works fine... (Zeus2.2.2) In[2]:= Outer[{#1,#2}& , {aa[a,a,a],bb[b,b,b]} , {cc[c,c,c],dd[d,d,d]}]//MatrixForm (Zeus2.2.2) Out[2]//MatrixForm= aa[a, a, a] aa[a, a, a] cc[c, c, c] dd[d, d, d] bb[b, b, b] bb[b, b, b] cc[c, c, c] dd[d, d, d] But when the heads of the elements are List , the result is quite different... (Zeus2.2.2) In[3]:= Outer[{#1,#2}& , {List[a,a,a],List[b,b,b]} , {List[c,c,c],List[d,d,d]}]//MatrixForm (Zeus2.2.2) Out[3]//MatrixForm= a a a a a a a a a c c c c c c c c c a a a a a a a a a d d d d d d d d d b b b b b b b b b c c c c c c c c c b b b b b b b b b d d d d d d d d d Without the MatrixForm there is a mess of extra bracketings. Where do they come from, and why? Of course I can get the answer I want using those extraneous heads... (Zeus2.2.2) In[4]:= %1/.{aa->List,bb->List,cc->List,dd->List}//MatrixForm (Zeus2.2.2) Out[4]//MatrixForm= a a a a a a c c c d d d b b b b b b c c c d d d ... or in a 1-liner ... (Zeus2.2.2) In[9]:= Outer[{#1,#2}& , aa@@#&/@{{a,a,a},{b,b,b}} , aa@@#&/@{{c,c,c},{d,d,d}}]/.{aa->List}//MatrixForm (Zeus2.2.2) Out[9]//MatrixForm= a a a a a a c c c d d d b b b b b b c c c d d d ... but it seems overly cumbersome to have to do it this way. Explanations please? ...or alternative simple workarounds that you may already use to overcome this bug(?). Regards, Ross ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ross Moore Internet: ross at mpce.mq.edu.au Mathematics Department Work: +61 2 850-8955 Macquarie University Home: please do not try North Ryde, Sydney Fax: +61 2 850-8114 Australia 2109 http://www.mpce.mq.edu.au/~ross/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~