Kapitola 9

Skalární součin

Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech.

Definice 9.1 Je-li x = (x_{1}, …, x_{n})^{T} ∈ R^{n×1} reálný vektor dimenze n, pak definujeme euklidovskou normu (délku) vektoru x jako reálné číslo

∥x∥ = (∑_{i=1}^{n}x_{i}^{2})^{1/2} = \sqrt{x^{T} x}.

Pokud je x = (x_{1}, …, x_{n})^{T} ∈ C^{n×1} komplexní vektor dimenze n, pak jeho euklidovská norma (délka) je reálné číslo

∥x∥ = (∑_{i=1}^{n}|x_{i}|^{2})^{1/2} = \sqrt{x^{∗}x}.

Cvičení 9.1 Dokažte, že pro euklidovskou normu každého reálného (komplexního) vektoru x platí

• ∥x∥ ≥ 0,

• ∥x∥ = 0 právě když x = 0,

• ∥ax∥ = |a| · ∥x∥ pro libovolný skalár a ∈ R(C).

Pro každý reálný (komplexní) vektor x ≠ 0 definujeme jednotkový vektor stejného směru jako vektor u = x/∥x∥. Název jednotkový vyplývá ze skutečnosti, že

∥u∥ = ∥\frac{x}{∥x∥} ∥ = \frac{1}{∥x∥}∥x∥ = 1.

Říkáme také, že jsme vektor x normalizovali, nebo že vektor u je normalizovaný vektor x.

Definice normy vektoru nám umožňuje také definovat vzdálenost dvou vektorů x, y ∈ R^{n×1}(C^{n×1}) jako ∥x − y∥.

Definice 9.2 Standardní skalární součin libovolných dvou reálných vektorů x = (x_{1}, …, x_{n})^{T} a y = (y_{1}, …, y_{n})^{T} definujeme jako reálné číslo

x^{T} y = ∑_{i=1}^{n}x_{i}y_{i}.

Jsou-li x = (x_{1}, …, x_{n})^{T} a y = (y_{1}, …, y_{n})^{T} komplexní vektory, pak jejich standardní skalární součin je komplexní číslo

x^{∗}y = ∑_{i=1}^{n} \overline{x}_{i}y_{i}.

V této definici označuje \overline{x} číslo komplexně sdružené k číslu x. Všimněte si rovněž, že skalární součin dvou reálných vektorů je speciálním případem skalárního součinu dvou komplexních vektorů.

Vztah mezi normou a skalárním součinem udává Cauchyova-Schwarzova-Bunjakovského nerovnost, zkráceně CSB-nerovnost.

Věta 9.3 Pro libovolné dva vektory x, y ∈ C^{n×1} platí

|x^{∗}y| ≤ ∥x∥ · ∥y∥,

přičemž rovnost nastává právě když

y = \frac{x^{∗}y}{x^{∗}x} · x.

Důkaz. Nerovnost zřejmě platí, pokud je x = 0. V případě x ≠ 0 položíme

a = \frac{x^{∗}y}{x^{∗}x} = \frac{x^{∗}y}{∥x∥^{2}} .

Potom platí

x^{∗}(ax − y) = ax^{∗}x − y^{∗}x = \frac{x^{∗}y}{∥x∥^{2}} · ∥x∥^{2} − x^{∗}y = 0.

Proto

0 ≤ ∥ax − y∥^{2} = (ax − y)^{∗}(ax − y) = \overline{a}x^{∗}(ax − y) − y^{∗}(ax − y) =
= −y^{∗}(ax − y) = y^{∗}y − ay^{∗}x = \frac{∥y∥^{2} · ∥x∥^{2} − (x^{∗}y)(y^{∗}x)}{∥x∥^{2}} .

Vzhledem k tomu, že y^{∗}x = \overline{x^{∗}y}, platí (x^{∗}y)(y^{∗}x) = |x^{∗}y|^{2}, takže

0 ≤ \frac{∥y∥^{2} · ∥x∥^{2} − ∥x^{∗}y∥^{2}}{∥x∥^{2}}

a odtud vyplývá 0 ≤ ∥y∥^{2} · ∥x∥^{2} − ∥x^{∗}y∥^{2}, tj. |x^{∗}y| ≤ ∥x∥ · ∥y∥. Rovnost nastává právě když 0 = ∥ax − y∥^{2}, tj. právě když y = ax. □

CSB-nerovnost umožňuje dokázat následující trojúhelníkovou nerovnost pro reálné a komplexní vektory libovolné dimenze.

Tvrzení 9.4 Pro libovolné dva vektory x, y ∈ C^{n×1} platí

∥x + y∥ ≤ ∥x∥ + ∥y∥.

Důkaz. Pro každé dva vektory x, y ∈ C^{n×1} platí

∥x + y∥^{2} = (x + y)^{∗}(x + y) = x^{∗}x + x^{∗}y + y^{∗}x + y^{∗}y =
= ∥x∥^{2} + x^{∗}y + y^{∗}x + ∥y∥^{2}.

Protože y^{∗}x = \overline{x^{∗}y}, dostáváme s použitím CSB-nerovnosti

x^{∗}y + y^{∗}x = 2Re(x^{∗}y) ≤ 2|x^{∗}y| ≤ 2∥x∥ · ∥y∥.

Platí proto

∥x+y∥^{2} ≤ ∥x∥^{2}+x^{∗}y+y^{∗}x+∥y∥^{2} ≤ ∥x∥^{2}+2∥x∥·∥y∥+∥y∥^{2} = (∥x∥+∥y∥)^{2}.

□

CSB-nerovnost také dovoluje definovat úhly mezi každými dvěma nenulovými reálnými vektory x = (x_{1}, …, x_{n})^{T} a y = (y_{1}, …, y_{n})^{T} libovolné dimenze n jako úhel α ∈ [0, π], pro který platí

cosα = \frac{x^{T} y}{∥x∥ · ∥y∥} .

Protože funkce cosα je vzájemně jednoznačná na intervalu [0, π], určuje poslední rovnost úhel α jednoznačně. Všimněte si také, že v případě n = 2 je tato definice v souladu s kosinovou větou pro trojúhelník, jehož vrcholy jsou počátek souřadnic a koncové body vektorů x a y úhel α je úhel sevřený vektory x a y. V tom případě totiž kosinová věta říká, že

∥x − y∥^{2} = ∥x∥^{2} + ∥y∥^{2} − 2∥x∥ · ∥y∥ cosα.

Protože

∥x − y∥^{2} = (x − y)^{T} (x − y) = x^{T} x + y^{T} y − x^{T} y − y^{T} x =
= ∥x∥^{2} + ∥y∥^{2} − 2x^{T} y,

dostaneme po dosazení do kosinové věty

∥x∥^{2} + ∥y∥^{2} − 2x^{T} y = ∥x∥^{2} + ∥y∥^{2} − 2∥x∥ · ∥y∥ cosα,

tj.

\frac{x^{T} y}{∥x∥ · ∥y∥} = cosα.

Euklidovská norma není jedinou používanou mírou velikosti vektorů. Následující definice ukazuje, že pro každé reálné číslo p ≥ 1 lze definovat normu vektorů z prostoru C^{n×1}.

Definice 9.5 Pro p ≥ 1 definujeme p-normu vektorů x = (x_{1}, …, x_{n})^{T} ∈ C^{n×1} jako reálné číslo

∥x∥_{p} = (∑_{i=1}^{n}|x_{i}|^{p})^{1/p}.

Euklidovská norma ∥x∥ vektoru x se tak rovná ∥x∥_{2}. Lze dokázat následující vlastnosti p-norem:

• ∥x∥_{p} ≥ 0 a ∥x∥_{p} = 0 právě když x = 0.

• ∥ax∥_{p} = |a| · ∥x∥_{p} pro každá skalár a ∈ C a každý vektor x,

• ∥x + y∥_{p} ≤ ∥x∥_{p} + ∥y∥_{p} pro každé dva vektory x, y ∈ C^{n×1}.

