There are 2 messages in this thread.
You are currently looking at messages 0 to 2.
If (n,k) is a q-ary linear block code of length n and size q^k, then in order for the code to be self-dual it is fairly easy to show that n = 2*k. Are there any other constraints required of a code in order for it to be self-dual? --Randy
Randy Yates wrote: > If (n,k) is a q-ary linear block code of length n and > size q^k, then in order for the code to be self-dual > it is fairly easy to show that n = 2*k. > > Are there any other constraints required of a code > in order for it to be self-dual? > > --Randy Yes there are. Let G be the generator matrix of a linear (n, k) code with n = 2k; the dual code is the space of all vectors orthogonal to every codeword of the code generated by G. If H is a parity check matrix for the code generated by G then H will be a generator matrix for the dual code. So G generates a self-dual code if and only if G can serve as its own parity check matrix. Since G (being a generator matrix) has full rank, this boils down to the requirement that GG' = 0. For the special case of a systematic code G = [I P] this becomes I + PP' = 0, i.e., P^(-1) = -P'. Specializing further to fields of characteristic 2 this becomes P^(-1) = P'; i.e. the code will be self-dual if and only if P is orthogonal. So picking any square but non-orthogonal P over (say) GF(2) will yield an (n, k) code with n = 2k that is not self-dual. Bob Beaudoin