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.
Metadata
Release files for pynolh 0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pynolh-0.1.tar.gz | 6.3 kB | Details |
Release files / pynolh-0.1.tar.gz
| Download URL | pynolh-0.1.tar.gz |
|---|---|
| Size | 6.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fee53e0d79f6d6d636bc4e75ea7e10ea27fcf88a51e02c73e79ea0ae5ae99bf0
|
|
BLAKE2b-256 checksum How to use checksums |
39214a19c5faedf63c959c5fedfd57091bf385b509bd20bbac15ee572b380743
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |