6 l = latin_hypercube(2, bound, m)
7 import matplotlib.pyplot as pyplot
10 pyplot.plot([v[0] for v in l], [v[1] for v in l], 'o')
12 pyplot.plot([random.random() * 2 * bound - bound for _ in xrange(m)],
13 [random.random() * 2 * bound - bound for _ in xrange(m)], 'o')
18 def latin_hypercube(dim, bound, m):
19 dv = (2 * bound) / float(m)
20 dim_p = [range(m) for _ in xrange(dim)]
23 points = [list(l) for l in zip(*dim_p)]
24 points = [[(float(l) + random.random()) * dv - bound for l in p] for p in points]