CBS-nerovnost pro p-normy má tvar následující Hölderovy nerovnosti. Jsouli p, q > 1 reálná čísla, pro která platí 1/p + 1/q = 1, pak pro každé dva vektory x, y ∈ C^{n×1} platí

|x^{∗}y| ≤ ∥x∥_{p} · ∥y∥_{q}.

Viděli jsme, že takto definované p-normy splňují podmínky, které jsou požadovány od obecných vektorových norem ve smyslu následující definice.

KAPITOLA 9. SKALÁRNÍ SOUČIN 5

Definice 9.6 Obecná vektorová norma na reálném nebo komplexním vektorovém prostoru V je zobrazení, které každému vektoru x ∈ V přiřazuje reálné číslo x ∈ R, a které splňuje následující podmínky

• ∥x∥ ≥ 0 a ∥x∥ = 0 právě když x = 0.

• ∥ax∥ = |a| · ∥x∥ pro každá skalár a a každý vektor x ∈ V,

• ∥x + y∥ ≤ ∥x∥ + ∥y∥ pro každé dva vektory x, y ∈ V.

Prostory se skalárním součinem

Standardní skalární součin dvou vektorů v aritmetickém vektorovém prostoru nad reálnými nebo komplexními čísly závisí na souřadnicích těchto vektorů vzhledem ke standardní bázi. Následující definice ukazuje, jak lze definovat skalární součin na reálném nebo komplexním vektorovém prostoru obecně bez předchozí volby báze tohoto prostoru. Definice 9.7 Skalární součin na reálném (komplexním) vektorovém prostoru V je funkce, která každé uspořádané dvojici x, y ∈ V přiřazuje reálné (komplexní) číslo < x|y > a splňuje následující podmínky

• < x|x >≥ 0 pro každý vektor x ∈ V,

• < x|x >= 0 právě když x = 0,

• < x|ay >= a < x|y > pro libovolný skalár a a vektory x, y ∈ V,

• < x|y + z >=< x|y > + < x|z > pro každé vektory x, y, z ∈ V,

• < x|y >= \overline{< y|x >} pro x, y ∈ V, (v případě reálného prostoru V to znamená, že < x|y >=< y|x >).

Všimněte si, že z poslední podmínky plyne < x|x >∈ R bez ohledu na to, je-li V reálný nebo komplexní vektorový prostor. Cvičení 9.2 Dokaže, že v každém prostoru V se skalárním součinem platí

• < x + y|z >=< x|z > + < y|z > pro libovolné tři vektory x, y, z ∈ V,

• < ax|y >= \overline{a} < x|y > pro každý skalár a a vektory x, y ∈ V,

• < 0|x >=< x|0 >= 0 pro každý vektor x ∈ V.

Příklad 9.8 Aritmetické prostory R^{n×1} a C^{n×1} se standardním skalární součinem jsou příkladem obecných prostorů se skalárním součinem, pokud definujeme < x|y >= x^{T} y, případně < x|y >= x^{∗}y.

Je-li A regulární komplexní matice řádu n, potom předpis < x|y >= x^{∗}A^{∗}Ay definuje skalární součin na aritmetickém prostoru C^{n×1}. Říká se mu eliptický skalární součin.

Na prostoru R^{m×n} reálných matic tvaru m×n můžeme definovat skalární součin předpisem

< A|B >= tr(A^{T} B),

kde tr(C) označuje stopu čtvercové matice C = (c_{ij}) řádu n, která je definována jako součet prvků na hlavní diagonále matice C

tr(C) = ∑_{i=1}^{n}a_{ii}.

Podobně lze definovat skalární součin na prostoru komplexních matic C^{m×n} předpisem

< A|B >= tr(A^{∗}B).

Podobně jako standardní skalární součin na aritmetickém vektorovém prostoru C^{n×1} definuje euklidovskou normu, lze definovat rovněž normu každého vektoru x ∈ V v libovolném prostoru se skalárním součinem V jako

∥x∥ = \sqrt{< x|x >}.

Abychom dokázali, že takto definovaná norma splňuje podmínky obecné definice normy podle Definice 9.6, potřebujeme dokázat, že v libovolném prostoru se skalárním součinem platí variantna CSB=nerovnosti. Předtím ještě jedno cviceni.

Cvičení 9.3 Jaká je norma vektoru x ∈ C^{n×1} v prostoru s eliptickým skalární součinem určeným regulární maticí A řádu n?

Jaká je norma matice A = (a_{ij}) ∈ R^{m×n} určená skalárním součinem < A|B >= tr(A^{T} B)?

Jaká je norma matice A = (a_{ij}) ∈ C^{m×n} určená skalárním součinem < A|B >= tr(A^{∗}B)?

V následující věte je dokázána obecná CSB-nerovnost.

Věta 9.9 Je-li V prostor se skalárním součinem a ∥x∥ je norma na V definovaná tímto skalárním součinem, pak

| < x|y > | ≤ ∥x∥ · ∥y∥

pro každé dva vektory x, y ∈ V. Rovnost nastává právě když y = ax pro

a = \frac{< x|y >}{∥x∥^{2}} .

Důkaz. Můžeme postupovat stejně jako v případě důkazu Věty 9.3 s využitím Cvičení 9.2. Případ x = 0 je zřejmý a pro x ≠ 0 položíme

a = \frac{< x|y >}{∥x∥^{2}}

a spočítáme, že

< x|ax − y >= a < x|x > − < x|y >=< x|y > − < x|y >= 0.

Proto

0 ≤ ∥ax − y∥^{2} =< ax − y|ax − y >= \overline{a} < x|ax − y > − < y|ax − y >=
= − < y|ax − y >=< y|y > −a < y|x >=
= \frac{∥y∥^{2} · ∥x∥^{2}− < x|y >< y|x >}{∥x∥^{2}} .

Z rovnosti < x|y >= \overline{< y|x >} vyplývá < x|y >< y|x >= | < x|y > |^{2}, proto

0 ≤ ∥y∥^{2} · ∥x∥^{2}− < x|y >< y|x >,

tj. | < x|y > | ≤ ∥x∥ · ∥y∥. Rovnost nastává právě když nastává rovnost v prvním výpočtu důkazu, tj. právě když ax − y = 0, tj. y = ax. □

Důsledek 9.10 Je-li V prostor se skalárním součinem, pak předpis

∥x∥ = \sqrt{< x|x >}

definuje normu na prostoru V, tj. splnňuje podmínky Definice 9.6.

Důkaz. Z definice skalárního součinu plyne, že < x|x >∈ R je vždy nezáporné číslo, proto rovněž ∥x∥ ≥ 0 pro každý vektor x ∈ V. Rovněž ∥x∥ = 0 právě když < x|x >= 0 právě když x = 0.

Je-li a skalár a x ∈ V, pak

∥ax∥^{2} =< ax|ax >= a\overline{a} < x|x >= |a|^{2} · ∥x∥^{2}.

Pouze důkaz trojúhelníkové nerovnosti vyžaduje použití CSB-nerovnosti.

∥x + y∥^{2} = < x + y|x + y >=
= < x|x > + < x|y > + < y|x > + < y|y >=
= ∥x∥^{2} + 2Re < x|y > +∥y∥^{2} ≤ ∥x∥^{2} + 2| < x|y > | + ∥y∥^{2} ≤
≤ ∥x∥^{2} + 2∥x∥ · ∥y∥ + ∥y∥^{2} = (∥x∥ + ∥y∥)^{2}.

□

Ortogonalita

Definice 9.11 Dva vektory x, y ∈ V v prostoru se skalárním součinem se nazývají kolmé (ortogonální), pokud < x|y >= 0. Kolmost vektorů x, y zapisujeme x⊥y.

Stejně jako standardní skalární součin umožňuje definovat úhel mezi dvěma vektory aritmetických vektorových prostorů R^{n×1} a C^{n×1} libovolné dimenze, můžeme také definovat úhel mezi každými dvěma vektory x, y ∈ V v libovolném prostoru V se skalárním součinem jako jednoznačně určený úhel α ∈ [0, π], pro který platí

cos α = \frac{< x|y >}{∥x∥ · ∥y∥} .

Z obecné CSB-nerovnosti plyne, že

