Códigos Lineales

Definiciones principales:

  1. Espacio vectorial:
    Un código lineal CC sobre Fq\mathbb{F}_q es un subespacio vectorial de Fqn\mathbb{F}_q^n. Es decir, el conjunto CC está cerrado bajo suma y multiplicación escalar.

  2. Dimensión y longitud:

    • CC se denomina un (n,k)(n, k)-código lineal si dim(C)=k\dim(C) = k, donde kk es la dimensión del subespacio y nn es la longitud de los vectores en CC.
    • CC se denomina un (n,k,d)(n, k, d)-código lineal si, además de ser un (n,k)(n, k)-código lineal, su distancia mínima es dd.
  3. Notaciones comunes:
    Dependiendo de los parámetros relevantes, los códigos lineales pueden representarse como:

    • [n,k,d][n, k, d]-código lineal: Para enfatizar la longitud (nn), dimensión (kk) y distancia mínima (dd).
    • [n,k][n, k]-código lineal: Cuando solo se consideran la longitud y la dimensión.
    • [n,k,d]q[n, k, d]_q-código lineal: Para incluir la característica del campo Fq\mathbb{F}_q.

Propiedades clave:

  1. Distancia mínima (dd):
    La distancia mínima de un código lineal CC es el menor número de posiciones en las que difieren dos palabras de código distintas en CC.

    • Matemáticamente, d(C)=min{d(u,v)u,vC,uv}d(C) = \min\{d(u, v) \mid u, v \in C, u \neq v\}.
    • En códigos lineales, dd también puede calcularse a partir de la matriz generadora como el número mínimo de columnas linealmente dependientes.
  2. Generación del código:
    Todo código lineal puede representarse mediante una matriz generadora GG de tamaño k×nk \times n, tal que:

    • Cada palabra de código es una combinación lineal de las filas de GG.
    • El rango de GG es igual a la dimensión del código, kk.
  3. Matriz de paridad:
    Una matriz HH de tamaño (nk)×n(n-k) \times n, llamada matriz de paridad, satisface:

    HvT=0,vC.H \cdot v^T = 0, \quad \forall v \in C.

    Esta propiedad se usa para detectar y corregir errores en las palabras recibidas.

Clasificación adicional:

  • Códigos cíclicos:
    Un tipo especial de código lineal donde cualquier desplazamiento cíclico de una palabra de código sigue siendo una palabra válida en el código.

  • Códigos BCH:
    Códigos cíclicos con buenas propiedades de corrección de errores, definidos por raíces de polinomios en Fq\mathbb{F}_q.

  • Códigos Reed-Solomon:
    Códigos de longitud máxima útiles para corregir errores en aplicaciones como CDs y sistemas de telecomunicaciones.

Ejemplo práctico:

Sea F2={0,1}\mathbb{F}_2 = \{0, 1\}, y define un código lineal CC con matriz generadora:

G=[100110101000101].G = \begin{bmatrix} 1 & 0 & 0 & 1 & 1 \\ 0 & 1 & 0 & 1 & 0 \\ 0 & 0 & 1 & 0 & 1 \end{bmatrix}.
  • n=5n = 5, k=3k = 3.
  • Las palabras de código son combinaciones lineales de las filas de GG.
  • Calculando las distancias entre todas las palabras, encontramos que d=2d = 2.