Home Online Manual
Top
Back: jordan
Forward: jordanmatrix
FastBack: matrix_lib
FastForward: Commutative algebra
Up: linalg_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.3.2.23 jordanbasis

Procedure from library linalg.lib (see linalg_lib).

Usage:
jordanbasis(M); matrix M

Assume:
eigenvalues of M in basefield

Return:
 
list l:
  module l[1];  inverse(l[1])*M*l[1] in Jordan normal form
  intvec l[2];
    int l[2][i];  weight filtration index of l[1][i]

Example:
 
LIB "linalg.lib";
ring R=0,x,dp;
matrix M[3][3]=3,2,1,0,2,1,0,0,3;
print(M);
==> 3,2,1,
==> 0,2,1,
==> 0,0,3 
list l=jordanbasis(M);
print(l[1]);
==> -2,0,3,
==> 1, 1,0,
==> 0, 1,0 
print(l[2]);
==> 0,
==> 1,
==> -1 
print(inverse(l[1])*M*l[1]);
==> 2,0,0,
==> 0,3,0,
==> 0,1,3