|\frac{< x|y >}{∥x∥ · ∥y∥} | ≤ 1,

úhel α je tedy dobře definován. Tato definice úhlu mezi dvěma vektory je v souladu s definicí kolmosti, neboť platí x⊥y právě když < x|y >= 0, což je právě když cos α = 0 pro úhel α mezi vektory x, y, neboli α = π/2.

Definice 9.12 Posloupnost u_{1}, u_{2}, …, u_{n} vektorů prostoru V se skalárním součinem se nazývá ortonormální, jestliže platí

< u_{i}|u_{j} >= δ_{ij}

pro libovolné dva indexy i, j = 1, 2, …, n.

Tvrzení 9.13 Každá ortonormální posloupnost u_{1}, u_{2}, …, u_{n} vektorů prostoru V se skalárním součinem je lineárně nezávislá.

Důkaz. Předpokládejme, že a_{1}u_{1} + ⋯ + a_{n}u_{n} = 0 pro nějaké skaláry a_{1}, …, a_{n}. Potom pro každé i = 1, 2, …, n platí

0 = < u_{i}| ∑_{j=1}^{n} > a_{j}u_{j} = ∑_{j=1}^{n} < u_{i}|a_{j}u_{j} >=

= ∑_{j=1}^{n}a_{j} < u_{i}|u_{j} >= ∑_{j=1}^{n}a_{j}δ_{ij} = a_{i}.

Posloupnost u_{1}, u_{2}, …, u_{n} je proto lineárně nezávislá. □

Známe-li nějakou ortonormální bázi u_{1}, u_{2}, …, u_{n} prostoru V se skalárním součinem, můžeme snadno spočítat souřadnice libovolného vektoru x ∈ V vzhledem k této ortonormální bázi a rovněž snadno spočítáme skalární součin < x|y > dvou vektorů x, y ∈ V.

Tvrzení 9.14 Je-li u_{1}, u_{2}, …, u_{n} ortonormální báze prostoru V se skalárním součinem, pak pro každý vektor x ∈ V platí

x =< u_{1}|x > u_{1}+ < u_{2}|x > u_{2} + ⋯ + < u_{n}|x > u_{n},

tj. i-tá souřadnice vektoru x vzhledem k bázi u_{1}, …, u_{n} se rovná skalárnímu součinu < u_{1}|x > pro každé i = 1, 2, …, n.

Pokud x = a_{1}u_{1} + a_{2}u_{2} + ⋯ a_{n}u_{n} a y = b_{1}u_{1} + b_{2}u_{2} + ⋯ b_{n}u_{n}, pak

< x|y >= ∑_{i=1}^{n} \overline{a}_{i}b_{i}.

Důkaz. Pokud

x = ∑_{j=1}^{n}a_{j}u_{j},

pak pro každé i = 1, 2, …, n platí

< u_{i}|x >=< u_{i}| ∑_{j=1}^{n}a_{j}u_{j} >= ∑_{j=1}^{n}a_{j} < u_{i}|u_{j} >= ∑_{j=1}^{n}a_{j}δ_{ij} = a_{i}.

Dále platí

< x|y > = < ∑_{i=1}^{n}a_{i}u_{i}| ∑_{j=1}^{n}b_{j}u_{j} >= ∑_{i=1}^{n} \overline{a}_{i} < u_{i}| ∑_{j=1}^{n}b_{j}u_{j} >=

= ∑_{i=1}^{n} ∑_{j=1}^{n} \overline{a}_{i}b_{j} < u_{i}|u_{j} >= ∑_{i=1}^{n} ∑_{j=1}^{n} \overline{a}_{i}b_{j}δ_{ij} =

= ∑_{i=1}^{n} \overline{a}_{i}b_{i}.

□

Definice 9.15 Je-li u_{1}, …, u_{n} ortonormální báze prostoru V se skalárním součinem a x ∈ V, pak vyjádření

x =< u_{1}|x > u_{1}+ < u_{2}|x > u_{2} + ⋯ + < u_{n}|x > u_{n}

nazýváme Fourierův rozklad vektoru x a koeficienty < u_{i}|x > nazýváme Fourierovy koeficienty vektoru x vzhledem k bázi u_{1}, …, u_{n}.

Ukážeme si ještě následující variantu Pythagorovy věty.

Tvrzení 9.16 Předpokládáme, že V je reálný vektorový prostor se skalárním součinem. Dva vektory x, y ∈ V jsou ortogonální právě když ∥x + y∥^{2} = ∥x∥^{2} + ∥y^{2}∥.

Důkaz. Jsou-li vektory x, y ortogonální, platí x⊥y = 0. Potom

∥x + y∥^{2} = < x + y|x + y >=
= < x|y > + < x|y > + < y|x > + < y|y >=
= ∥x∥^{2} + ∥y^{2}∥.

Naopak, platí-li ∥x + y∥^{2} = ∥x∥^{2} + ∥y^{2}∥, potom

∥x∥^{2} + ∥y^{2}∥ =< x + y|x + y >=< x|y > + < x|y > + < y|x > + < y|y >,

a protože v reálném prostoru se skalárním součinem platí < x|y >=< y|x >, plyne odtud

2 < x|y >= 0,

tj. x⊥y. □

Všimněte si, že v případě komplexního prostoru se skalárním součinem předchozí důkaz ukazuje, že z rovnosti ∥x + y∥^{2} = ∥x∥^{2} + ∥y^{2}∥ plyne pouze Re < x|y >= 0, nikoliv < x|y >= 0. Opačná implikace ale zůstává beze změny, pokud x⊥y = 0, pak ∥x + y∥^{2} = ∥x∥^{2} + ∥y^{2}∥.

Gramova-Schmidtova ortogonalizace

Ukázali jsme si, jak snadno lze spočítat souřadnice nějakého vektoru vzhledem k ortonormální bázi a jak snadné je spočítat velikost skalárního součinu dvou vektorů, známe-li souřadnice těchto vektorů vzhledem k nějaké ortonormální bázi. Zbývá se přesvědčit, že v každém vektorovém prostoru se skalárním součinem existuje nějaká ortonormální báze. Snadno se přesvědčíme, že standardní báze je ortonormální báze v reálném aritmetickém prostoru R^{n×1} dimenze n a stejně tak rovněž v komplexním aritmetickém prostoru C^{n×1} dimenze n. Nyní si ukážeme algoritmus, který najde ortonormální bázi v každém prostoru se skalárním součinem. Tento algoritmus se nazývá Gramova-Schmidtova ortogonalizace.

V každém vektorovém prostoru V dimenze n nad libovolným tělesem T existuje nějaká báze B : x_{1}, x_{2}, …, x_{n}. Je-li V prostor se skalárním součinem, znamená to, že těleso skalárů je buď těleso R reálných čísel nebo těleso C komplexních čísel. Gramova-Schmidtova ortogonalizace začíná s libovolnou bází B : x_{1}, x_{2}, …, x_{n} vektorového prostoru V se skalárním součinem a sestrojí ortonormální bázi O : u_{1}, u_{2}, …, u_{n} tohoto prostoru, která navíc splňuje podmínku

• pro každé k = 1, …, n je posloupnost O_{k} : u_{1}, …, u_{k} ortonormální báze podprostoru S_{k} = L(x_{1}, …, x_{k}).

Budeme postupovat indukcí podle k. Pro k = 1 definujeme vektor

u_{1} = \frac{x_{1}}{∥x_{1}∥}.

Vektor x_{1} ≠ 0, neboť je prvkem báze a tedy lineárně nezávislé posloupnosti. Zlomek je proto dobře definován a ∥u_{1}∥ = 1, posloupnost O_{1} : u_{1} je proto ortonormální báze podprostoru S_{1} = L(x_{1}) = L(u_{1}).

Předpokládáme nyní, že jsme již sestrojili nějakou ortonormální bázi O_{k} : u_{1}, …, u_{k} podprostoru S_{k} = L(x_{1}, …, x_{k}) = L(u_{1}, …, u_{k}) pro nějaké k ≥ 1 a k < n. Budeme hledat vektor u_{k+1} ve tvaru

