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 = A1⊗A2 := {(x,y)  :  x ∈ A1,y ∈ A2} ⊆ 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

$\displaystyle \left(\vphantom{\begin{array}{cc} \vec{H}_{1} & \vec{0}_{m_{1}\times s_{2}}\\ \vec{0}_{m_{2}\times s_{1}} & \vec{H}_{2}\end{array}}\right.$$\displaystyle \begin{array}{cc} \vec{H}_{1} & \vec{0}_{m_{1}\times s_{2}}\\ \vec{0}_{m_{2}\times s_{1}} & \vec{H}_{2}\end{array}$$\displaystyle \left.\vphantom{\begin{array}{cc} \vec{H}_{1} & \vec{0}_{m_{1}\times s_{2}}\\ \vec{0}_{m_{2}\times s_{1}} & \vec{H}_{2}\end{array}}\right)$.

Construction for Codes

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

A1⊗A2 = (A1⊥⊗A2⊥)⊥.

See Also

References

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

Copyright

Copyright © 2004, 2005, 2006, 2007, 2008, 2009, 2010 by Rudolf Schürer and Wolfgang Ch. Schmid.
Cite this as: Rudolf Schürer and Wolfgang Ch. Schmid. “Direct Product of Two Codes.” From MinT—the database of optimal net, code, OA, and OOA parameters. Version: 2024-09-05. http://mint.sbg.ac.at/desc_CProduct.html

Show usage of this method