I'm using SIMD processor arrays to compute the eigen-decomposition for large numbers of small (up to $32\times 32$) matrices. For assorted technical reasons, Jacobi iteration maps well to the SIMD architecture and gives excellent results for diagonalisation of symmetric, Hermitian and normal matrices using unitary similarity transformations.
I've extended the technique to compute the Schur triangular form of general complex matrices using the same unitary similarity transformations in order to obtain the eigenvalues from the diagonal. Again, convergence to the Schur form is typically excellent for most random complex matrices up to $32\times 32$ size but I observe very poor convergence for a small number of random matrices. As I increase the size of the number of random matrices tested to thousands, tens of thousands, millions, the number of Jacobi iterations required increases indefinitely.
Is there some form of pre-conditioning that can improve convergence? I've tried an initial reduction to upper Hessenberg (i.e. almost triangular) with no improvement.