next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Kronecker :: rationalNormalForm

rationalNormalForm -- rational normal form of a matrix

Synopsis

Description

This function produces a matrix B in rational normal form, and invertible matrices P and Q such that P*Q = I and B = P*A*Q.
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 = | 43  -32 41  -3  |
     | -13 35  14  21  |
     | -15 -19 42  23  |
     | 49  -17 -12 -15 |

             4       4
o3 : Matrix R  <--- R
i4 : factor det(x*id_M - A)

                      2
o4 = (x + 7)(x + 22)(x  - 33x - 21)

o4 : Expression of class Product
i5 : (B,P,Q) = rationalNormalForm A

o5 = (| -7 0   0  0 |, | -12 -43 38 -37 |, | 19 -18 -34 1  |)
      | 0  -22 0  0 |  | 3   -14 36 26  |  | 33 12  48  10 |
      | 0  0   33 1 |  | -35 14  -4 -13 |  | 47 -31 39  1  |
      | 0  0   21 0 |  | 2   31  -8 22  |  | 1  1   -32 0  |

o5 : Sequence
i6 : B - P*A*Q == 0

o6 = true
i7 : P*Q - id_M == 0

o7 = true

Ways to use rationalNormalForm :