Skip to main content

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

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pynolh-0.1.tar.gz (6.3 kB view details)

Uploaded Source

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

Hashes for pynolh-0.1.tar.gz
Algorithm Hash digest
SHA256 fee53e0d79f6d6d636bc4e75ea7e10ea27fcf88a51e02c73e79ea0ae5ae99bf0
MD5 55390fade4da96fbb54b338df217f182
BLAKE2b-256 39214a19c5faedf63c959c5fedfd57091bf385b509bd20bbac15ee572b380743

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page