The best way to do this is to use row_join and col_join: In [53]: a = Matrix([[1, 2], [3, 4]])
In [54]: b = Matrix([[5, 6], [7, 8]]) In [55]: a.row_join(b) ⎡1 2 5 6⎤ ⎢ ⎥ ⎣3 4 7 8⎦ In [56]: a.col_join(b) ⎡1 2⎤ ⎢ ⎥ ⎢3 4⎥ ⎢ ⎥ ⎢5 6⎥ ⎢ ⎥ ⎣7 8⎦ There is an open issue that would add a better interface for this (http://code.google.com/p/sympy/issues/detail?id=2221), but it remains to be fixed. You're welcome to give it a shot! Ideally, you should be able to build a Matrix from block elements just as easily as you can from atomic elements. Aaron Meurer On Fri, Jan 20, 2012 at 3:59 PM, Comer Duncan <comer.dun...@gmail.com> wrote: > I have some 3x3 matrices, to be exact there are four of them. I want > to form a 6 x 6 matrix from a two by two block of the four. > Specifically here they are: > >>>> FEx > [0, 0, 0] > [0, 0, 0] > [0, 0, 0] >>>> FBx > [0, 0, 0] > [0, 0, -1] > [0, 1, 0] >>>> GEx > [0, 0, 0] > [0, 0, 1] > [0, -1, 0] >>>> GBx > [0, 0, 0] > [0, 0, 0] > [0, 0, 0] > > The block matrix I want can be written > (FEx FBx) > (GEx GBx) > > If the above formatted ok you should see what I want. > > However, the following attempt: > > Matrix(((Fex,FBx),(GEx,GBx))) > > produces > Matrix((FEx,FBx),(GEx,GBx)) > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File > "/usr/local/lib/python2.6/dist-packages/sympy-0.7.1-py2.6.egg/sympy/matrices/matrices.py", > line 158, in __init__ > raise TypeError("Data type not understood") > TypeError: Data type not understood > > When I enter Matrix((FEx,FBx,GEx,GBx)) I get: > [0, 0, 0] > [0, 0, 0] > [0, 0, 0] > [0, 0, 0] > [0, 0, -1] > [0, 1, 0] > [0, 0, 0] > [0, 0, 1] > [0, -1, 0] > [0, 0, 0] > [0, 0, 0] > [0, 0, 0] > > which is a 12 x 3 matrix. > So my question is how to create a 6 x 6 matrix in the form indicated above? > > Thanks for suggestions. > > Comer > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To post to this group, send email to sympy@googlegroups.com. > To unsubscribe from this group, send email to > sympy+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/sympy?hl=en. > -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.