Re: I'm looking for an algorithm: Cartesian Product
- To: mathgroup at christensen.cybernetics.net
- Subject: [mg1672] Re: I'm looking for an algorithm: Cartesian Product
- From: rubin at msu.edu (Paul A. Rubin)
- Date: Tue, 11 Jul 1995 05:27:18 -0400
- Organization: Michigan State University
In article <3ti27l$klt at news0.cybernetics.net>, Hala.Skaf at loria.fr (Hala Skaf) wrote: -> ->Hello, -> -> I'm looking for an algorithm that can compute -> Cartesian Product for several sets. For example: -> -> How can I compute the Cartesian Product of: -> -> E1={a1 a2} E2={b1 b2 b3} E3={z1 z2} -> -> Cartesian Product is: -> -> E1 x E2 x E3 = -> { -> <a1 b1 z1>, <a1 b1 z2>, -> <a1 b2 z1>, <a1 b2 z2>, -> <a1 b3 z1>, <a1 b3 z2>, -> <a2 b1 z1>, <a2 b1 z2>, -> <a2 b2 z1>, <a2 b2 z2>, -> <a2 b3 z1>, <a2 b3 z2> -> } -> -> Thank's in advance for your Quickly Help. -> -> -> Hala :-), -> You can do it with Outer[]. In[]:= E1={a1, a2}; E2={b1, b2, b3}; E3={z1, z2}; In[]:= Outer[ List, E1, E2, E3 ] // TableForm Out[]= a1 b1 z1 a1 b2 z1 a1 b3 z1 a1 b1 z2 a1 b2 z2 a1 b3 z2 Paul a2 b1 z1 a2 b2 z1 a2 b3 z1 a2 b1 z2 a2 b2 z2 a2 b3 z2 ************************************************************************** * Paul A. Rubin Phone: (517) 432-3509 * * Department of Management Fax: (517) 432-1111 * * Eli Broad Graduate School of Management Net: RUBIN at MSU.EDU * * Michigan State University * * East Lansing, MI 48824-1122 (USA) * ************************************************************************** Mathematicians are like Frenchmen: whenever you say something to them, they translate it into their own language, and at once it is something entirely different. J. W. v. GOETHE