# Is there a way to block diagonalize a matrix?

I am trying to block diagonalize a four by four symbolic matrix in to two matrices of dimension two by two matrices. Is there a simple way to do it in sage?

edit retag close merge delete

Sort by ยป oldest newest most voted

The inverse of a matrix isn't guaranteed to exists, but there is a function for it anyway.

You can use SciLab's bdiag (numeric). http://help.scilab.org/docs/5.3.2/en_...

more

( 2011-12-11 09:03:00 -0500 )edit

How do you know that this is possible to do?

Some 4x4 matrices are not block diagonalizable into 2x2 blocks. For example a nilpotent matrix with a singe Jordan block. If you know for some reason that your symbolic matrix is diagonalizable into 2x2 blocks then probably there is a way to do this, but I don't think possible to write an algorithm that can decide if a symbolic matrix is block diagonalizable.

more

I know that my matrix block diagonalizable from physics arguments. So can you recommend some place where I can read about it?

( 2011-11-30 19:57:23 -0500 )edit

Can you give me an example of a symbolic matrix that is block diagonalizable? Unless the matrix is of a very special form it must depend heavily on assumptions about the domain of the symbolic entries.

( 2011-12-11 09:05:13 -0500 )edit

The matrix I am trying to block diagonalise is [[Cos(theta),Sin(theta),0,mu],[-Sin(theta),Cos(theta),mu,0],[0,mu,Cos(theta),Sin(theta)],[mu,0,-Sin(theta),Cos(theta)]]. And I am trying to get rid of the mu in the off-diagonal block. I know it is possible because it is a Hamiltonian and I can always go to a basis in which the two systems decouple.

( 2011-12-12 05:35:31 -0500 )edit