We study the relation between locally testable and locally decodable codes.
Locally testable codes (LTCs) are error-correcting codes for which membership of a given word in the code can be tested probabilistically by examining it in very few locations. Locally decodable codes (LDCs) allow to recover each message entry with high probability by reading only a few entries of a slightly corrupted codeword. A linear code $\C \subseteq \F_2^n$ is called sparse if $n \geq 2^{\Omega(\dim(\C))}$.
It is well-known that LTCs do not imply LDCs and that there is an intersection between these two families. E.g. the Hadamard code is both LDC and LTC. However, it was not known whether LDC implies LTC. We show the following results.
\begin{itemize}
\item Two-transitive codes with a local constraint imply LDCs,
while they do not imply LTCs.
\item Every non-sparse LDC contains a large subcode which is not LTC, while every subcode of an LDC remains LDC. Hence, every non-sparse LDC contains a subcode that is LDC but is not LTC.
\end{itemize}
The above results demonstrate inherent differences between LDCs and LTCs, in particular, they imply that LDCs do not imply LTCs.
some typos were fixed
We study the relation between locally testable and locally decodable codes.
Locally testable codes (LTCs) are error-correcting codes for which membership of a given word in the code can be tested probabilistically by examining it in very few locations. Locally decodable codes (LDCs) allow to recover each message entry with high probability by reading only a few entries of a slightly corrupted codeword. A linear code $\C \subseteq \F_2^n$ is called sparse if $n \geq 2^{\Omega(\dim(\C))}$.
It is well-known that LTCs do not imply LDCs and that there is an intersection between these two families. E.g. the Hadamard code is both LDC and LTC. However, it was not known whether LDC implies LTC. We show the following results.
\begin{itemize}
\item Two-transitive codes with a local constraint imply LDCs,
while they do not imply LTCs.
\item Every non-sparse LDC contains a large subcode which is not LTC, while every subcode of an LDC remains LDC. Hence, every non-sparse LDC contains a subcode that is LDC but is not LTC.
\end{itemize}
The above results demonstrate inherent differences between LDCs and LTCs, in particular, they imply that LDCs do not imply LTCs.