## Direct Product of Two Codes

Let A1 be a (linear) orthogonal array OA(M1, s1, Sb, k1) and let A2 be a (linear) OA(M2, s2, Sb, k2). Then the direct product or direct sum of A1 and A2 is a (linear) OA(M1M2, s1 + s2, Sb, k) with

k = min{k1, k2}.

Correspondingly, given two (linear) codes C1 and C2 with parameters (s1, N1, d1) and (s1, N2, d2), a new (linear) (s1 + s2, N1N2, d)-code with d = min{d1, d2} can be obtained.

The (u, u + v)-construction is always at least as good as the direct product.

### Construction for Orthogonal Arrays

The new orthogonal array is defined by the direct product of the original OAs. To be more specific, the runs of the new OA A are given by the multi-set

A = A1A2 := {(x,y)  :  xA1,yA2} ⊆ Sbs1+s2.

If the original OAs are linear the new OA can be constructed as follows: Let Hi be the mi×si generator matrices of the original OAs. Then a generator matrix of the new OA is given by

.

### Construction for Codes

Interestingly, the construction for codes is identical to the construction for orthogonal arrays described above. In other words,

A1A2 = (A1A2).

• Generalization for arbitrary OOAs

• Corresponding result for nets

• The direct product is a special case of construction X4

• [1, Section 2.9 and Section 1.3, Problem (17)]

### References

 [1] F. Jessie MacWilliams and Neil J. A. Sloane.The Theory of Error-Correcting Codes.North-Holland, Amsterdam, 1977.