## Description

For any \(q\)-ary linear code \(C\) over a ring \(R\), the dual code over \(R\) is \begin{align} C^\perp = \{ y\in R^{n} ~|~ x \cdot y=0 \forall x\in C\}, \tag*{(1)}\end{align} where the ordinary, standard, or Euclidean inner product is \(x\cdot y = \sum_{i=1}^n x_i y_i\) for coordinates \(x_i,y_i\).

A code that is contained in its dual, \(C \subseteq C^\perp\), is called self-orthogonal over \(R\) or weakly self-dual over \(R\). A code that contains its dual, \(C^\perp \subseteq C\), is called dual-containing over \(R\). A code that is equal to its dual, \(C^\perp = C\), is called self-dual over \(R\). A code is dual-containing over \(R\) iff its dual is self-orthogonal over \(R\).

## Parent

## Child

- Octacode — The octacode is self-dual over \(\mathbb{Z}_4\).

## Cousins

## Page edit log

- Victor V. Albert (2022-07-22) — most recent

## Cite as:

“Dual code over \(R\)”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022. https://errorcorrectionzoo.org/c/dual_over_rings

Github: https://github.com/errorcorrectionzoo/eczoo_data/tree/main/codes/classical/rings/dual_over_rings.yml.