Kerno (matrico)

En lineara algebro, **kerno** de matrico *A* estas aro de ĉiuj vektoroj * **x** * por kiuj rezulto de la matrica multipliko egalas al la nula vektoro: *A**x** = **0** *.

La kerno de matrico kun *n* kolumnoj estas lineara subspaco de *n*-dimensia eŭklida spaco.

La matrica ekvacio de difino de la kerno *A**x** = **0** * estas ekvivalenta al homogena sistemo de linearaj ekvacioj:

:  a_{11} x_1  +  a_{12} x_2  + \cdots +  a_{1n} x_n  = 0
:  a_{21} x_1  +  a_{22} x_2  + \cdots +  a_{2n} x_n  = 0
: ...
:  a_{m1} x_1  +  a_{m2} x_2  + \cdots +  a_{mn} x_n  = 0 

Tiel, la kerno de *A* estas la samo kiel aro de solvaĵoj de la homogena sistemo de linearaj ekvacioj.

La kerno de matrico *A* estas akurate la samo kiel la kerno de la lineara surĵeto difinita per la matrico-vektora multipliko * **x** → A**x** *, kio estas, la aro de vektoroj kiuj estas bildigataj al la nula vektoro.

La kerno de lineara transformo inter abstraktaj vektoraj spacoj estas iam nomata kiel la **kerno de la transformo**.

## Ekzemplo 
Estu matrico

: A = \begin{bmatrix}2 & 3 & 5 \\ -4 & 2 & 3\end{bmatrix}

La kerno de ĉi tiu matrico konsistas el ĉiuj vektoroj \begin{bmatrix}x \\ y \\ z \end{bmatrix} el * **R**3* por kiu

:\begin{bmatrix} 2 & 3 & 5 \\ -4 & 2 & 3 \end{bmatrix}\begin{bmatrix} x \\ y \\ z \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix} 

Ĉi tio povas esti skribita kiel homogena sistemo de linearaj ekvacioj kun *x*, *y*, *z*:

: *2x + 3y + 5z = 0*
: *-4x + 2y + 3z = 0*

Per gaŭsa eliminado la sistemo povas esti prezentita en la ekvivalenta formo

: *x + 0y + 0,0625z = 0*
: *0x + y + 1,625z = 0*

aŭ

: *x = -0,0625z*
: *y = -1,625z*

Nun oni povas skribi la kernon kun uzo de *z* kiel la libera variablo

:  \begin{bmatrix}-0,0625z \\ -1,625z \\ z \end{bmatrix}

## Propraĵoj 
La kerno de *m×n* matrico estas subspaco de * **R**n*. Tio estas ke ĝi havas jenajn tri propraĵojn:

* *ker(A)* ĉiam enhavas la nulan vektoron **0**, ĉar *A**0** = **0** *.
* Se * **x** * kaj * **y** * estas en *ker(A)*, do * **x**+**y** * estas en *ker(A)*, ĉar
*: se *A**x** = **0** * kaj *A**y** = **0** *, do *A(**x** + **y**) = A**x** + A**y** = **0** + **0** = **0** *.
* Se * **x** * estas en *ker(A)* kaj *c* estas skalaro, do *c**x** * estas en *ker(A)*, ĉar
*: se *A**x** = **0** * kaj *c* estas skalaro, do *A(c**x**) = c(A**x**) = c**0** = **0** *.

### Bazo 
La kerno de matrico estas ne influata per rudimentaj liniaj operacioj (kio estas aladicio de unu linio al la alia kaj multipliko de iu linio je ne-nula nombro). Tiel eblas per gaŭsa eliminado kalkuli bazon de la kerno:

Estu *m×n* matrico **A**. Oni uzu la rudimentajn liniajn operaciojn kaj faru gaŭsan eliminadon de **A**. Tiam al ĉiu *i*-a kolumno de eliminigita matrico, en kiu estas nur unu valoro 1 kaj ĉiuj ceteraj estas 0, respektivas la dependa variablo *xi*; al ĉiu cetera kolumno respektivas la libera variablo *xi*.

Por ĉiu dependa variablo, el tiu linio de la matrico kie estas la valoro 1, estas formata ekvacio per preno de la eroj de la linio kiel koeficientoj ĉe la liberaj variabloj kun la kontraŭa sugno. La bazaj vektoroj povas esti ricevitaj per preno de unu libera variablo egala al 1 kaj la aliaj egalaj al 0, tiel kvanto de la bazaj vektoroj egalas al kvanto de la liberaj variabloj.