u_{k+1} = x_{k+1} − ∑_{i=1}^{k}a_{i}u_{i},

kde neznáme skaláry a_{1}, …, a_{k}. Vektor u_{k+1} musí být kolmý na všechny vektory u_{1}, …, u_{k}, což platí právě když pro každé j = 1, …, k je

0 = < u_{j}|u_{k+1} > = < u_{j}|x_{k+1} − ∑_{i=1}^{k}a_{i}u_{i} > =

= < u_{j}|x_{k+1} > − ∑_{i=1}^{k}a_{i} < u_{j}|u_{i} > = < u_{j}|x_{k+1} > −a_{j},

tj.

a_{j} = < u_{j}|x_{k+1} > pro všechna j = 1, …, k.

Označíme

ν_{k+1} = ∥x_{k+1} − ∑_{i=1}^{k} < u_{i}|x_{k+1} > u_{i}∥.

Platí ν_{k+1} ≠ 0, neboť x_{k+1} ∉ L(x_{1}, …, x_{k}) = L(u_{1}, …, u_{k}) podle indukčního předpokladu (rovnost lineárních obalů L(x_{1}, …, x_{k}) = L(u_{1}, …, u_{k})) a předpokladu, že B : x_{1}, …, x_{n} je báze V. Proto platí, že vektor x_{k+1} − ∑_{i=1}^{k} < u_{i}|x_{k+1} > u_{i} ≠ 0. Můžeme tak položit

u_{k+1} = \frac{x_{k+1} − ∑_{i=1}^{k} < u_{i}|x_{k+1} > u_{i}}{ν_{k+1}} .

Vektor u_{k+1} je proto kolmý na všechny vektory u_{j} pro j = 1, …, k a navíc ∥u_{k+1} ∥ = 1. Posloupnost u_{1}, …, u_{k}, u_{k+1} je tak ortonormální a proto také lineárně nezávislá podle Tvrzení 9.13.

Zbývá dokázat, že L(x_{1}, …, x_{k}, x_{k+1} ) = L(u_{1}, …, u_{k}, u_{k+1} ). Z rovnosti

x_{k+1} = ν_{k+1} u_{k+1} + ∑_{i=1}^{k} < u_{i}|x_{k+1} > u_{i}

vyplývá, že

x_{k+1} ∈ L(u_{1}, …, u_{k}, u_{k+1} ).

Podle indukčního předpokladu dále pro každé j = 1, …, k platí

x_{j} ∈ L(x_{1}, …, x_{k}) = L(u_{1}, …, u_{k}) ⊆ L(u_{1}, …, u_{k}, u_{k+1} ).

Platí proto

L(x_{1}, …, x_{k}, x_{k+1} ) ⊆ L(u_{1}, …, u_{k}, u_{k+1} ).

Protože jsou obě posloupnosti x_{1}, …, x_{k}, x_{k+1} a u_{1}, …, u_{k}, u_{k+1} lineárně nezávislé, mají oba lineární obaly dimenzi k + 1 a jsou si proto rovné. Tím je popis a důkaz správnosti Gramovy-Schmidtovy ortogonalizace dokončen.

V případě, že uvažujeme prostory R^{m×1} nebo C^{m×1} se standardním skalárním součinem a euklidovskou normou, můžeme Gramovu-Schmidtovu ortogonalizaci popsat pomocí matic. Je-li B : x_{1}, …, x_{n} lineárně nezávislá posloupnost v prostoru C^{m×1}, dostaneme Gramovou-Schmidtovou ortogonalizací ortonormální bázi

u_{1} = \frac{x_{1}}{∥x_{1}∥} a u_{k+1} = \frac{x_{k+1} − ∑_{i=1}^{k} (u_{i}^{∗}x_{k+1} )u_{i}}{∥x_{k+1} − ∑_{i=1}^{k} (u_{i}^{∗}x_{k+1} )u_{i}∥} pro k = 0, …, n − 1.

podprostoru S = L(x_{1}, …, x_{n}) prostoru C^{m×1}.

Označíme matice

U_{1} = 0_{m×1} a U_{k+1} = (u_{1}|u_{2}| ⋯ |u_{k}) pro k = 1, …, n − 1,

a spočítáme, že

U_{k+1}^{∗} x_{k+1} = ( u_{1}^{∗}x_{k+1} ; u_{2}^{∗}x_{k+1} ; ⋮ ; u_{k}^{∗}x_{k+1} )

a

U_{k+1} U_{k+1}^{∗} x_{k+1} = ∑_{i=1}^{k}u_{i}(u_{i}^{∗}x_{k+1} ) = ∑_{i=1}^{k}(u_{i}^{∗}x_{k+1} )u_{i}

pro k = 1, …, n − 1. Proto platí pro tato k, že

x_{k+1} − ∑_{i=1}^{k}(u_{i}^{∗}x_{k+1} )u_{i} = x_{k+1} − U_{k+1} U_{k+1}^{∗} x_{k+1} = (I_{m} − U_{k+1} U_{k+1}^{∗} )x_{k+1} .

Platí rovněž

x_{1} = I_{m}x_{1} = (I_{m} − U_{1}U_{1}^{∗})x_{1},

dostáváme tak jednotné vyjádření pro výsledek Gramovy-Schmidtovy ortogonalizace

u_{k} = \frac{(I_{m} − U_{k}U_{k}^{∗})x_{k}}{∥(I_{m} − U_{k}U_{k}^{∗})x_{k}∥} pro k = 1, 2, …, n.

Klasický Gramův-Schmidtův algoritmus

Je-li dána lineárně nezávislá posloupnost vektorů x_{1}, …, x_{n}, můžeme Gramovu-Schmidtovu ortogonalizaci popsat následujícím algoritmem

pro k = 1:

u_{1} ← \frac{x_{1}}{∥x_{1}∥}

pro k = 2, …, n:

u_{k} ← x_{k} − ∑_{i=1}^{k−1}(u_{i}^{∗}x_{k})u_{i}

u_{k} ← \frac{u_{k}}{∥u_{k}∥}.

Cvičení 9.4 Použijte Gramův-Schmidtův algoritmus na několik posloupností lineárně nezávislých vektorů.

Gramovu-Schmidtovu ortogonalizaci můžeme vyjádřit ještě jiným způsobem pomocí násobení matic. Je-li dána matice X_{m×n} = (x_{1}|x_{2}| ⋯ |x_{n}) s komplexními prvky a s lineárně nezávislými sloupci, a použijeme-li klasický Gramův-Schmidtův algoritmus na posloupnost x_{1}, …, x_{n} sloupcových vektorů matice X_{m×n}, dostaneme ortonormální bázi sloupcového prostoru S(X_{m×n}) matice X_{m×n}:

q_{1} = \frac{x_{1}}{ν_{1}} a q_{k} = \frac{x_{k} − ∑_{i=1}^{k−1}(q_{i}^{∗}x_{k})q_{i}}{ν_{k}} pro k = 2, 3, …, n,

kde

ν_{1} = ∥x_{1}∥ a ν_{k} = ∥x_{k} − ∑_{i=1}^{k−1}(q_{i}^{∗}x_{k})q_{i}∥ pro k = 2, 3, …, n.

Vyjádření vektorů q_{1}, q_{2}, …, q_{n} můžeme přepsat do tvaru

x_{1} = ν_{1}q_{1} a x_{k} = ∑_{i=1}^{k−1}(q_{i}^{∗}x_{k})q_{i} + ν_{k}q_{k} pro k = 2, 3, …, n.

Poslední vyjádření vektorů x_{k} jako lineární kombinace vektorů q_{1}, …, q_{k} pro k = 1, …, n můžeme vyjádřit pomocí násobení matic jako rovnost

(x_{1}|x_{2}| ⋯ |x_{n}) = (q_{1}|q_{2}| ⋯ |q_{n}) ( \begin{matrix}ν_{1} & q_{1}^{∗}x_{2} & q_{1}^{∗}x_{3} & ⋯ & q_{1}^{∗}x_{n} \\ 0 & ν_{2} & q_{2}^{∗}x_{3} & ⋯ & q_{2}^{∗}x_{n} \\ 0 & 0 & ν_{3} & ⋯ & q_{3}^{∗}x_{n} \\ ⋮ & ⋮ & ⋮ & ... & ⋮ \\ 0 & 0 & 0 & ⋯ & ν_{n} \end{matrix} ) .

