Nearly Orthogonal Latin Hypercube Generator
Project description
This library allows to generate Nearly Orthogonal Latin Hypercubes (NOLH) according to Cioppa (2007) and De Rainville et al. (2012) and reference therein.
Installation
Clone the repository
$ git clone http://github.com/fmder/pynolh.git
and from the cloned directory type
$ python setup.py install
PyNOLH requires Numpy.
Usage
The library contains a single generator and a function to retrieve the necessary parameters from a desired dimensionality. To generate a 6 dimension NOLH from the indentity permutation:
import pynolh dim = 6 m, q, r = pynolh.params(dim) conf = range(q) remove = range(dim - r, dim) nolh = pynolh.nolh(conf, remove)
The NOLH returned is a numpy array with one row being one sample.
You can also produce a NOLH from a random permutation configuration vector and remove random columns:
import pynolh import random dim = 6 m, q, r = pynolh.params(dim) conf = random.sample(range(q), q) remove = random.sample(range(q), r) nolh = pynolh.nolh(conf, remove)
The nolh() function accepts configurations with either numbers in [0 q-1] or [1 q].
import pynolh dim = 6 m, q, r = pynolh.params(dim) conf = range(1, q + 1) remove = range(dim - r + 1, dim + 1) nolh = pynolh.nolh(conf, remove)
Some prebuilt configurations are given within the library. The CONF module attribute is a dictionary with the dimension as key and a configuration, columns to remove pair as value.
import pynolh conf, remove = pynolh.CONF[6] nolh = pynolh.nolh(conf, remove)
The configurations for dimensions 2 to 7 are from Cioppa (2007) and 8 to 29 are from De Rainville et al. 2012.
Configuration Repository
See the Quasi Random Sequences Repository for more configurations.
References
Cioppa, T. M., & Lucas, T. W. (2007). Efficient nearly orthogonal and space-filling Latin hypercubes. Technometrics, 49(1).
De Rainville, F.-M., Gagné, C., Teytaud, O., & Laurendeau, D. (2012). Evolutionary optimization of low-discrepancy sequences. ACM Transactions on Modeling and Computer Simulation (TOMACS), 22(2), 9.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pynolh-0.1.tar.gz
.
File metadata
- Download URL: pynolh-0.1.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fee53e0d79f6d6d636bc4e75ea7e10ea27fcf88a51e02c73e79ea0ae5ae99bf0 |
|
MD5 | 55390fade4da96fbb54b338df217f182 |
|
BLAKE2b-256 | 39214a19c5faedf63c959c5fedfd57091bf385b509bd20bbac15ee572b380743 |