Ekzemple, supozu ke post gaŭsa eliminado rezultas matrcio

: \begin{bmatrix}
1 & 0 & -4 & 0 & 2 & -6 \\
0 & 1 & 5 & 0 & -9 & 3 \\
0 & 0 & 0 & 1 & -7 & 8 \\
0 & 0 & 0 & 0 & 0 & 0
\end{bmatrix} 

Tiam *x3*, *x5*, kaj *x6* estas liberaj, kaj por la dependaj variabloj estas ekvacioj

: x_1 =  4x_3 - 2x_5 + 6x_6 
: x_2 = -5x_3 + 9x_5 - 3x_6 
: x_4 = 7x_5 - 8x_6 

kaj tri vektoroj  \begin{bmatrix} 4 \\ -5 \\ 1 \\ 0 \\ 0 \\ 0 \end{bmatrix} ,  \begin{bmatrix} -2 \\ 9 \\ 0 \\ 7 \\ 1 \\ 0 \end{bmatrix} ,  \begin{bmatrix} 6 \\ -3 \\ 0 \\ -8 \\ 0 \\ 1 \end{bmatrix}  estas bazo de la kerno de **A**.

### Rilato al la linia spaco 
Estu *m×n* matrico **A**. La produto de **A** kaj la *n*-dimensia vektoro **x** povas esti skribita per la skalara produto de vektoroj:

: A\mathbf{x} = \begin{bmatrix} \mathbf{a}_1 \cdot \mathbf{x} \\ \mathbf{a}_2 \cdot \mathbf{x} \\ \vdots \\ \mathbf{a}_m \cdot \mathbf{x} \end{bmatrix} 

Ĉi tie * **a**1, ..., **a**m* estas la linioj de la matrico **A**. Tiel ***x*** estas en la kerno de **A** se kaj nur se ***x*** estas perpendikulara al ĉiu el la liniaj vektoroj de **A** (ĉar tio ke la skalara produto de du vektoroj estas egala al nulo estas difino de tio ke ili estas perpendikularaj).

La linia spaco de matrico *A* estas la lineara generaĵo de la liniaj vektoroj de *A*. Tiel la kerno de *A* estas la perpendikulara komplemento al la linia spaco. Tio estas ke vektoro ***x*** kuŝas en la kerno de ***A*** se kaj nur se ĝi estas perpendikulara al ĉiu vektoro en la linia spaco de **A**.

La dimensio de la linia spaco de *A* estas la rango de *A*.

La rango kaj la dimensio de kerno de *A* estas ligitaj kiel

: *rank(A) + dim(ker(A)) = n*

La ekvacio pli supre estas sciata kiel la **rango-kerna teoremo**.

## Maldekstra kerno 
La **maldekstra kerno** de matrico *A* konsistas el ĉiuj vektoroj **x** tia ke * **x**TA = **0**T*. La maldekstra kerno de **A** estas la samo kiel la kerno de *AT*. La maldekstra kerno de *A* estas la perpendikulara komplemento al la kolumna spaco de *A*, kaj estas la kunkerno de la asociita lineara transformo. La kerno, la linia spaco, la kolumna spaco, kaj la maldekstra kerno de *A* estas la kvar fundamentaj subspacoj asociitaj kun la matrico **A**.

## Cifereca kalkulado de kerno 
Algoritmoj bazitaj sur linia aŭ kolumna malpligrandiĝo, tio estas, gaŭsa eliminado, donataj pli supre, estas ne taŭgaj por praktika kalkulado de la kerno pro ciferecaj akuratecaj problemoj pro la de rondigaj eraroj. Ĉi tia kalkulado povas grande amplifi la rondigajn eraroj kaj tiel doni plene erarajn rezultojn. Pro ĉi tiu kaŭzo, oni devus uzi speciale konstruitajn algoritmojn, kiuj ne amplifas rondigajn erarojn nebezone.

