| Bill Allombert on Mon, 27 Sep 2004 00:19:46 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| new function matfrobenius(). |
Hello PARI-dev,
I have added a new function to GP, matfrobenius() which compute the
elementary divisors and the Frobenius form of a square matrix.
? ??matfrobenius
matfrobenius(M,{flag = 0}):
returns the Frobenius form of the square matrix M. If flag = 1, returns only
the elementary divisors. If flag = 2, returns a two-components vector [F,B]
where F is the Frobenius form and B is the basis change so that M = B^{-1}FB.
The library syntax is matfrobenius(M,flag).
? matfrobenius([1,1;0,1])
%1 =
[0 -1]
[1 2]
? matfrobenius([1,1;0,1],1)
%2 = [x^2 - 2*x + 1]
? matfrobenius([1,1;0,1],2)
%3 = [[0, -1; 1, 2], [1, -1; -1, 0]]
? %[2]^-1*%[1]*%[2]
%4 =
[1 1]
[0 1]
Cheers,
Bill.