The Orthogonal Array package contains functionality to generate and analyse orthogonal arrays, optimal designs and conference designs. Features include generation of complete series of orthogonal arrays, reduction of arrays to normal form and calculation of properties such as the strength or D-efficiency of an array. For more information about the package see the documentation at oapackage.readthedocs.io. A large collection of results generated with the package can be found at http://pietereendebak.nl/oapackage/.
The package can be used from Python:
>>> import oapackage
>>> al=oapackage.exampleArray(0)
>>> al.showarraycompact()
00
00
01
01
10
10
11
11
>>> print('D-efficiency %f, rank %d' % (al.Defficiency(), al.rank()) )
D-efficiency 1.000000, rank 2
>>> print('Generalized wordlength pattern: %s' % str(al.GWLP()))
Generalized wordlength pattern: (1.0, 0.0, 0.0)
For more examples see the Jupyter notebooks in the docs/examples.
If you use this code or any of the results, please cite this program as follows:
- OApackage: A Python package for generation and analysis of orthogonal arrays, optimal designs and conference designs, P.T. Eendebak, A.R. Vazquez, Journal of Open Source Software, 2019
- Complete Enumeration of Pure-Level and Mixed-Level Orthogonal Arrays, E.D. Schoen, P.T. Eendebak, M.V.M. Nguyen, Volume 18, Issue 2, pages 123-140, 2010
- Two-Level Designs to Estimate All Main Effects and Two-Factor Interactions, Pieter T. Eendebak, Eric D. Schoen, Technometrics Vol. 59 , Iss. 1, 2017
- A classification criterion for definitive screening designs, E.D. Schoen, P.T. Eendebak, P. Goos, Ann. Statist. 47, no. 2, 2019.
The code was written by:
- Pieter Eendebak [email protected]
- Alan Vazquez-Alcocer
- Vincent Brouerius van Nidek
Ideas contributed by:
- Eric Schoen [email protected]
- Alan Vazquez-Alcocer [email protected]
See the file LICENSE for copyright details.
The Python interface to the package is available on the Python Package index. Installation can be done using the following command:
$ pip install OApackage
(or pip install OApackage --user
if you do not have admin rights). To compile the package you need Python, Numpy and Swig 3.x.
The command line tools have been tested using Linux, Windows Win7/Win10 and Raspberry Pi.
The program uses a cmake
build system. From the command line type:
$ mkdir -p build; cd build
$ cmake ..
$ make
$ make install
See the file CONTRIBUTING.md on GitHub.