Tento rozklad matice X_{m×n} můžeme zapsat jako X_{m×n} = Q_{m×n}R_{n×n}, kde Q je matice s ortonormálními sloupci a R je čtvercová horní trojúhelníková matice s kladnými prvky na hlavní diagonále. Lze ukázat, že tyto dvě podmínky určují matice Q a R jednoznačně. Tomuto rozkladu matice X říkáme QR-faktorizace matice X.

Cvičení 9.5 Najděte QR-faktorizaci několika reálných a komplexních matic.

Příklad 9.17 Klasický Gramův-Schmidtův algoritmus není numericky stabilní. Použijeme-li jej na posloupnost vektorů

x_{1} = ( \begin{matrix}1 \\ 10^{−3} \\ 10^{−3} \end{matrix} ) , x_{2} = ( \begin{matrix}1 \\ 10^{−3} \\ 0 \end{matrix} ) , x_{3} = ( \begin{matrix}1 \\ 0 \\ 10^{−3} \end{matrix} ) ,

a pokud zaokrouhlujeme každý jednotlivý výpočet na tři platná místa, dostaneme posloupnost vektorů

u_{1} = ( \begin{matrix}1 \\ 10^{−3} \\ 10^{−3} \end{matrix} ) , u_{2} = ( \begin{matrix}0 \\ 0 \\ −1 \end{matrix} ) , u_{3} = ( \begin{matrix}0 \\ −0, 709 \\ −0, 709 \end{matrix} ) .

Tento výsledek není uspokojivý, protože vektory u_{2} a u_{3} nejsou příliš ortogonální.

Modifikovaný Gramův-Schmidtův algoritmus

Numerickou stabilitu Gramovy-Schmidtovy ortogonalizace můžeme vylepšit tím, že přeuspořádáme jednotlivé kroky výpočtu. Z předchozího popisu klasické Gramovy-Schmidtovy ortogonalizace posloupnosti reálných, případně komplexních, vektorů x_{1}, x_{2}, …, x_{n} dimenze m dostáváme, že

u_{k} = \frac{(I − U_{k}U_{k}^{∗})x_{k}}{∥(I − U_{k}U_{k}^{∗})x_{k}∥} , kde U_{1} = 0 a U_{k} = (u_{1}|u_{2}| ⋯ |u_{k−1}) pro k > 1.

Označíme matice E_{1} = I a E_{i} = I − u_{i−1}u_{i−1}^{∗} pro i > 1. Z ortogonality posloupnosti vektorů u_{1}, u_{2}, …, u_{n} vyplývá, že

E_{k} ⋯ E_{2}E_{1} = I − u_{1}u_{1}^{∗} − u_{2}u_{2}^{∗} − ⋯ − u_{k−1}u_{k−1}^{∗} = I − U_{k}U_{k}^{∗}.

Gramovu-Schmidtovu ortogonalizaci můžeme proto vyjádřit ve tvaru

u_{k} = \frac{E_{k} ⋯ E_{2}E_{1}x_{k}}{∥E_{k} ⋯ E_{2}E_{1}x_{k}∥} pro k = 1, 2, …, n.

Odtud vyplývá, že Gramovu-Schmidtovu ortogonalizaci můžeme také uspořádat následovně:

x_{1}, x_{2}, …, x_{n} ⟶ u_{1}, x_{2}, …, x_{n}
⟶ u_{1}, E_{2}x_{2}, E_{2}x_{3}, …, E_{2}x_{n}
⟶ u_{1}, u_{2}, E_{2}x_{3}, …, E_{2}x_{n}
⟶ u_{1}, u_{2}, E_{3}E_{2}x_{3}, …, E_{3}E_{2}x_{n}
⟶ u_{1}, u_{2}, u_{3}, E_{3}E_{2}x_{4}, …, E_{3}E_{2}x_{n}

atd.

Toto uspořádání vede k následující verzi ortogonalizačního algoritmu, který nazýváme modifikovaná Gramova-Schmidtova ortogonalizace. Mámeli dánu lineárně nezávislou posloupnost vektorů x_{1}, x_{2}, …, x_{n} ∈ C^{m×1}, pak spočítáme ortonormální posloupnost u_{1}, u_{2}, …, u_{n} takto

pro k = 1:

u_{1} ← \frac{x_{1}}{∥x_{1}∥},

pro k > 1:

u_{j} ← E_{k}u_{j} = u_{j} − (u_{k−1}^{∗}u_{j})u_{k−1} pro j = k, k + 1, …, n,
u_{k} ← \frac{u_{k}}{∥u_{k}∥}.

V exaktní aritmetice vedou oba algoritmy ke zcela stejnému výsledku. Rozdíl je v případě, kdy nepoužíváme exaktní aritmetiku a počítáme na pevný počet platných míst. Větší numerickou stabilitu takto modifikované Gramovy-Schmidtovy ortogonalizace můžeme demonstrovat v následujícím příkladě.

Příklad 9.18 Použijeme-li modifikovaný Gramův-Schmidtův algoritmus na posloupnost vektorů x_{1}, x_{2}, x_{3} z Příkladu 9.17 a zaokrouhlujeme-li opět každý mezivýsledek ihned na tři platná místa, dostaneme posloupnost vektorů

u_{1} = ( \begin{matrix}1 \\ 10^{−3} \\ 10^{−3} \end{matrix} ) , u_{2} = ( \begin{matrix}0 \\ 0 \\ −1 \end{matrix} ) , u_{3} = ( \begin{matrix}0 \\ −1 \\ 0 \end{matrix} ) ,

což je výsledek mnohem uspokojivější, než výsledek v Příkladu 9.17.

Ani modifikovaný Gramův-Schmidtův algoritmus není numericky stabilní. Existují příklady, kdy vede k neuspokojivým výsledkům, pokud nepoužíváme exaktní aritmetiku.

Unitární a ortogonální matice

Definice 9.19 Čtvercová komplexní matice U řádu n se nazývá unitární, pokud její sloupce tvoří ortonormální bázi prostoru C^{n×1}.

Čtvercová reálná matice P řádu n se nazývá ortogonální, pokud její sloupce tvoří ortonormální bázi prostoru R^{n×1}.

Název ortogonální matice je běžně používaný, přestože mnohem vhodnější by byl název ortonormální matice.

Věta 9.20 Pro komplexní čtvercovou matici U řádu n je ekvivalentní

1. U je unitární,

2. posloupnost řádkových vektorů matice U je ortonormální,

3. U^{−1} = U^{∗},

4. ∥Ux∥ = ∥x∥ pro každý vektor x ∈ C^{n×1}.

Důkaz. 1 ⇔ 3. Matice U je unitární právě když (U_{∗i})^{∗}U_{∗j} = δ_{ij}. Řádkový vektor (U_{∗i})^{∗} se rovná i-tému řádku matice U^{∗}, proto (U^{∗})_{i∗}U_{∗j} = (U_{∗i})^{∗}U_{∗j} = δ_{ij}, tj. U^{∗}U = I_{n}. Připomeňme si, že δ_{ij} je Kroneckerův symbol, který se rovná 1, pokud i = j, a je rovný 0, pokud i ≠ j. 3 ⇔ 2. Podle Tvrzení 3.11 platí U^{∗}U = I_{n} právě když UU^{∗} = I_{n}, tj. právě když U_{i∗}(U^{∗})_{∗j} = δ_{ij}. Protože sloupcový vektor (U^{∗})_{∗j} se rovná vektoru (U_{j∗})^{∗}, dostáváme U_{i∗}(U_{j∗})^{∗} = U_{i∗}(U^{∗})_{∗j} = δ_{ij}. Číslo U_{j∗}(U_{i∗})^{∗} je komplexně sdružené k čílsu U_{i∗}(U_{j∗})^{∗} = δ_{ij}, poslední rovnost je proto ekvivaletní s tím, že posloupnost řádkových vektorů U_{1∗}, U_{2∗}, …, U_{n∗} ortonormální. 3 ⇒ 4. Je-li U^{∗}U = I_{n} a x ∈ C^{n×1}, pak

