https://github.com/bertcarnell/oa
Orthogonal Arrays based on Owen from Statlib
https://github.com/bertcarnell/oa
c-plus-plus orthogonal-arrays r rcpp
Last synced: 16 days ago
JSON representation
Orthogonal Arrays based on Owen from Statlib
- Host: GitHub
- URL: https://github.com/bertcarnell/oa
- Owner: bertcarnell
- License: lgpl-3.0
- Created: 2012-07-25T21:48:06.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2022-03-19T00:23:55.000Z (about 3 years ago)
- Last Synced: 2023-03-25T13:05:43.179Z (about 2 years ago)
- Topics: c-plus-plus, orthogonal-arrays, r, rcpp
- Language: C++
- Size: 2.12 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE_LGPLv3.md
- Security: SECURITY.md
Awesome Lists containing this project
README
oa
==Orthogonal Arrays based on Owen from Statlib. Still available [here](http://ftp.uni-bayreuth.de/math/statlib/designs/)
### Status
|Linux & MacOS|Windows|Code Coverage|Actions|CodeQL|Linter|
|:---:|:---:|:---:|:---:|:---:|:---:|
|[](https://www.travis-ci.org/bertcarnell/oa)|[](https://ci.appveyor.com/project/bertcarnell/oa)|[](https://codecov.io/gh/bertcarnell/oa)|[](https://github.com/bertcarnell/oa/actions)|[](https://github.com/bertcarnell/oa/actions)|[](https://github.com/bertcarnell/oa/actions)|### Documentation
[Doxygen](http://bertcarnell.github.io/oa/html/index.html) code documentation
### Examples
Notes on each orthogonal array are from [Owen](http://ftp.uni-bayreuth.de/math/statlib/designs/).
#### Addelman-Kempthorne (addelkemp)
The `addelkemp` program produces `OA( 2q^2, k, q, 2 )`, `k <= 2q+1`,
for odd prime powers `q`. Even prime powers may be produced using
`bosebush`.```c
int q = 2;
int ncol = 2*q;
int n = 2*q*q;
oacpp::COrthogonalArray coa;
coa.addelkemp(q, ncol, &n);
coa.getoa();
```#### Addelman-Kempethorn (addelkemp3)
The `addelkemp3` program produces `OA( 2\*q^3, k, q, 2 )`, `k <= 2q^2+2q+1`,
for prime powers `q`. `q` may be an odd prime power, or `q` may
be `2` or `4`.```c
int q = 3;
int ncol = 2*q*q + 2*q + 1;
int n;
oacpp::COrthogonalArray coa;
coa.addelkemp3(q, ncol, &n);
coa.getoa();
```#### Bose
The `bose` program produces `OA( q^2, k, q, 2 )`, `k <= q+1`
for prime powers `q`.```c
int q = 2;
int ncol = q;
int n = 0;
oacpp::COrthogonalArray coa;
coa.bose(q, ncol, &n);
coa.getoa();
```#### Bose-Bush
The `bosebush` program produces `OA( 2q^2, k, q, 2 )`, `k <= 2q+1`,
for powers of `2`, `q=2^r`.```c
int q = 8;
int ncol = 5;
int n = 0;
oacpp::COrthogonalArray coa;
coa.bosebush(q, ncol, &n);
coa.getoa();
```#### Bush
The `bush` program produces `OA( q^3, k, q, 3 )`, `k <= q+1`
for prime powers `q`.```c
int q = 3;
int ncol = 3;
int n = 0;
oacpp::COrthogonalArray coa;
coa.bush(q, ncol, &n);
coa.getoa();
```#### Bose-Bush lambda
The `bosebushl` program produces `OA( lambda*q^2, k, q, 2 )`,
`k <= lambda*q+1`, for prime powers `q` and `lambda > 1`. Both `q` and
`lambda` must be powers of the same prime.```c
int q = 2;
int ncol = q;
int lambda = 2;
int n = 0;
oacpp::COrthogonalArray coa;
coa.bosebushl(lambda, q, ncol, &n);
coa.getoa();
```#### Bush t
The `bush` program produces `OA( q^t, k, q, t )`, `k <= q+1`, `t>=3`,
for prime powers `q`.```c
int q = 3;
int ncol = 3;
int str = 2;
int n = 0;
oacpp::COrthogonalArray coa;
coa.busht(str, q, ncol, &n);
coa.getoa();
```