import util
from solvers import solvers
from solvers.theoretical import solve_theoretical
from util import Grid

if __name__ == '__main__':
  grid = Grid(16, 128)

  reference = solve_theoretical(grid)

  print()
  print(grid)

  for solver in solvers:
    solution = solver(grid)

    mse = util.mse(reference, solution)
    mae = util.mae(reference, solution)

    print(f'{solver.__name__:30} {mse:.4e}   {mae:.4e}')
