i1 : R = QQ o1 = QQ o1 : Ring |
i2 : A = random(R^2, R^5) o2 = | 2/7 5 7/3 3/7 1 | | 7/9 9/8 1 1 8/5 | 2 5 o2 : Matrix QQ <--- QQ |
i3 : B = random(R^2, R^5) o3 = | 5/6 2 9/5 7/2 1 | | 2 2 7/9 5/4 1/2 | 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/1879429 |, | -15289164 | 0 0 0 1 0 | | 0 0 0 0 1 | | -1/1879429 0 | | 24658864 | -61971030 | 16050516 | 18794290 ------------------------------------------------------------------------ -1317744 -723924 349146 592290 |) 2268504 -667488 -478856 -351120 | -4990680 1565100 157815 847620 | 1584096 -251124 109340 -913280 | 0 0 0 0 | o4 : Sequence |
i5 : P*A*Q - A' == 0 o5 = true |
i6 : P*B*Q - B' == 0 o6 = true |