# Kernel (teoría de categorías)

En la teoría de categorías y sus aplicaciones a otras ramas de las matemáticas, los kerneles o núcleos son una generalización de los núcleos de los homomorfismos de grupo, los núcleos de homomorfismos modulares y ciertos otros núcleos en álgebra. Intuitivamente, el núcleo del morfismo f : X → Y es el morfismo "más general" k : K → X que genera cero cuando se compone con (seguido por) f.
Téngase en cuenta que los pares de kerneles y las diferencias de kerneles (también conocidos como ecualizadores binarios) a veces también se denominan "kernel"; aunque, si bien están relacionadas, no son lo mismo, y no se tratan en este artículo.

## Definición

Sea C una categoría. Para definir un núcleo en el sentido teórico general de categoría, C necesita tener cero morfismos. En ese caso, si f : X → Y es un morfismo arbitrario en C, entonces un núcleo de f es un ecualizador de f y el morfismo cero de X a Y. En notación simbólica:
    ker(f) = eq(f, 0$_{XY}$)
Para ser más explícitos, se puede usar la siguiente propiedad universal: un núcleo de f es un objeto K junto con un morfismo k : K → X tal que:
* f ∘ k es el morfismo cero de K sobre Y;
* Dado cualquier morfismo k′ : K′ → X tal que f ∘ k′ es el morfismo cero, existe un morfismo único u : K′ → K tal que k ∘ u = k′.
Téngase en cuenta que en muchos contextos concretos, se haría referencia al objeto K como el "núcleo", en lugar del morfismo k. En esas situaciones, K sería un subconjunto de X, y eso sería suficiente para reconstruir k como una aplicación de inclusión; en el caso no concreto, en contraste, se necesita el morfismo k para describir cómo K debe interpretarse como un subobjeto de X. En cualquier caso, se puede demostrar que k es siempre un monomorfismo (en sentido categórico). Se puede preferir definir el núcleo como el par (K, k) en lugar de simplemente K o k solamente.
No todo morfismo necesita tener un núcleo, pero si lo tiene, entonces todos sus núcleos son isomórficos en un sentido fuerte: si k : K → X y ℓ : L → X son núcleos de f : X → Y, entonces existe un isomorfismo único φ : K → L tal que ℓ∘φ = k.

## Ejemplos

Los núcleos son familiares en muchas categorías del álgebra abstracta, como la categoría de grupos o la categoría de módulos (a la izquierda) sobre un anillo fijo (incluidos los espacios vectoriales sobre un campo fijo). Para ser explícitos, si f : X → Y es un homomorfismo en una de estas categorías, y K es su núcleo en el sentido algebraico habitual, entonces K es un subálgebra de X y el homomorfismo de inclusión de K sobre X es un núcleo en el sentido categórico.
Téngase en cuenta que en la categoría de monoides, los núcleos en la teoría de categorías, existen igual que para los grupos, pero estos núcleos no llevan suficiente información para fines algebraicos. Por lo tanto, la noción de núcleo estudiada en la teoría de monoides es ligeramente diferente.
En la categoría de anillos, no hay núcleos en el sentido teórico de categoría; de hecho, esta categoría ni siquiera tiene cero morfismos. Sin embargo, todavía se conserva una noción de núcleo estudiada en la teoría de anillos, que corresponde a los núcleos en la categoría de pseudoanillos.
En la categoría de espacios topológicos puntuados, si f : X → Y es una aplicación punteada continua, entonces la preimagen del punto distinguido, K, es un subespacio de X. La aplicación de inclusión de K en X es el núcleo categórico de f.

## Relación con otros conceptos categóricos

El concepto dual al de kernel es el de cokernel. Es decir, el núcleo de un morfismo es su núcleo en la categoría opuesta, y viceversa.
Como se mencionó anteriormente, un núcleo es un tipo de ecualizador binario, o núcleo de diferencia. Por el contrario, en una categoría preaditiva, cada ecualizador binario se puede construir como un núcleo. Para ser específicos, el ecualizador de los morfismos f y g es el núcleo de la diferencia g − f. En lenguaje simbólico:
    eq (f, g) = ker (g − f).
Es por este hecho que los ecualizadores binarios se denominan "núcleos de diferencia", incluso en categorías no preaditivas donde los morfismos no se pueden restar.
Cada kernel, como cualquier otro ecualizador, es un monomorfismo. Por el contrario, un monomorfismo se llama normal si es el núcleo de algún morfismo. Una categoría se llama normal si cada monomorfismo es normal.
Las categorías abelianas, en particular, son siempre normales. En esta situación, el núcleo de un cokernel de cualquier morfismo (que siempre existe en una categoría abeliana) resulta ser la imagen de ese morfismo. En lenguaje simbólico:
    im f = ker coker f (en una categoría abeliana)
Cuando m es un monomorfismo, debe ser su propia imagen; por lo tanto, no solo las categorías abelianas son normales, de modo que cada monomorfismo es un núcleo, sino que también sabemos de qué morfismo es un núcleo el monomorfismo, a saber, su núcleo. En lenguaje simbólico:
    m = ker (coker m) (para monomorfismos en una categoría abeliana)

## Relación con los núcleos algebraicos

El álgebra universal define una noción de núcleo para los homomorfismos entre dos estructuras algebraicas del mismo tipo. Este concepto de kernel mide el grado en el que el homomorfismo dado dista de ser inyectivo. Existe cierta superposición entre esta noción algebraica y la noción categórica del núcleo, ya que ambas generalizan la situación de los grupos y módulos mencionados anteriormente. En general, sin embargo, la noción universal-algebraica de kernel se parece más al concepto teórico de categoría de pareja de kerneles. En particular, los pares de núcleos se pueden usar para interpretar los núcleos en la teoría de monoides o la teoría de anillos en términos de la teoría de categorías.