docs: def compute_err(self, solution_y, coefficients):
          """
          Return an error value by finding the absolute difference for each
          element in a list of solution-generated y-values versus expected values.
  
          Compounds error by 50% for each negative coefficient in the solution.
  
          solution_y:  list of y-values produced by a solution
          coefficients:  list of polynomial coefficients represented by the solution
  
          return:  error value
          """
          error = 0
          for modeled, expected in zip(solution_y, self.expected_values):
              error += abs(modeled - expected)
  
          if any([c < 0 for c in coefficients]):
              error *= 1.5
  
          return error