Working with lists of matrices.
- To: mathgroup at smc.vnet.net
- Subject: [mg22747] Working with lists of matrices.
- From: "Jordan Rosenthal" <jr at ece.gatech.edu>
- Date: Fri, 24 Mar 2000 03:27:42 -0500 (EST)
- Organization: Georgia Institute of Technology, Atlanta GA, USA
- Sender: owner-wri-mathgroup at wolfram.com
Hi all, Does anybody have any pointers about how to work with lists of matrices. For example, I have created the following function: %-------------------- In[3]:= reflectionMatrix::usage = "reflectionMatrix[theta] creates the matrix to reflect a point in a line \ oriented at theta radians."; reflectionMatrix[theta_] := Module[ {u = {{Cos[theta]}, {Sin[theta]}}}, IdentityMatrix[2] - 2u.Transpose[u] ]; SetAttributes[reflectionMatrix, Listable] %-------------------- Notice that I set the attributes to Listable so that I can use it like: %-------------------- In[29]:= r = reflectionMatrix[2*Pi/{12, 8, 6, 4, 3, 2}] Out[29]= {{{-(1/2), -(Sqrt[3]/2)}, {-(Sqrt[3]/2), 1/2}}, {{0, -1}, {-1, 0}}, {{1/2, -(Sqrt[3]/2)}, {-(Sqrt[3]/2), -(1/2)}}, {{1, 0}, {0, -1}}, {{1/2, Sqrt[3]/2}, {Sqrt[3]/2, -(1/2)}}, {{-1, 0}, {0, 1}}} %-------------------- Now lets say I want to form a list of the matrices Inverse[V].Ak.V where the matrices Ak are taken from the above list and V is an arbitrary matrix. I tried V = {{1,0},{0,1}} Inverse[V].r.V but I get errors about incompatible tensor shapes. So how do I do this? Also, any tips on using MatrixForm in this situation to format the results? I am using MatrixForm /@ r which works fairly well, but wasn't sure if this is the right technique. Thanks ahead of time, Jordan