An Algorithm for Computing Reducing Subspaces by Block Diagonalization

Abstract
This paper describes an algorithm for reducing a real matrix A to block diagonal form by a real similarity transformation. The columns of the transformation corresponding to a block span a reducing subspace of A, and the block is the representation of A in that subspace with respect to the basis. The algorithm attempts to control the condition of the transformation matrices, so that the reducing subspaces are well conditioned and the basis vectors are numerically independent.