i1 : R = QQ o1 = QQ o1 : Ring |
i2 : A = random(R^2, R^5) o2 = | 6/7 3/7 10/3 9/5 3/10 | | 5/4 4 5/9 5/4 7/3 | 2 5 o2 : Matrix QQ <--- QQ |
i3 : B = random(R^2, R^5) o3 = | 1 3/10 3/2 6/5 5/2 | | 8/5 9/2 5/9 2 8/7 | 2 5 o3 : Matrix QQ <--- QQ |
i4 : (A',B',P,Q) = kroneckerNormalForm(A,B) o4 = (| 0 1 0 0 0 |, | 0 0 1 0 0 |, | 0 -1/321590 |, | 9183975 | 0 0 0 1 0 | | 0 0 0 0 1 | | -1/192954 0 | | -301580 | 1157724 | -6221135 | -1345890 ------------------------------------------------------------------------ 1630500 -1496775 710325 -587775 |) -201552 105000 -45724 89556 | 0 0 0 0 | -678012 641375 -421869 254391 | -302568 278250 -76146 25074 | o4 : Sequence |
i5 : P*A*Q - A' == 0 o5 = true |
i6 : P*B*Q - B' == 0 o6 = true |