Procedure from library linalg.lib (see linalg_lib).
Usage:
jordan(M); matrix M
Assume:
eigenvalues of M in basefield
Return:
list l; Jordan data of M
ideal l[1];
number l[1][i]; eigenvalue of i-th Jordan block of M
intvec l[2];
int l[2][i]; size of i-th Jordan block of M
intvec l[3];
int l[3][i]; multiplicity of i-th Jordan block of M