Orthogonal array: Difference between revisions

From Citizendium
Jump to navigation Jump to search
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}}
'''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 this coordiantes appears equal numer of times across the runs. The common notion of such orthogonal array is <math>OA(N,k,s,t)</math>. It is easy to see, that ''N'' is divisible by <math>s^t</math> — number of all possible symbol combinations in the ''t'' coordinates. The number <math>\frac{N}{s^t}</math> is called an ''index'' of orthogonal array.
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 ==
Statistics is a primary application of orthogonal arrays. Experiments based on orthogonal arrays require less tests and yet provide a lot of info.
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 of mathematical constructions are particular cases of orthogonal arrays. For example, [[Latin square|latin squares]] are <math>OA(n^2,3,n,2)</math>. In order to see this, consider all triples <math>(i,j,s(i,j))</math> where <math>s(i,j)</math> symbol in i-th row and j-th column in the latic square. Then <math>n^2</math> such triples for all <math>i,j\in{0,\dots,s-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:
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| 1 ||width=20 align=center| 2 ||width=20 align=center| 3
  |width=20 align=center| 0 ||width=20 align=center| 1 ||width=20 align=center| 2
  |-
  |-
  |align=center| 3 ||align=center| 1 ||align=center| 2
  |align=center| 2 ||align=center| 0 ||align=center| 1
  |-
  |-
  |align=center| 2 ||align=center| 3 ||align=center| 1
  |align=center| 1 ||align=center| 2 ||align=center| 0
|}
|}
  |  
  |align=center|  
{|
{|
|(1,1,1)
|(0,0,0)
|-
|-
|(1,2,2)
|(0,1,1)
|-
|-
|(1,3,3)
|(0,2,2)
|-
|-
|(2,1,3)
|(1,0,2)
|-
|-
|(2,2,1)
|(1,1,0)
|-
|-
|(2,3,2)
|(1,2,1)
|-
|-
|(3,1,2)
|(2,0,1)
|-
|-
|(3,2,3)
|(2,1,2)
|-
|-
|(3,3,1)
|(2,2,0)
|}
|}
|}
|}
A set of ''k'' orthogonal latin square can be converted to <math>OA(n^2,k,n,2)</math> in a similar way.
A set of ''k'' orthogonal Latin square can be converted to <math>OA(n^2,k,n,2)</math> in a similar way.


== Main results ==
[[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 that equal to the product of probabilities of symbols in the combination. And we can union this generalizations allowing different number of symbols and different symbol probabilities for different factors.
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

This article is a stub and thus not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

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
0 1 2
2 0 1
1 2 0
(0,0,0)
(0,1,1)
(0,2,2)
(1,0,2)
(1,1,0)
(1,2,1)
(2,0,1)
(2,1,2)
(2,2,0)

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
1 1 1 1
1 0 0 1
1 0 1 0
1 1 0 0
(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 where is a distance of the code. Here is an example:

Code Dual code Orthogonal array
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

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.