Stato-de-arta maniero estas bazita sur singulara valora malkomponaĵo (ankaŭ nomata kiel singulara valora dekomponaĵo, SVD). Kalkulado de la SVD de matrico ĝenerale kostas proksimume kiel kelkaj matrico-matricaj multiplikoj de matricoj de la sama amplekso, se stato-de-arta realigo (preciza supren ĝis precizeco de rondigo) estas uzata. Ĉi tio estas vera eĉ malgraŭ tio ke la SVD ne povas esti komputita per finia kvanto de operacioj, do estas uzata ripeta maniero kun haltado je sia tolerema valoro bazita sur la rondiga precizeco. La kosto de la SVD estas kelkfoje pli granda ol kosto de komputado de la kerno per gaŭsa eliminado, sed ĝi devus esti akceptebla se esperindeco estas grava.

Eblas ankaŭ komputi la kernon per la QR-faktorigo, kun la ambaŭ cifereca stabileco kaj la kosto estantaj inter tiuj de la SVD kaj la gaŭsa eliminado.

### Per SVD 
SVD de matrico *A* komputas unitajn matricojn *U* kaj *V* kaj ortangulan diagonalan matricon *S* de la sama amplekso kiel *A* kun nenegativaj diagonalaj elementoj, tiaj ke

: *A=USV*

Signifu la kolumnojn de **V** per

: * **v**1, ..., **v**n*

kaj la diagonalajn elementojn de **S** per

: *s1, ..., smin(m,n)*

kaj estu

: *smin(m, n)+1 = ... = smax(m, n) = 0*

La nombroj *si* estas la singularaj valoroj de *A*. Tiam la kolumnoj * **v**1* de *V* tiaj ke la respektiva *si=0* formas ortonormalam bazon de la kerno de *A*.

En cifereca kalkulado, ĉiu el la singularaj valoroj *si* estas konsiderata kiel nulo se ĝi estas pli malgranda ol iu certa malgranda valoro de tolero. Ekzemple en MATLAB la valoro de tolero estas prenita al esti

: *max (m, n) max {si}ε*

kie *ε* estas la maŝina epsilono de la komputilo, kio estas, la plej malgranda nombro tia ke en la flosanta punkto, *1+ε>1*. Por la IEEE 64-bita flosanta punkta aranĝo *ε≈2,2·10−16*.

### Per QR-faktorigo 
Eblas komputi la kernon per la QR-faktorigo jene.

Estu *A* *m×n* matrico kun *m≤n*. Per la QR-faktorigo de *A** kun elekto de kondukaj kolumnoj oni povas trovi matricojn *P*, *Q*, *R* tiajn ke

: *A*P=QR*

kie *P* estas permuta matrico, *Q* estas *n×n* unita matrico kaj *R* estas *n×m* supra triangula matrico.

Eblas rearanĝi la formulon, konsiderante tion ke *P−1=P** kaj *Q−1=Q**:

: *Q−1A*P = R*
: *Q*A*P = R*
: *(AQ)*P = R*
: *(AQ)* = RP−1*
: *(AQ)* = RP**
: *AQ = (RP*)**
: *AQ = PR**

Se rango de *A* estas malpli granda ol *n*, la lastaj linioj de *R* estas tute nulaj. Tiam la lastaj kolumnoj de *R** estas tute nulaj, kaj do iuj kolumnoj de *PR** estas tute nulaj.

Se Q = \begin{bmatrix} \mathbf{q}_1 & \ldots & \mathbf{q}_n \end{bmatrix}  kaj PR^* = \begin{bmatrix} \mathbf{b}_1 & \ldots & \mathbf{b}_n \end{bmatrix}  do por ĉiu *i=1...n*, *A**q**i=**b**i*

Tiel tiuj kolumnoj * **q**i* de *Q* kiuj respektivas al nulaj kolumnoj * **b**i* de *PR** naskas la kernon de *A*.

Same kiel en okazo de SVD, en cifereca kalkulado, ĉiu el la * **b**i* estas konsiderata kiel nula se iu ĝia normo estas pli malgranda ol iu elektita malgranda valoro de tolero.

## Vidu ankaŭ 
* Linia spaco
* Kolumna spaco aŭ bildo (matrico)
* Kvar fundamentaj subspacoj
* Gaŭsa eliminado
* Linia malpligrandiĝo
* Sistemo de linearaj ekvacioj
* Eŭklida subspaco
* Kerno (algebro)

## Eksteraj ligiloj 
* 
* N. Trefethen kaj David Bau, III, Cifereca Lineara Algebro, SIAM 1997, ISBN 978-0-89871-361-9

Kategorio:Lineara algebro
Kategorio:Matrica teorio
Kategorio:Cifereca lineara algebro