Orthogonal array: Difference between revisions
imported>Andrey Khalyavin No edit summary |
imported>Paul Wormer m (array --> arrays) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{subpages}} | {{subpages}} | ||
''' | An '''orthogonal array''' with ''N'' runs, ''k'' factors, ''s'' symbols and strength ''t'' is a set of ''N'' ''k''-tuples (called runs) with elements from <math>\{0,\dots,s-1\}</math> such that for every set of ''t'' coordinates every combination of symbols in these coordinates appears equal number of times across the runs. Such orthogonal arrays are commonly denoted by <math>OA(N,k,s,t)</math>. It is easy to see that ''N'' is divisible by <math>s^t</math> — the number of all possible symbol combinations in the ''t'' coordinates. The number <math>\tfrac{N}{s^t}</math> is called the ''index'' of the orthogonal array. | ||
== Statistical applications == | == Statistical applications == | ||
Orthogonal arrays are often used in statistics. Experiments based on orthogonal arrays require less tests and yet provide a lot of info. | |||
== Particular cases == | == Particular cases == | ||
Some | Some mathematical constructions are particular cases of orthogonal arrays. For example, a [[Latin square]] of size <math>n \times n</math> is an orthogonal array with <math>N=n^2</math> runs, ''k'' = 3 factors, ''s'' = ''n'' symbols and strength ''t'' = 2; in short, <math>OA(n^2,3,n,2)</math>. In order to see this, consider all triples <math>(i,j,a(i,j))</math> where <math>a(i,j)</math> denotes the symbol in the ''i''-th row and ''j''-th column in the Latin square. Then the <math>n^2</math> triples constructed thus for all <math>i,j\in\{0,\dots,n-1\}</math> form an orthogonal array with strength 2: there is a single cell with given coordinates, single cell with given row and symbol in the cell and a single cell with given column and symbol in the cell. Here is a simple example: | ||
{| | {| | ||
| Latin square | | Latin square | ||
Line 13: | Line 13: | ||
|valign=top| | |valign=top| | ||
{| border=1 cellspacing=0 | {| border=1 cellspacing=0 | ||
|width=20 align=center| | |width=20 align=center| 0 ||width=20 align=center| 1 ||width=20 align=center| 2 | ||
|- | |- | ||
|align=center| | |align=center| 2 ||align=center| 0 ||align=center| 1 | ||
|- | |- | ||
|align=center| | |align=center| 1 ||align=center| 2 ||align=center| 0 | ||
|} | |} | ||
| | |align=center| | ||
{| | {| | ||
|( | |(0,0,0) | ||
|- | |- | ||
|(1, | |(0,1,1) | ||
|- | |- | ||
|( | |(0,2,2) | ||
|- | |- | ||
|( | |(1,0,2) | ||
|- | |- | ||
|( | |(1,1,0) | ||
|- | |- | ||
|(2, | |(1,2,1) | ||
|- | |- | ||
|( | |(2,0,1) | ||
|- | |- | ||
|( | |(2,1,2) | ||
|- | |- | ||
|( | |(2,2,0) | ||
|} | |} | ||
|} | |} | ||
A set of ''k'' orthogonal | A set of ''k'' orthogonal Latin square can be converted to <math>OA(n^2,k,n,2)</math> in a similar way. | ||
== Main | [[Adamar matrix|Adamar matrices]] of size <math>4N\times4N</math> give an example of <math>OA(4N,4N-1,2,2)</math>. You just need to remove a column of 1's from the matrix: | ||
The main result in theory of orthogonal arrays is the lower [[linear programming bound]] on the number of runs in the orthogonal array. | {| | ||
|Adamar matrix||Orthogonal array | |||
|- | |||
| | |||
{| border=1 cellspacing=0 | |||
|width=20 align=center|1||width=20 align=center|1||width=20 align=center|1||width=20 align=center|1 | |||
|- | |||
|align=center|1||align=center|0||align=center|0||align=center|1 | |||
|- | |||
|align=center|1||align=center|0||align=center|1||align=center|0 | |||
|- | |||
|align=center|1||align=center|1||align=center|0||align=center|0 | |||
|} | |||
|align=center| | |||
{| | |||
|(1,1,1) | |||
|- | |||
|(0,0,1) | |||
|- | |||
|(0,1,0) | |||
|- | |||
|(1,0,0) | |||
|} | |||
|} | |||
Another example is a linear [[error-correcting code]]. All codewords of the [[dual code]] form a linear orthogonal array with strength <math>d-1</math> where <math>d</math> is a distance of the code. Here is an example: | |||
{| | |||
|Code||Dual code||Orthogonal array | |||
|- | |||
|valign=top| | |||
{| | |||
|000 | |||
|- | |||
|111 | |||
|} | |||
| | |||
{| | |||
|000 | |||
|- | |||
|011 | |||
|- | |||
|101 | |||
|- | |||
|110 | |||
|} | |||
| | |||
{| | |||
|(0,0,0) | |||
|- | |||
|(0,1,1) | |||
|- | |||
|(1,0,1) | |||
|- | |||
|(1,1,0) | |||
|} | |||
|} | |||
== Main bounds == | |||
The main result in the theory of orthogonal arrays is the lower [[linear programming bound]] on the number of runs in the orthogonal array. | |||
== Main constructions == | |||
== Generalizations == | == Generalizations == | ||
There is several useful generalizations of orthogonal array. We can allow different factors have a different number of symbols. We can assign unequal probabilities to the symbols and require that each combination of symbols appears in the fraction of runs | There is several useful generalizations of the definition of orthogonal array. We can allow different factors have a different number of symbols. We can assign unequal probabilities to the symbols and require that each combination of symbols appears in the fraction of runs given by the product of probabilities of symbols in the combination. And we can combine these generalizations, allowing different number of symbols and different symbol probabilities for different factors. |
Latest revision as of 11:50, 24 June 2008
An orthogonal array with N runs, k factors, s symbols and strength t is a set of N k-tuples (called runs) with elements from such that for every set of t coordinates every combination of symbols in these coordinates appears equal number of times across the runs. Such orthogonal arrays are commonly denoted by . It is easy to see that N is divisible by — the number of all possible symbol combinations in the t coordinates. The number is called the index of the orthogonal array.
Statistical applications
Orthogonal arrays are often used in statistics. Experiments based on orthogonal arrays require less tests and yet provide a lot of info.
Particular cases
Some mathematical constructions are particular cases of orthogonal arrays. For example, a Latin square of size is an orthogonal array with runs, k = 3 factors, s = n symbols and strength t = 2; in short, . In order to see this, consider all triples where denotes the symbol in the i-th row and j-th column in the Latin square. Then the triples constructed thus for all form an orthogonal array with strength 2: there is a single cell with given coordinates, single cell with given row and symbol in the cell and a single cell with given column and symbol in the cell. Here is a simple example:
Latin square | Orthogonal array | ||||||||||||||||||
|
|
A set of k orthogonal Latin square can be converted to in a similar way.
Adamar matrices of size give an example of . You just need to remove a column of 1's from the matrix:
Adamar matrix | Orthogonal array | ||||||||||||||||||||
|
|
Another example is a linear error-correcting code. All codewords of the dual code form a linear orthogonal array with strength where is a distance of the code. Here is an example:
Code | Dual code | Orthogonal array | ||||||||||
|
|
|
Main bounds
The main result in the theory of orthogonal arrays is the lower linear programming bound on the number of runs in the orthogonal array.
Main constructions
Generalizations
There is several useful generalizations of the definition of orthogonal array. We can allow different factors have a different number of symbols. We can assign unequal probabilities to the symbols and require that each combination of symbols appears in the fraction of runs given by the product of probabilities of symbols in the combination. And we can combine these generalizations, allowing different number of symbols and different symbol probabilities for different factors.