Re: 2X2 arrays
- To: mathgroup at smc.vnet.net
- Subject: [mg74671] Re: 2X2 arrays
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Fri, 30 Mar 2007 03:03:05 -0500 (EST)
- Organization: The Open University, Milton Keynes, UK
- References: <eufpvj$7ee$1@smc.vnet.net>
simad at cse.iitkgp.ernet.in wrote: > Hi, > > I am wondering how to initialize a set of 2X2 arrays in an array. > for example: > a1=1/Sqrt[2]{{1,1},{1,-1}} > a2=1/Sqrt[2]{{1,0},{0,1}} > a3=1/Sqrt[2]{{1+I,0},{0,1-I}} > a4=1/Sqrt[2]{{1,1-I},{1,1+I}} [snip] I am not sure to have fully understood your request, but you can create an array of 2 by 2 arrays as a list of lists of lists (in Mathematica speak). For instance, In[1]:= a1 = (1/Sqrt[2])*{{1, 1}, {1, -1}}; a2 = (1/Sqrt[2])*{{1, 0}, {0, 1}}; a3 = (1/Sqrt[2])*{{1 + I, 0}, {0, 1 - I}}; a4 = (1/Sqrt[2])*{{1, 1 - I}, {1, 1 + I}}; a = {a1, a2, a3, a4} Out[5]= 1 1 1 1 {{{-------, -------}, {-------, -(-------)}}, Sqrt[2] Sqrt[2] Sqrt[2] Sqrt[2] 1 1 {{-------, 0}, {0, -------}}, Sqrt[2] Sqrt[2] 1 + I 1 - I {{-------, 0}, {0, -------}}, Sqrt[2] Sqrt[2] 1 1 - I 1 1 + I {{-------, -------}, {-------, -------}}} Sqrt[2] Sqrt[2] Sqrt[2] Sqrt[2] In[6]:= Dimensions[a] Out[6]= {4, 2, 2} Or you can create the array of arrays directly as in, In[7]:= array = (1/Sqrt[2])*{{{1, 1}, {1, -1}}, {{1, 0}, {0, 1}}, {{1 + I, 0}, {0, 1 - I}}, {{1, 1 - I}, {1, 1 + I}}} Out[7]= 1 1 1 1 {{{-------, -------}, {-------, -(-------)}}, Sqrt[2] Sqrt[2] Sqrt[2] Sqrt[2] 1 1 {{-------, 0}, {0, -------}}, Sqrt[2] Sqrt[2] 1 + I 1 - I {{-------, 0}, {0, -------}}, Sqrt[2] Sqrt[2] 1 1 - I 1 1 + I {{-------, -------}, {-------, -------}}} Sqrt[2] Sqrt[2] Sqrt[2] Sqrt[2] In[8]:= a === array Out[8]= True Regards, Jean-Marc