∥Ux∥^{2} = (Ux)^{∗}Ux = x^{∗}U^{∗}Ux = x^{∗}x = ∥x∥^{2}.

4 ⇒ 1. Platí-li pro matici U rovnost ∥Ux∥^{2} = ∥x∥^{2} pro každý vektor x ∈ C^{n×1}, pak také pro libovolné dva vektory x, y ∈ C^{n×1} platí

∥U(x + y)∥^{2} = ∥x + y∥^{2}.

Pro normu vektoru ∥x + y∥^{2} platí

∥x + y∥^{2} = (x + y)^{∗}(x + y) = x^{∗}x + y^{∗}y + x^{∗}y + y^{∗}x =
= ∥x∥^{2} + ∥y∥^{2} + x^{∗}y + \overline{x^{∗}y} =
= ∥x∥^{2} + ∥y∥^{2} + 2 · Re(x^{∗}y),

a pro normu vektoru U(x + y) podobně dostáváme

∥U(x + y)∥^{2} = (x + y)^{∗}U^{∗}U(x + y) =
= x^{∗}U^{∗}Ux + y^{∗}U^{∗}Uy + x^{∗}U^{∗}Uy + y^{∗}U^{∗}Ux =
= ∥Ux∥^{2} + ∥Uy∥^{2} + x^{∗}U^{∗}Uy + \overline{x^{∗}U^{∗}Uy} =
= ∥x∥^{2} + ∥y∥^{2} + 2 · Re(x^{∗}U^{∗}Uy).

Z rovnosti ∥U(x + y)∥^{2} = ∥x + y∥^{2} tak vyplývá rovnost reálných částí Re(x^{∗}y) = Re(x^{∗}U^{∗}Uy).

Obdobně dokážeme také rovnost imaginárních částí obou standardních skalárních součinů x^{∗}y a x^{∗}U^{∗}Uy, tj. rovnost Im(x^{∗}y) = Im(x^{∗}U^{∗}Uy). Tentokrát vyjdeme z rovnosti ∥x + ıy∥ = ∥U(x + ıy)∥, kde ı je komplexní jednotka. S využitím rovnosti \overline{ı} = −ı dostáváme

∥x + ıy∥^{2} = (x + ıy)^{∗}(x + ıy) =
= x^{∗}x + (ıy)^{∗}(ıy) + x^{∗}(ıy) + (ıy)^{∗}y =
= ∥x∥^{2} + \overline{ı}ı ∥y∥^{2} + ı x^{∗}y + \overline{ı}ı y^{∗}x =
= ∥x∥^{2} + ∥y∥^{2} + ı x^{∗}y − ı y^{∗}x =
= ∥x∥^{2} + ∥y∥^{2} + ı (x^{∗}y − \overline{x^{∗}y}) =
= ∥x∥^{2} + ∥y∥^{2} + 2ı Im(x^{∗}y).

Zcela analogicky dokážeme, že rovněž

∥U(x + ıy)∥^{2} = ∥x∥^{2} + ∥y∥^{2} + 2ı Im(x^{∗}U^{∗}Uy).

Platí proto rovněž rovnost imaginárních částí Im(x^{∗}y) = Im(x^{∗}U^{∗}Uy). Z rovnosti reálných a imaginárních částí obou skalárních součinů tak dostáváme rovnost

x^{∗}y = x^{∗}U^{∗}Uy.

Nyní už snadno dokončíme důkaz implikace 4 ⇒ 1. Pro libovolné dva indexy i, j = 1, 2, …, n platí

(U_{∗i})^{∗}U_{∗j} = e_{i}^{∗}U^{∗}Ue_{j} = e_{i}^{∗}e_{j} = δ_{ij}.

Posloupnost sloupcových vektorů matice U je proto ortonormální. □

Podobně můžeme také dokázat ekvivalentní podmínky pro ortogonální matice. Stačí všude nahradit vektor x^{∗} reálným řádkovým vektorem x^{T}.

Věta 9.21 Pro reálnou čtvercovou matici P řádu n je ekvivalentní

1. P je ortogonální,

2. posloupnost řádkových vektorů matice P je ortonormální,

3. P^{−1} = P^{T},

4. ∥Px∥ = ∥x∥ pro každý vektor x ∈ R^{n×1}.

Ortogonální doplněk

Definice 9.22 Je-li V vektorový prostor se skalárním součinem a P podprostor V, pak definujeme ortogonální doplněk podprostoru P jako množinu

P^{⊥} = {u ∈ V : < x|u >= 0 pro každý vektor x ∈ P}.

Následující tvrzení obsahuje základní vlastnosti ortogonálního doplňku.

Tvrzení 9.23 Předpokládáme, že P je podprostor vektorového prostoru V se skalárním součinem. Potom platí

1. P^{⊥} je podprostor prostoru V,

2. P^{⊥} ∩ P = {0},

3. je-li u_{1}, …, u_{k} ortonormální báze podprostoru P a u_{k+1} , …, u_{n} ortonormální báze podprostoru P^{⊥}, pak u_{1}, …, u_{k}, u_{k+1} , …, u_{n} je ortonormální báze prostoru V,

4. dim P^{⊥} = dim V − dim P,

5. P^{⊥}^{⊥} = P.

Důkaz. 1. Jsou-li u, v ∈ P^{⊥} a a libovolný skalár, pak pro každý vektor x ∈ P platí

< x|u + v >=< x|u > + < x|v >= 0

a podobně

< x|au >= a < x|u >= 0.

Ortogonální doplněk P^{⊥} je proto podprostor V.

2. Je-li u ∈ P^{⊥} ∩ P, pak < u|u >= 0, tj. u = 0.

3. Posloupnost u_{1}, …, u_{k}, u_{k+1} , …, u_{n} je ortonormální, a proto lineárně nezávislá podle Tvrzení 9.13. Dokážeme, že je bází prostoru V. Uděláme to sporem. Kdyby platilo L(u_{1}, …, u_{k}, u_{k+1} , …, u_{n}) ≠ V, doplnili bychom posloupnost u_{1}, …, u_{k}, u_{k+1} , …, u_{n} do báze prostoru V přidáním nějakých vektorů x_{1}, …, x_{m}. Na lineárně nezávislou posloupnost u_{1}, …, u_{k}, u_{k+1} , …, u_{n}, x_{1}, …, x_{m} bychom použili Gramovu-Schmidtovu ortogonalizaci. Dostali bychom ortonormální posloupnost u_{1}, …, u_{k}, u_{k+1} , …, u_{n}, v_{1}, …, v_{m}. Pro vektor v_{1} by pak platilo < u_{1}|v_{1} >= 0 pro i = 1, …, k a tedy také

< ∑_{i=1}^{k}a_{i}u_{i}|v_{1} >= ∑_{i=1}^{k} \overline{a}_{i} < u_{i}|v_{1} >= 0,

a proto také v_{1} ∈ L(u_{1}, …, u_{k})^{⊥} = P^{⊥}. To je ale ve sporu s tím, že u_{k+1} , …, u_{n} je báze P^{⊥} a v_{1} ∉ L(u_{k+1} , …, u_{n}). Posloupnost u_{1}, …, u_{k}, u_{k+1} , …, u_{n} je proto bází celého prostoru V.

4. Podle části 3. dostáváme dim P^{⊥} = n − k = dim V − dim P.

5. Pro každý vektor u ∈ P a x ∈ P^{⊥} platí

< x|u >= \overline{< u|x >} = 0,

proto rovněž u ∈ P^{⊥}^{⊥}, a tedy P ⊆ P^{⊥}^{⊥}. Vzhledem k 4. platí také

dim P^{⊥}^{⊥} = dim V − dim P^{⊥} = dim V − dim V + dim P = dim P,

proto z právě dokázané inkluze vyplývá P = P^{⊥}^{⊥}. □

Následující věta o ortogonálním rozkladu dává do souvislosti čtyři základní podprostory určené maticí a ortogonální doplněk.

