def LUPMethod(size, a, b): print("Лабораторная работа 1.1") print("алгоритм LUP - разложения матриц ") print() print("Матрица") additional.PrintMatrix(a) additional.PrintVector(b) l, u, p = LUPSeparate(size, a) x = LUPSolve(size, l, u, b, p) print("L") additional.PrintMatrix(l) print("U") additional.PrintMatrix(u) print("L * U") additional.PrintMatrix(numpy.array(l) @ numpy.array(u)) # исправить print("Ответ") additional.PrintVector(x) print("Ответ, почлученный при помощи numpy") additional.PrintVector(numpy.linalg.solve(a, b)) if __name__ == '__main__': size, a, b, _ = additional.GetStatement("1.txt") LUPMethod(size, a, b) ''' задание 3 -- получить обратную матрицу из задания 1 (lup разложение) задание 4 -- проверить что A * x = lambda * x '''
additional.PrintMatrix(q) rootType = GetRootTipe(size, a, precision) if additional.HaveNoRoot(rootType): if step: step = False else: return Solve(a, rootType) return None def QRMethod(size, a, precision): print("Лабораторная работа 1.5") print("Алгоритм QR – разложения матриц") print() print("Матрица") additional.PrintMatrix(a) x = QRMain(size, a, precision) print("Ответ") additional.PrintVector(x) x, u = numpy.linalg.eig(a) print("Ответ, почлученный через numpy.linalg") additional.PrintVector(x) if __name__ == '__main__': size, a, b, precision = additional.GetStatement("55.txt") QRMethod(size, a, precision)