## Trace Code for OOAs

Let A be a (linear) ordered orthogonal array OOA(M, s, Sbu, T , k) with u ≥ 1. Then a (linear) OOA(M, us, Sb, T , k) Aʹ can be constructed.

Without loss of generality let Sbu := {0,…, bu – 1} and Sb := {0,…, b – 1}. Define φi : SbuSb such that x = φi(x)bi−1 for all xSbu. If b is a prime power, we can also choose Sbu := Fbu, Sb := Fb, and φi(x) := tr(αix) where {α1,…, αu} is a basis of Fbu over Fb and tr : FbuFb is the trace. Therefore this construction usually goes by the name trace code.

Now Aʹ is defined as the multi-set

Aʹ = {(φ1(x),…, φu(x))  :  xA} ⊆ Fb(us,T )

with φi applied coordinate-wise to the vectors in Fbu(s,T ).

Since the trace is linear, this construction also yields a linear OOA(bum, us,Fb, T , k) if C is a linear OOA(bum, s,Fbu, T , k): Let H be the m×(s, T ) generator matrix of C over Fbu. Then

with φi applied again element-wise is an um×(us, T ) generator matrix of Cʹ over Fb.

For linear OOAs this result is due to [1, Theorem 3.1]. The special case for T = k is given in [2, Propagation Rule 7].