Věta 9.24 Pro každou matice A ∈ R^{m×n} platí

• S(A)^{⊥} = N (A^{T}),

• N (A)^{⊥} = S(A^{T}).

Podobně pro každou matici B ∈ C^{m×n} platí

• S(B)^{⊥} = N (B^{∗}),

• N (B)^{⊥} = S(B^{∗}).

Důkaz. Vektor z ∈ S(A) právě když z = Ay pro nějaký vektor y ∈ R^{n×1}. Platí tedy, že vektor x ∈ S(A)^{⊥} právě když pro každý vektor y ∈ R^{n×1} platí < Ay|x >= 0, což je právě když y^{T} A^{T} x = 0, neboli právě když < y|A^{T} x >= 0. Poslední rovnost nastává právě když A^{T} x = 0, neboli právě když x ∈ N (A^{T}). Tím je dokázána první z rovností.

Druhou rovnost dostaneme použitím první rovnosti na transponovanou matici A^{T} a z Tvrzení 9.23.5. Dostáváme tak

N (A) = N (A^{T} ^{T}) = S(A^{T})^{⊥}

a proto také

N (A)^{⊥} = S(A^{T}).

Analogické rovnosti pro komplexní matici B ∈ C^{m×n} dokážeme stejným postupem, pouze všude nahradíme transponované matice C^{T} maticemi C^{∗}. □

Předpokládejme nyní, že A ∈ R^{m×n} je reálná matice a její hodnost r(A) = dim S(A) = r. Zvolme nějakou ortonormální bázi B : u_{1}, …, u_{r} sloupcového prostoru S(A) matice A a dále zvolme ortonormální bázi B′ : u_{r+1} , …, u_{m} ortogonálního doplňku S(A)^{⊥} = N (A^{T}). Posloupnost vektorů u_{1}, …, u_{r}, u_{r+1} , …, u_{m} je potom ortonormální báze prostoru R^{m×1} podle Tvrzení 9.23.3. Matice U = (u_{1}|u_{2}| ⋯ |u_{m}) je potom regulární podle Věty 9.21.

Dále zvolíme ortonormální bázi v_{1}, …, v_{r} prostoru S(A^{T}) a ortonormální bázi v_{r+1} , …, v_{n} jeho ortogonálního doplňku S(A^{T})^{⊥} = N (A). Matice V = (v_{1}|v_{2}| ⋯ |v_{n}) je potom rovněž regulární, ze stejného důvodu jako matice U.

Nyní budeme uvažovat součin R = U^{T} AV. Je-li R = (r_{ij}), pak r_{ij} = u_{i}^{T} Av_{j}. Protože u_{i}^{T} A = 0 pro i = r+1, …, m a Av_{j} = 0 pro j = r+1, …, n, dostáváme pro matici R vyjádření

R = U^{T} AV = ( \begin{matrix}u_{1}^{T}Av_{1} & ⋯ & u_{1}^{T}Av_{r} & 0 & ⋯ & 0 \\ ⋮ & ... & ⋯ & ⋮ & ... & ⋮ \\ u_{r}^{T} Av_{1} & ⋯ & u_{r}^{T} Av_{r} & 0 & ⋯ & 0 \\ 0 & ⋯ & 0 & 0 & ⋯ & 0 \\ ⋮ & ... & ⋮ & ⋮ & ... & ⋮ \\ 0 & ⋯ & 0 & 0 & ⋯ & 0 \end{matrix} ) .

Protože U^{−1} = U^{T} a V^{−1} = V^{T} podle Věty 9.21, můžeme matici A vyjádřit ve tvaru

A = URV^{T} = U ( \begin{matrix}C_{r×r} & 0 \\ 0 & 0 \end{matrix} ) V^{T} .

Dále platí r(C) = r, neboť

r(C) = r ( \begin{matrix}C_{r×r} & 0 \\ 0 & 0 \end{matrix} ) = r(U^{T} AV) = r(A) = r,

protože součin libovolné matice s regulární maticí nemění hodnost této matice podle Úlohy 6.4 a Úlohy 6.5. Takto získanému rozkladu A = URV^{T} matice A říkáme URV-faktorizace matice A.

Cvičení 9.6 Najděte URV-faktorizaci několika matic.

Každá množina ortonormálních bází čtyř základních podprostorů určených maticí A určuje URV-faktorizaci matice A. Platí to také naopak, každá URV-faktorizace matice A určuje ortonormální báze všech čtyř podprostorů.

Máme-li totiž ortonormální matice U = (U_{1}|U_{2}) řádu m, V = (V_{1}|V_{2}) řádu n a regulární matici C řádu r, pro které platí

A = URV^{T} = U ( \begin{matrix}C_{r×r} & 0 \\ 0 & 0 \end{matrix} ) V^{T} ,

pak podle Úlohy 6.4 platí

S(A) = S(URV^{T}) = S(UR) = S(U_{1}C|0) = S(U_{1}C) = S(U_{1}).

Proto sloupcové vektory matice U_{1} tvoří ortonormální bázi sloupcového prostoru S(A) matice A. Všechny sloupcové vektory matice U_{2} leží v ortogonálním doplňku S(A)^{⊥} = N (A^{T}) a protože dim S(A)^{⊥} = m − dim S(A), musí tvořit ortonormální bázi S(A)^{⊥} = N (A^{T}).

Vynásobíme-li libovolnou matici B zleva regulární maticí (tj. provedemeli posloupnost elementárních řádkových úprav matice B), nezměníme nulový prostor N (B) matice B. Platí proto

N (A) = N (URV^{T}) = N (RV^{T}) = N ( \begin{matrix}CV_{1}^{T} \\ 0 \end{matrix} ) = N (CV_{1}^{T}) =
= N (V_{1}^{T}) = S(V_{1})^{⊥} = S(V_{2}),

a proto také S(A^{T}) = N (A)^{⊥} = S(V_{2})^{⊥} = S(V_{1}). Tím jsme dokončili důkaz následující věty o URV-faktorizaci.

Věta 9.25 Je-li A ∈ R^{m×n} reálná matice hodnosti r, pak existují ortogonální matice U řádu m, ortogonální matice V řádu n a regulární matice C řádu r, pro které platí

A = URV^{T} = U ( \begin{matrix}C_{r×r} & 0 \\ 0 & 0 \end{matrix} ) V^{T} ,

a dále

• prvních r sloupců matice U tvoří ortonormální bázi S(A),

• posledních m − r sloupců matice U tvoří ortonormální bázi N (A^{T}),

• prvních r sloupců matice V tvoří ortonormální bázi S(A^{T}),

• posledních n − r sloupců matice V tvoří ortonormální bázi N (A).

Jestliže naopak jsou U ortogonální matice řádu m, V ortogonální matice řádu n a C regulární matice řádu r, pro které platí

A = URV^{T} = U ( \begin{matrix}C_{r×r} & 0 \\ 0 & 0 \end{matrix} ) V^{T} ,

pak matice U a V mají uvedené čtyři vlastnosti.

Později si ukážeme silnější verzi URV-faktorizace, které se říká SDVrozklad a jeho geometrický význam.

Ortogonální projekce

Je-li M podprostor vektorového prostoru V se skalárním součinem, platí podle Tvrzení 9.23 a Tvrzení 6.22

dim(M + M^{⊥}) = dim M + dim M^{⊥} − dim M ∩ M^{⊥} =
= dim M + dim M^{⊥} = dim V,

proto M + M^{⊥} = V. Pro každý vektor x ∈ V tak existuje vyjádření x = m+n, kde m ∈ M a n ∈ M^{⊥}. Toto vyjádření je určené jednoznačně, neboť je-li x = m′ +n′ jiné vyjádření splňující podmínky m′ ∈ M a n′ ∈ M^{⊥}, pak odečtením obou vyjádření vektoru x dostáváme rovnost 0 = (m − m′) + (n − n′), tj. m − m′ = −(n − n′). Protože m − m′ ∈ M a −(n − n′) ∈ M^{⊥}, dostáváme z rovnosti M ∩ M^{⊥} = {0}, že m − m′ = −(n − n′) = 0, tj. m = m′ a n = n′.

