i1 : R = ZZ/101[x] o1 = R o1 : PolynomialRing |
i2 : M = R^4 4 o2 = R o2 : R-module, free |
i3 : A = random(M,M) o3 = | 24 19 -8 -38 | | -36 19 -22 -16 | | -30 -10 -29 39 | | -29 -29 -24 21 | 4 4 o3 : Matrix R <--- R |
i4 : factor det(x*id_M - A) 2 2 o4 = (x + 39x - 10)(x + 27x - 27) o4 : Expression of class Product |
i5 : (B,P,Q) = rationalNormalForm A o5 = (| -27 1 0 0 |, | 15 -11 46 -1 |, | 50 13 7 -23 |) | 27 0 0 0 | | 12 -46 -47 39 | | -37 -24 -41 -18 | | 0 0 -39 1 | | -9 47 33 -2 | | 23 1 33 1 | | 0 0 10 0 | | 41 -40 22 50 | | -8 0 -47 0 | o5 : Sequence |
i6 : B - P*A*Q == 0 o6 = true |
i7 : P*Q - id_M == 0 o7 = true |
The object rationalNormalForm is a method function with options.