Does the method for finding dual codes change from binary codes to codes over GF(q)?

54 Views Asked by At

I understand that for a binary linear code $C$ (n,k) code, with generator matrix $G$ ($n \times k$ matrix), two ways of finding the dual code $C^{\perp}$ (n,n-k) code are:

  1. Put $G$ into standard form $G=[I_{k}|A]$, where $A$ is a $k \times (n-k)$ matrix. Use this to obtain $H= [-A^{T}|I_{n-k}]$, which is the generator matrix of the dual code
  2. Find all the binary vectors $u$ of length $n$ such that $u.c=0$ $\forall$ $c \in C$. $U$ containing all those vectors $u$ which are orthogonal to the codewords are the elements of the dual code.

I am interested as to how this translates to a code over a finite field GF(q). I am interested specifically in GF(4). Say I have a code $C$ over $GF(4)$, again with generator matrix $G$:

  1. Can the dual code be obtained as before? Can we put $G$ into standard form and then find $H=[-A^{T}|I_{n-k}]$ , where the elements of $-A^{T}$ would contain the additive inverses of $A^{T}$ over GF(4)?
  2. Can I obtain the dual code as before by finding all of the vectors which are orthogonal to the codewords over $GF(4)$?

Do both of the above methods hold from binary to codes over finite fields? Or does this no longer make sense as methods to find the dual code over GF(q)?

1

There are 1 best solutions below

2
On BEST ANSWER

Dual codes can be defined for arbitrary (not necessarily linear) codes $C$ over any finite field $F$ as the set $C^\perp$ of vectors which are orthogonal (have inner product zero) with the code $C$, as in (2).

The dual code is always linear (one can easily check that it is a subspace of $F^n$).

However one needs to assume that $C$ is linear in order to define $C^\perp$ as being generated by the $H$ you give in (1) which can be done over any finite field. This is because a nonlinear code does not have a generator matrix. Also, in general $C \subset (C^\perp)^\perp$ while this relationship is a set equality if $C$ is linear.

You can see Jon Hall's notes, for example.