Definice 9.26 Vektor m ∈ M nazýváme ortogonální projekce vektoru x na podprostor M a označujeme jej P_{M}(x). Zobrazení P_{M} : V → M přiřazující každému vektoru x ∈ V jeho ortogonální projekci P_{M}(x) na podprostor M nazýváme ortogonální projekce prostoru V na podprostor M.

Lemma 9.27 Zobrazení P_{M} : V → M je lineární.

Důkaz. Jsou-li x, y ∈ V libovolné vektory, P_{M}(x) = m ∈ M, P_{M}(y) = p ∈ M, pak existují vektory n, q ∈ M^{⊥} takové, že x = m + n a y = p + q. Potom x + y = (m + p) + (n + q), a protože m + p ∈ M a n + q ∈ M^{⊥}, plyne odtud P_{M}(x + y) = m + p = P_{M}(x) + P_{M}(y).

Podobně z rovnosti x = m + n plyne rovnost ax = am + an pro každý skalár a. Protože am ∈ M a ap ∈ M^{⊥}, plyne z definice ortogonální projekce P_{M}, že P_{M}(ax) = am = aP_{M}(x). □

Ortogonální projekci vektoru x ∈ V na podprostor M ⊆ V najdeme tak, že napřed sestrojíme ortonormální bázi u_{1}, …, u_{k} podprostoru M, ortonormální bázi u_{k+1} , …, u_{n} ortogonálního doplňku M^{⊥}, a poté najdeme souřadnice vektoru x vzhledem k ortonormální bázi u_{1}, …, u_{k}, u_{k+1} , …, u_{n} celého prostoru V. Tyto souřadnice dostaneme z Fourierova vyjádření

x = ∑_{i=1}^{n} < u_{i}|x > u_{i}

vektoru x vzhledem k bázi u_{1}, …, u_{k}, u_{k+1} , …, u_{n}. Platí proto

P_{M}(x) = ∑_{i=1}^{k} < u_{i}|x > u_{i}.

Cvičení 9.7 Najděte ortogonální projekce několika vektorů na některé podprostory prostoru R^{n×1} a C^{n×1}.

Ortogonální projekce P_{M}(x) vektoru x na podprostor M má následující speciální vlastnost.

Tvrzení 9.28 Je-li M podprostor vektorového prostoru V se skalárním součinem a x ∈ V, pak pro každý vektor b ∈ M různý od ortogonální projekce P_{M}(x) platí

∥x − P_{M}(x)∥ < ∥x − b∥.

Důkaz. Vektor P_{M}(x) − b leží v podprostoru M, a platí proto, že (x−P_{M}(x)) ⊥ (P_{M}(x)−b). Podle Pythagorovy věty, tj. Tvrzení 9.16, platí

∥x − b∥^{2} = ∥x − P_{M}(x)∥^{2} + ∥P_{M}(x) − b∥^{2} < ∥x − P_{M}(x)∥^{2},

protože předpokládáme P_{M}(x) ≠ b. □

Definice 9.29 Reálné číslo ∥x − P_{M}(x)∥ nazýváme vzdálenost vektoru x od podprostoru M.

Cvičení 9.8 Spočtěte vzdálenosti několika vektorů od některých podprostorů prostoru R^{n×1} a C^{n×1}.

Elementární ortogonální projektory a reflektory

Nyní se budeme zabývat speciálním případem, kdy V = C^{n×1} je komplexní unitární prostor se standardním skalárním součinem a podprostor M prostoru C^{n×1} je definován jako ortogonální doplněk lineárního obalu L(u), kde vektor u ∈ C^{n×1} je jednotkový vektor, tj. ∥u∥ = 1. V tomto případě existuje jednoduchý způsob, jak spočítat ortogonální projekci libovolného vektoru x ∈ R^{n×1} na podprostor M = L(u)^{⊥}.

Označíme si P = I_{n} − uu^{∗} a spočítáme vektory Px a (I_{n} − P)x. Platí

(I_{n} − P)x = x − (I_{n} − uu^{∗})x = x − x + u(u^{∗}x) = (u^{∗}x)u ∈ L(u).

Dále

u^{∗}(Px) = u^{∗}(I_{n} − uu^{∗})x = u^{∗}x − (u^{∗}u)(u^{∗}x) = u^{∗}x − ∥u∥ · u^{∗}x = 0,

tj. vektor Px ∈ L(u)^{⊥} = M. Protože platí x = (I_{n} − P)x + Px, dostáváme, že pro ortogonální projekci P_{M}(x) vektoru x na podprostor M platí

P_{M}(x) = Px.

Definice 9.30 Matici P = I_{n} − uu^{∗} nazýváme elementární ortogonální projektor určený jednotkovým vektorem u ∈ C^{n×1}.

Pokud 0 ≠ v ∈ C^{n×1} je libovolný vektor, označíme u = v/∥v∥ jednotkový vektor stejné délky a stejného směru jako vektor v. Protože L(v) = L(u), platí rovněž L(v)^{⊥} = L(u)^{⊥} = M a ortogonální projekci libovolného vektoru x na podprostor M spočítáme pomocí elementárního ortogonálního projektoru určeného vektorem u = v/∥v∥

P = I_{n} − uu^{∗} = I_{n} − \frac{vv^{∗}}{∥v∥^{2}} = I_{n} − \frac{vv^{∗}}{v^{∗}v} .

Podobně najdeme také matici, pomocí které spočítáme vektor S_{M}(x) symetrický k vektoru x vzhledem k podprostoru M = L(u)^{⊥}. Víme totiž, že pokud je u jednotkový vektor, pak ortogonální projekce x na podprostor M se rovná P_{M}(x) = Px. Vektor S_{M}(x) symetrický k vektoru x vzhledem k podprostoru M splňuje rovnost

S_{M}(x) − x = 2(P_{M}(x) − x) = 2(Px − x) = 2(I_{n} − uu^{∗})x − 2x =
= −(2uu^{∗})x,

tj.

S_{M}(x) = x − (2uu^{∗})x = (I_{n} − 2uu^{∗})x.

Definice 9.31 Je-li u ∈ C^{n×1} jednotkový vektor, pak matici

R = I_{n} − 2uu^{∗}

nazýváme elementární ortogonální reflektor určený vektorem u.

Podobně jako v případě ortogonální projekce na podprostor M = L(u)^{⊥} dostaneme, že pokud v ∈ C^{n×1} je libovolný nenulový vektor, pak pro libovolný vektor x ∈ C^{n×1} spočítáme vektor S_{M}(x) symetrický k vektoru x vzhledem k podprostoru M = L(v)^{⊥} jako

S_{M}(x) = (I_{n} − 2\frac{uu^{∗}}{u^{∗}u} )x.

Metoda nejmenších čtverců

Máme-li soustavu lineárních rovnic Ax = b s reálnými (komplexními) koeficienty, která nemá žádné řešení, můžeme najít “přibližné řešení” této soustavy následujícím způsobem. Z předchozí teorie víme, že soustava Ax = b je řešitelná právě když b ∈ S(A), tj. právě když vektor A leží ve sloupcovém prostoru matice A. Soustava je tedy neřešitelná právě když b ∉ S(A). Ve sloupcovém prostoru S(A) matice A existuje podle Tvrzení 9.28 vektor, který je blíže k vektoru b, než kterýkoliv jiný vektor tohoto sloupcového prostoru S(A). Tímto vektorem je ortogonální projekce vektoru b na podprostor S(A) = M. Tuto ortogonální projekci vektoru b, vektor P_{M}(b), nazýváme řešení soustavy Ax = b metodou nejmenších čtverců.

Pokud nejsou sloupcové vektory matice soustavy A lineárně nezávislé, existují různá vyjádření jednoznačně určené ortogonální projekce P_{M}(b) vektoru pravých stran b na sloupcový prostor S(A) matice A coby lineární kombinace sloupcových vektorů matice A.

Cvičení 9.9 Vyřešte několik neřešitelných soustav lineárních rovnic metodou nejmenších čtverců.