Пример #1
0
 def test_eye(self):
     """
     Единичная матрица
     """
     path = os.path.dirname(os.path.realpath(__file__))
     solver = DiophantineEquations(path + TEST_DIR + r"\test_eye.txt")
     res = solver.diophantine_equation_solver()
     self.assertEqual(res, [[1]], "Кейс с единичной матрицей некорректный!")
Пример #2
0
 def test_rectangular_many_solution(self):
     """
     Прямоугольная матрица, решений множество
     """
     path = os.path.dirname(os.path.realpath(__file__))
     solver = DiophantineEquations(path + TEST_DIR +
                                   r"\test_rectangular_many_solution")
     res = solver.diophantine_equation_solver()
     assert_array_equal(res, np.array([[488, -20], [-364, 15], [-682, 28]]),
                        "Кейс с прямоугольной матрицей(т) некорректный!")
Пример #3
0
 def test_squaere_many_solutions(self):
     """
     Квадратная вырожденная матрица, решений множество
     """
     path = os.path.dirname(os.path.realpath(__file__))
     solver = DiophantineEquations(path + TEST_DIR +
                                   r"\test_squaere_many_solutions")
     res = solver.diophantine_equation_solver()
     assert_array_equal(
         res, np.array([[0], [0]]),
         "Кейс с квадратичной невырожденной матрицей(n) некорректный!")
Пример #4
0
 def test_square_one_solution(self):
     """
     Квадратная невырожденная матрица, решение единственное
     """
     path = os.path.dirname(os.path.realpath(__file__))
     solver = DiophantineEquations(path + TEST_DIR +
                                   r"\test_square_only_one")
     res = solver.diophantine_equation_solver()
     assert_array_equal(
         res, np.array([[1], [1]]),
         "Кейс с квадратичной невырожденной матрицей(1) некорректный!")
Пример #5
0
 def test_square_no_solution_integer(self):
     """
     Квадратная невырожденная матрица, решений в целых числах нет
     """
     path = os.path.dirname(os.path.realpath(__file__))
     solver = DiophantineEquations(path + TEST_DIR +
                                   r"\test_square_no_solution_integer")
     self.assertRaises(ValueError, solver.diophantine_equation_solver)
Пример #6
0
 def test_rectangular_no_solution(self):
     """
     Прямоугольная матрица, решений нет
     """
     path = os.path.dirname(os.path.realpath(__file__))
     solver = DiophantineEquations(path + TEST_DIR +
                                   r"\test_rectangular_no_solution")
     self.assertRaises(ValueError, solver.diophantine_equation_solver)
Пример #7
0
import numpy as np
import sys
from diophantine import DiophantineEquations

test = np.array([[2, 1, 0, -3], [-2, 0, 1, -3], [0, 1, 1, 6]])

if __name__ == "__main__":

    try:
        if len(sys.argv) == 2:
            solver = DiophantineEquations(sys.argv[1])
        else:
            solver = DiophantineEquations()
        res = solver.diophantine_equation_solver()
        solver.print_and_write_result(res, flag='file')
    except ValueError as e:
        with open("output.txt", "w") as f:
            f.write("No solution")