code: def errorFunction(self, t, a):
          
          def difference(v):
              if not self.hyperbolicError:
                  #if -0.1 < v < 0.1: return 0.0
                  #else:
                  return v
              else:
                  if   v < -0.9999999: return -17.0
                  elif v >  0.9999999: return  17.0
                  else: return math.log( (1.0 + v) / (1.0 - v) )
                  #else: return Numeric.arctanh(v) # half that above
          return list(map(difference, t - a))
docs: Using a hyperbolic arctan on the error slightly exaggerates
          the actual error non-linearly. Return t - a to just use the difference.
          t - target vector
          a - activation vector