diff options
Diffstat (limited to '4/one.py')
-rw-r--r-- | 4/one.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/4/one.py b/4/one.py new file mode 100644 index 0000000..341c383 --- /dev/null +++ b/4/one.py @@ -0,0 +1,38 @@ +from libsolve2 import * +from fractions import Fraction + +def f_eye(dim): + return Matrix([ + [0 if i != j else 1 for i in range(dim)] + for j in range(dim) + ]) + +matrices = { + 'A': Matrix([ + [ 2, -3, 1, 3], + [ 9, -9, 1, 4], + [-5, 2, -6, -2], + [-5, 2, -1, -7] + ]), + 'B': Matrix([ + [ 2, -3, 1, 3], + [ 5, -7, 1, 2], + [-5, 2, -6, -2], + [-9, 4, -1, -9] + ]), + 'C': Matrix([ + [-6, -8, -4, 3], + [ 1, 1, 3, -2], + [-1, -4, -7, 1], + [ 1, 8, 4, -8] + ]) +} + +for name, m in matrices.items(): + print() + print(f'{name} polynomial is {(m - f_eye(4) * x).det()}') + m5 = m + f_eye(4) * 5 + print(f'{name} + 5E =\n{m5}') + print(f'rank({name} + 5E) = {m5.rank()}') + print(f'rank({name} + 5E)**2 = {(m5@m5).rank()}') + print(f'rank({name} + 5E)**3 = {(m5@m5@m5).rank()}') |