sympy/sympy — pull request #677 by mamueller (2011-10-24 09:54:44+00:00)
Title: Hallo

Since I needed not only the jordan normal form but also the
transformation I had a look at the code.
(How nice to have open source CAS, Thanks for that)
I tried to combine the computation of P and J and therefore had to
look very closely.
So I realized the bug
It can be expressed very easy:
In sympy 0.71 only the geometric and the algebraic multiplicity
are used to determine the blocksizes.
This is expressed by the interface of function:
self._jordan_split(multiplicity, geometrical)
in the matrix class.
However this is not possible in general since there exist different
Jordan matrices
(with different blocksizes ) that have the same eigenvectors with the
same geometrical multiplicity as an counter example shows which I
added in the comment for the patch.