Esempio n. 1
0
class RosenbrockWithList(Rosenbrock):
    """
    A 3 dimensional implementation of the Rosenbrock function

    Result at (1,1,1) is 0.
    """
    l = parameter.List(np.arange(0, 10),
                       repeat=True,
                       doc='list parameter for testing')
    x = parameter.Uniform(-10,
                          10,
                          1.5,
                          3.0,
                          -10,
                          10,
                          doc='x value of Rosenbrock function')
    y = parameter.Uniform(-10,
                          10,
                          1.5,
                          3.0,
                          -10,
                          10,
                          doc='y value of Rosenbrock function')
    z = parameter.Uniform(-10,
                          10,
                          1.5,
                          3.0,
                          -10,
                          10,
                          doc='z value of Rosenbrock function')
Esempio n. 2
0
class RosenbrockWithConstant(Rosenbrock):
    """
    A 3 dimensional implementation of the Rosenbrock function

    Result at (1,1,1) is 0.
    """
    c = parameter.Constant(0, doc='Constant offset, should stay 0')
    x = parameter.Uniform(-10,
                          10,
                          1.5,
                          3.0,
                          -10,
                          10,
                          doc='x value of Rosenbrock function')
    y = parameter.Uniform(-10,
                          10,
                          1.5,
                          3.0,
                          -10,
                          10,
                          doc='y value of Rosenbrock function')
    z = parameter.Uniform(-10,
                          10,
                          1.5,
                          3.0,
                          -10,
                          10,
                          doc='z value of Rosenbrock function')
Esempio n. 3
0
class SpotSetupClassAttributes(SpotSetupBase):
    """
    A Test case with two parameters as class parameters (a,b)
    and 2 given from the parameter function
    """
    a = parameter.Uniform(-1, 1)
    b = parameter.Uniform(-1, 1)
    c = parameter.Uniform(-1, 1)
    d = parameter.Uniform(-1, 1)
Esempio n. 4
0
class SpotSetupMixedParameterList(SpotSetupBase):
    """
    A Test case with two parameters as class parameters (a,b)
    and 2 given from the parameter function
    """
    a = parameter.Uniform(0, 1)
    b = parameter.Uniform(1, 2)

    def parameters(self):
        return parameter.generate(
            [parameter.Uniform(name, -1, 1) for name in 'cd'])
Esempio n. 5
0
    def __init__(self, chn_fn=None):
        if chn_fn is None:
            chn_fn = 'channel_pars.csv'

        fn = _join(_par_dir, chn_fn)

        fp = open(fn)
        csv_rdr = csv.DictReader(fp)

        pars = {}
        pars_list = []
        for row in csv_rdr:
            par = row['parameter']
            optimize = int(row['optimize'])
            optguess = float(row['optguess'])

            if optimize == 0:  # fixed parameter
                pars[par] = optguess

            else:
                pars[par] = '{%s}' % par
                distribution = row['distribution']
                if distribution.lower() != 'uniform':
                    raise NotImplementedError

                low = float(row['low'])
                high = float(row['high'])
                stepsize = row['stepsize']
                if len(stepsize) == 0:
                    stepsize = None
                else:
                    stepsize = float(stepsize)

                if stepsize is None:
                    pars_list.append(
                        parameter.Uniform(name='chndefs:' + par,
                                          low=low,
                                          high=high,
                                          optguess=optguess))
                else:
                    pars_list.append(
                        parameter.Uniform(name='chndefs:' + par,
                                          low=low,
                                          high=high,
                                          optguess=optguess,
                                          stepsize=stepsize))

        fp.close()
        self.pars = pars
        self.pars_list = pars_list
Esempio n. 6
0
 def test_find_constant_parameters(self):
     flex = parameter.Uniform('flexible', 0, 1)
     p = parameter.generate([flex, self.const])
     constant_parameters = parameter.find_constant_parameters(p)
     self.assertFalse(constant_parameters[0],
                      'Flexible parameter detected as constant')
     self.assertTrue(constant_parameters[1],
                     'Constant parameter not detected')
Esempio n. 7
0
 def test_uniform_has_correct_statistics(self):
     unif = parameter.Uniform("test", 0, 1)
     # Generate 10k random numbers
     nums = [unif() for _ in range(10000)]
     self.assertAlmostEqual(np.mean(nums), (1 - 0) / 2.0, self.tolerance,
                            "Mean of Unif(0, 1) should be 1/2")
     self.assertAlmostEqual(np.var(nums), 1.0 / 12, self.tolerance,
                            "Variance of Unif(0, 1) should be 1/12")
Esempio n. 8
0
def paramcontrol(name, calibrate, value, low, high, guess):

    d = {
        'calibrate': calibrate,
        'value': value,
        'param': parameter.Uniform(name, low=low, high=high, optguess=guess),
        'name': name
    }
    return d
Esempio n. 9
0
 def test_uniform_has_correct_bounds(self):
     unif = parameter.Uniform("test", low=0, high=1)
     print(unif.minbound)
     self.assertGreaterEqual(unif.minbound, 0)
     self.assertLessEqual(unif.maxbound, 1)
Esempio n. 10
0
 def test_uniform_is_callable(self):
     unif = parameter.Uniform("test", low=0, high=1)
     self.assertTrue(callable(unif),
                     "Uniform param instance should be callable")
Esempio n. 11
0
 def test_uniform_processes_non_keyword_args(self):
     _ = parameter.Uniform("test", 0, 1)
Esempio n. 12
0
 def __init__(self):
     self.parameters = [parameter.Uniform(name, -1, 1) for name in 'abcd']
Esempio n. 13
0
 def parameters(self):
     return parameter.generate(
         [parameter.Uniform(name, -1, 1) for name in 'cd'])