Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from fractions import Fraction as f
- import numpy as np
- def ladder(a):
- # Приводим к ступенчатому виду
- n = len(a)
- m = len(a[0])
- # Ведущая строка k, Ведущий элемент q
- for k in range(n):
- for i in range(1+k, n):
- if not any(a[k]):
- a = np.append(a, [a[k]], axis=0)
- a = np.delete(a, k, axis=0)
- continue
- x = -a[i][k]/a[k][k]
- for j in range(m):
- a[i][j] = a[k][j]*x + a[i][j]
- return a
- def format_mat(a):
- # Форматируем вывод матрицы
- return np.array([[f'{i}' for i in x] for x in a])
- n = int(input())
- A = np.array([[f(x) for x in input().split()] for i in range(n)])
- m = len(A[0])
- A = ladder(A)
- print(format_mat(A))
Advertisement
Add Comment
Please, Sign In to add comment