The Shuffle Algorithm and Jordan Blocks

Abstract A shuffle is the horizontal interchange of a pair of blocks of the same size in a matrix. A general algorithm using row reduction and shuffles was first introduced by Luenberger, and then used by Anstreicher and Rothblum to give an algorithm to compute generalized nullspaces. We present a new, concise proof of this shuffle algorithm, and show how the shuffle algorithm can be used in deriving the Jordan blocks for a square matrix with known eigenvalues.