Saltar ao contido

Kernel (álxebra linear)

Na Galipedia, a Wikipedia en galego.

En matemáticas, o kernel ou núcleo dun mapa linear, tamén coñecido como espazo nulo, é a parte do dominio que se asigna ao vector cero do codominio; o kernel é sempre un subespazo linear do dominio.[1] É dicir, dado un mapa linear L : VW entre dous espazos vectoriais V e W, o kernel de L é o espazo vectorial de todos os elementos v de V tal que L(v) = 0, onde 0 denota o vector cero en W,[2] ou máis simbólicamente :

Propiedades

[editar | editar a fonte]
Kernel e imaxe dun mapa linear L de V a W

O kernel de L é un subespazo linear do dominio V. [3] [2] No mapa linear dous elementos de V teñen a mesma imaxe en W se e só se a súa diferenza reside no kernel de L, é dicir,

A partir disto, despréndese que a imaxe de L é isomorfa ao cociente de V polo kernel:

No caso de que V sexa de dimensión finita, isto implica o teorema do rango:

onde o termo rango indica a dimensión da imaxe de L, mentres que nulidade indica a dimensión do kernel de L, [4]

Isto é,

por tanto o teorema do rango pode reexpresarse como

Cando V é un espazo prehilbertiano (espazo vectorial con produto escalar), o cociente pódese identificar co complemento ortogonal en V de .

En análise funcional

[editar | editar a fonte]

Se V e W son espazos vectoriais topolóxicos tal que W é de dimensión finita, entón un operador linear L: VW é continuo se e só se o kernel de L é un subespazo pechado de V.

Representación como multiplicación matricial

[editar | editar a fonte]

Considere un mapa linear representado como unha matriz A m × n con coeficientes nun corpo K (normalmente ou ), que está operando en vectores columna x con n compoñentes sobre K. O núcleo deste mapa linear é o conxunto de solucións da ecuación Ax = 0, onde 0 enténdese como o vector cero. A dimensión do núcleo de A chámase nulidade de A. Na notación de xeración de conxuntos, A ecuación matricial é equivalente a un sistema homoxéneo de ecuacións lineares: Así, o núcleo de A é o mesmo que a solución estabelecida para as ecuacións homoxéneas anteriores.

Propiedades do subespazo

[editar | editar a fonte]

O núcleo dunha matriz A m × n sobre un corpo K é un subespazo linear de Kn. É dicir, o núcleo de A, o conxunto Null(A), ten as seguintes tres propiedades:

  1. Null(A) sempre contén o vector cero, dado que A0 = 0.
  2. Se x ∈ Null(A) e y ∈ Null(A), daquela x + y ∈ Null(A). Isto dedúcese da propiedade distributiva da múltiplicación de matrices sobre a suma.
  3. Se x ∈ Null(A) e c é un scalar, cK, daquela cx ∈ Null(A), dado que A(cx) = c(Ax) = c0 = 0.

O espazo de filas dunha matriz

[editar | editar a fonte]

O produto Ax pódese escribir en termos do produto escalar dos vectores do seguinte xeito:

Aquí, a1, ..., am denotan as filas da matriz A. Dedúcese que x está no núcleo de A, se e só se x é ortogonal (ou perpendicular) a cada un dos vectores fila de A (xa que a ortogonalidade defínese como un produto escalar de valor 0).

A dimensión do espazo de filas de A chámase rango de A, e a dimensión do núcleo de A denomínase nulidade de A. Estas cantidades están relacionadas polo teorema do rango[4]

Espazo nulo esquerdo

[editar | editar a fonte]

O espazo nulo esquerdo ou cokernel dunha matriz A consta de todos os vectores columna x tal que xTA = 0T, onde T denota a transposición dunha matriz. O espazo nulo esquerdo de A é o mesmo que o núcleo de AT. O espazo nulo esquerdo de A é o complemento ortogonal do espazo columna de A, e é dual ao cokernel da transformación linear asociada. O núcleo, o espazo de filas, o espazo de columnas e o espazo nulo esquerdo de A son os catro subespazos fundamentais asociados a unha matriz A.

Sistemas non homoxéneos de ecuacións lineares

[editar | editar a fonte]

O núcleo tamén xoga un papel na solución dun sistema non homoxéneo de ecuacións lineares:

Se u e v son dúas posíbeis solucións da ecuación anterior, entón

Así, a diferenza de dúas solucións calquera á ecuación Ax = b reside no núcleo de A.

Do anterior dedúcese que calquera solución da ecuación Ax = b pode expresarse como a suma dunha solución fixa v e un elemento arbitrario do núcleo. É dicir, a conxunto de solucións para a ecuación Ax = b é

Xeométricamente, isto di que o conxunto de solucións para Ax = b é a translación do núcleo de A polo vector v.

Exemplo sinxelo detallado

[editar | editar a fonte]

O seguinte é un exempliño sinxelo do cálculo do núcleo dunha matriz. O exemplo tamén toca o espazo de filas e a súa relación co núcleo.

Considere a matriz

O núcleo desta matriz está formado por todos os vectores (x, y, z) ∈ R3 para os que

que se pode expresar como un sistema homoxéneo de ecuacións lineares que inclúen x, y e z:

As mesmas ecuacións lineares tamén se poden escribir en forma matricial como:

