i1 : R = QQ o1 = QQ o1 : Ring |
i2 : A = random(R^2, R^5) o2 = | 7/10 1 1/2 1/7 3 | | 1/9 2/5 1/4 1/5 8 | 2 5 o2 : Matrix QQ <--- QQ |
i3 : B = random(R^2, R^5) o3 = | 7/8 4/5 8/9 8/5 1/7 | | 1/2 4/7 8 9/5 1 | 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/6774519 |, | 8281603080 | 0 0 0 1 0 | | 0 0 0 0 1 | | -1/6774519 0 | | -6412661710 | 243882684 | -1479140495 | 234967999 ------------------------------------------------------------------------ -8697240 32182920 14197680 -36386280 |) 9724680 -24492055 -19103875 28043680 | 0 0 0 0 | 2205 -5435570 1723750 1726760 | -1212309 913507 714910 -939988 | o4 : Sequence |
i5 : P*A*Q - A' == 0 o5 = true |
i6 : P*B*Q - B' == 0 o6 = true |