An error-correcting code maps vectors in to slightly longer vectors in , where is the rate of the code (e.g. ). It should be distance-amplifying, which means that if two words are different, their code should disagree in a large fraction of coordinates. A code is linear if

  • e.g. Reed-Solomon code: View as coefficients of a degree- polynomial A code is systematic if the first symbols of are the entries of itself
  • e.g. univariate low-degree extension code, see Low Degree and Multilinear Extensions