Orthogonal Arrays based on Owen from Statlib. Still available here
| Code Coverage | Actions | CodeQL | Linter |
|---|---|---|---|
Doxygen code documentation
Notes on each orthogonal array are from Owen.
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.
int q = 2;
int ncol = 2*q;
int n = 2*q*q;
oacpp::COrthogonalArray coa;
coa.addelkemp(q, ncol, &n);
coa.getoa();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.
int q = 3;
int ncol = 2*q*q + 2*q + 1;
int n;
oacpp::COrthogonalArray coa;
coa.addelkemp3(q, ncol, &n);
coa.getoa();The bose program produces OA( q^2, k, q, 2 ), k <= q+1
for prime powers q.
int q = 2;
int ncol = q;
int n = 0;
oacpp::COrthogonalArray coa;
coa.bose(q, ncol, &n);
coa.getoa();The bosebush program produces OA( 2q^2, k, q, 2 ), k <= 2q+1,
for powers of 2, q=2^r.
int q = 8;
int ncol = 5;
int n = 0;
oacpp::COrthogonalArray coa;
coa.bosebush(q, ncol, &n);
coa.getoa();The bush program produces OA( q^3, k, q, 3 ), k <= q+1
for prime powers q.
int q = 3;
int ncol = 3;
int n = 0;
oacpp::COrthogonalArray coa;
coa.bush(q, ncol, &n);
coa.getoa();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.
int q = 2;
int ncol = q;
int lambda = 2;
int n = 0;
oacpp::COrthogonalArray coa;
coa.bosebushl(lambda, q, ncol, &n);
coa.getoa();The bush program produces OA( q^t, k, q, t ), k <= q+1, t>=3,
for prime powers q.
int q = 3;
int ncol = 3;
int str = 2;
int n = 0;
oacpp::COrthogonalArray coa;
coa.busht(str, q, ncol, &n);
coa.getoa();