class_docstr: Eckerle4 objective function.
  Eckerle, K., NIST (1979).
  Circular Interference Transmittance Study.
  
  ..[1] https://www.itl.nist.gov/div898/strd/nls/data/eckerle4.shtml
  
  #TODO, this is a NIST regression standard dataset, docstring needs
  improving
code: def __init__(self, dimensions=3):
      Benchmark.__init__(self, dimensions)
  
      self._bounds = list(zip([0.0, 1.0, 10.0], [20, 20.0, 600.0]))
      self.global_optimum = [
          [1.5543827178, 4.0888321754, 4.5154121844e2]
      ]
      self.fglob = 1.4635887487e-03
  
      self.a = asarray(
          [
              1.5750000e-04,
              1.6990000e-04,
              2.3500000e-04,
              3.1020000e-04,
              4.9170000e-04,
              8.7100000e-04,
              1.7418000e-03,
              4.6400000e-03,
              6.5895000e-03,
              9.7302000e-03,
              1.4900200e-02,
              2.3731000e-02,
              4.0168300e-02,
              7.1255900e-02,
              1.2644580e-01,
              2.0734130e-01,
              2.9023660e-01,
              3.4456230e-01,
              3.6980490e-01,
              3.6685340e-01,
              3.1067270e-01,
              2.0781540e-01,
              1.1643540e-01,
              6.1676400e-02,
              3.3720000e-02,
              1.9402300e-02,
              1.1783100e-02,
              7.4357000e-03,
              2.2732000e-03,
              8.8000000e-04,
              4.5790000e-04,
              2.3450000e-04,
              1.5860000e-04,
              1.1430000e-04,
              7.1000000e-05,
          ]
      )
  
      self.b = asarray(
          [
              4.0000000e02,
              4.0500000e02,
              4.1000000e02,
              4.1500000e02,
              4.2000000e02,
              4.2500000e02,
              4.3000000e02,
              4.3500000e02,
              4.3650000e02,
              4.3800000e02,
              4.3950000e02,
              4.4100000e02,
              4.4250000e02,
              4.4400000e02,
              4.4550000e02,
              4.4700000e02,
              4.4850000e02,
              4.5000000e02,
              4.5150000e02,
              4.5300000e02,
              4.5450000e02,
              4.5600000e02,
              4.5750000e02,
              4.5900000e02,
              4.6050000e02,
              4.6200000e02,
              4.6350000e02,
              4.6500000e02,
              4.7000000e02,
              4.7500000e02,
              4.8000000e02,
              4.8500000e02,
              4.9000000e02,
              4.9500000e02,
              5.0000000e02,
          ]
      )
  
imports: from numpy import abs, asarray, cos, exp, arange, pi, sin, sqrt, sum
  from .go_benchmark import Benchmark
label_desc: Use image node_id 1 to create a new Eckerle4 object from inherited base classes: Benchmark with example: obj = Eckerle4(dimensions)