Mediante a eliminación de Gauss-Jordan, a matriz pódese reducir a:

Reescribindo a matriz en forma de ecuación obtemos:

Os elementos do núcleo pódense expresar tamén en forma vectorial paramétrica, como segue:

Dado que c é unha variábel libre que vai sobre todos os números reais, isto pódese expresar igualmente como:

O núcleo de A é precisamente o conxunto de solucións para estas ecuacións (neste caso, unha liña que pasa pola orixe en R3). Aquí, posto que o vector (−1,−26,16)T constitúe unha base do núcleo de A, a nulidade de A vale 1.

Os seguintes produtos escalares son cero:

que ilustra como os vectores do núcleo de A son ortogonais a cada un dos vectores fila de A.

Estes dous vectores fila (linearmente independentes) abranguen o espazo de filas de A, un plano ortogonal ao vector (−1,−26,16)T.

Co rango 2 de A, a nulidade 1 de A e a dimensión 3 de A, temos unha ilustración do teorema do rango.

Outros exemplos

[editar | editar a fonte]
daquela o núcleo de L é o conxunto de solucións das ecuacións
  • Denotamos como C[0,1] o espazo vectorial de todas as funcións continuas de valores reais no intervalo [0,1], e definimos L: C[0,1] → R pola regra
Entón o núcleo de L consta de todas as funcións fC[0,1] para as que f(0.3) = 0.
  • Sexa C(R) o espazo vectorial de todas as funcións infinitamente derivábeis RR, e sexa D: C(R) → C(R) o operador de diferenciación:
Daquela o núcleo de D consta de todas as funcións en C(R) cuxas derivadas son cero, é dicir, o conxunto de todas as funcións constantes.
Entón o núcleo de s é o subespazo unidimensional que consta de todos os vectores (x1, 0, 0, 0, ...) .

Cálculo por eliminación gaussiana

[editar | editar a fonte]

Unha base do núcleo dunha matriz pódese calcular mediante eliminación de Gauss.

Para este fin, dada unha matriz A m × n, construímos primeiro a matriz aumentada por filas onde I é a matriz de identidade n × n.

Calculando a súa forma escalonada de columna mediante eliminación gaussiana (ou calquera outro método axeitado), obtemos unha matriz Unha base do núcleo de A consiste nas columnas distintas de cero de C de forma que a columna correspondente de B é unha columna cero.

De feito, o cálculo pode deterse en canto a matriz superior estea en forma de escada: o resto do cálculo consiste en mudar a base do espazo vectorial xerado polas columnas cuxa parte superior é cero.

Por exemplo, supoña que

Entón

Poñendo a parte superior en escada de columnas mediante operacións de columna sobre toda a matriz dá

As tres últimas columnas de B son columnas cerp. Polo tanto, os tres últimos vectores de C,

son unha base do núcleo de A.

Cálculo numérico

[editar | editar a fonte]

O problema de calcular o kernel nun ordenador depende da natureza dos coeficientes.

Coeficientes exactos

[editar | editar a fonte]

Se os coeficientes da matriz son exactamente números dados, a forma escalonada de columnas da matriz pódese calcular co algoritmo de Bareiss de forma máis eficiente que coa eliminación gaussiana. É aínda máis eficiente empregar a aritmética modular e o teorema do resto chinés, o que reduce o problema a varios problemas similares sobre corpos finitos (isto evita a sobrecarga inducida pola non linearidade da complexidade computacional da multiplicación de enteiros).

Para os coeficientes nun corpo finito, a eliminación de Gauss funciona ben, mais para as grandes matrices que ocorren na criptografía e no cálculo base de Gröbner, coñécense mellores algoritmos, que teñen aproximadamente a mesma complexidade computacional, mais son máis rápidos e compórtanse mellor co hardware moderno.

Cálculo en coma flotante

[editar | editar a fonte]

Para matrices cuxas entradas son números en coma flotante, o problema de calcular o kernel só ten sentido para matrices de tal forma que o número de filas é igual ao seu rango: debido aos erros de redondeo, unha matriz en coma flotante ten case sempre un rango completo, mesmo cando se trata dunha aproximación dunha matriz de rango moito menor. Mesmo para unha matriz de rango completo, é posíbel calcular o seu núcleo só se está ben condicionado, é dicir, ten un número de condición baixo.[5]

Un software de última xeración para este fin é a biblioteca Lapack.

  1. Weisstein, Eric W. "Kernel". mathworld.wolfram.com (en inglés). Consultado o 2019-12-09. 
  2. 2,0 2,1 "Kernel (Nullspace) | Brilliant Math & Science Wiki". brilliant.org (en inglés). Consultado o 2019-12-09. 
  3. Linear algebra, as discussed in this article, is a very well established mathematical discipline for which there are many sources. Almost all of the material in this article can be found in Lay 2005, Meyer 2001, and Strang's lectures.
  4. 4,0 4,1 Weisstein, Eric W. "Rank-Nullity Theorem". mathworld.wolfram.com (en inglés). Consultado o 2019-12-09. 
  5. "Archived copy" (PDF). Arquivado dende o orixinal (PDF) o 2017-08-29. Consultado o 2015-04-14. 

Véxase tamén

[editar | editar a fonte]

Bibliografía

[editar | editar a fonte]

Outros artigos

[editar | editar a fonte]

Ligazóns externas

[editar | editar a fonte]