Gram-Schmidtův algoritmus
V lineární algebře , v prehilbertian prostoru (to znamená, že je vektorový prostor na poli z reálných čísel nebo že z komplexů , opatřený skalárním výrobku ), přičemž proces nebo algoritmus Gram-Schmidt je algoritmus pro stavbu, od a volný rodina přes na základně orthonormal na subprostor generuje . Můžeme také použít metodu Gram-Schmidta na spočetnou nekonečnou rodinu vektorů. To umožňuje demonstrovatexistence hilbertovského základu, pokud je prostor oddělitelný .
Státy
Přesně tak, že si všimneme N = {0, ..., p } s p v ℕ nebo N = ℕ :
Věta - Pokud je svobodná rodina prehilbertiánského prostoru, existuje jedna a pouze jedna ortonormální rodina , která:
(Xne)ne∈NE{\ displaystyle (x_ {n}) _ {n \ v N} \,}(Ene)ne∈NE{\ displaystyle (e_ {n}) _ {n \ v N} \,}
-
PROTIEvs.t(E0,...,Ene)=PROTIEvs.t(X0,...,Xne){\ displaystyle {\ rm {Vect}} (e_ {0}, \ ldots, e_ {n}) = {\ rm {Vect}} (x_ {0}, \ ldots, x_ {n}) \,}pro všechny n
- dot produkty jsou přísně pozitivní pro všechny n(Ene|Xne){\ displaystyle (e_ {n} | x_ {n}) \,}
Často zapomínáme na druhou podmínku, která zajišťuje jedinečnost. Umožňuje hovořit o o orthonormalized rodině Gram-Schmidt spojené s .
(Xne)ne∈NE{\ displaystyle (x_ {n}) _ {n \ v N} \,}
Obecný krok algoritmu spočívá v odečtení od vektoru v j +1 jeho ortogonální projekci na podprostor generovaný v 0 , ..., v j . Jeden se opírá o ortonormální rodinu, která již byla vytvořena pro výpočet tohoto projektu.
Tato metoda byla publikována Jørgenem Pedersenem Gramem v roce 1883 a přeformulována Erhardem Schmidtem v roce 1907, ale je již nalezena v 1816 dílech Laplaceova .
Aplikace
Gram-Schmidtův proces
Definujeme operátor ortogonální projekce na vektorovou linii směrovanou vektorem u pomocí:
prÓju(proti)=⟨u,proti⟩⟨u,u⟩u.{\ displaystyle \ mathrm {proj} _ {\ mathbf {u}} \, (\ mathbf {v}) = {\ langle \ mathbf {u}, \ mathbf {v} \ rangle \ over \ langle \ mathbf {u }, \ mathbf {u} \ rangle} \ mathbf {u}.}Gram-Schmidtův proces je pak:
|
u1=proti1,{\ displaystyle \ mathbf {u} _ {1} = \ mathbf {v} _ {1},}
|
|
E1=u1‖u1‖{\ displaystyle \ mathbf {e} _ {1} = {\ mathbf {u} _ {1} \ over \ | \ mathbf {u} _ {1} \ |}}
|
|
u2=proti2-prÓju1(proti2),{\ displaystyle \ mathbf {u} _ {2} = \ mathbf {v} _ {2} - \ mathrm {proj} _ {\ mathbf {u} _ {1}} \, (\ mathbf {v} _ { 2}),}
|
|
E2=u2‖u2‖{\ displaystyle \ mathbf {e} _ {2} = {\ mathbf {u} _ {2} \ přes \ | \ mathbf {u} _ {2} \ |}}
|
|
u3=proti3-prÓju1(proti3)-prÓju2(proti3),{\ displaystyle \ mathbf {u} _ {3} = \ mathbf {v} _ {3} - \ mathrm {proj} _ {\ mathbf {u} _ {1}} \, (\ mathbf {v} _ { 3}) - \ mathrm {proj} _ {\ mathbf {u} _ {2}} \, (\ mathbf {v} _ {3}),}
|
|
E3=u3‖u3‖{\ displaystyle \ mathbf {e} _ {3} = {\ mathbf {u} _ {3} \ přes \ | \ mathbf {u} _ {3} \ |}}
|
|
⋮{\ displaystyle \ vdots}
|
|
⋮{\ displaystyle \ vdots}
|
|
uk=protik-∑j=1k-1prÓjuj(protik),{\ displaystyle \ mathbf {u} _ {k} = \ mathbf {v} _ {k} - \ součet _ {j = 1} ^ {k-1} \ mathrm {proj} _ {\ mathbf {u} _ {j}} \, (\ mathbf {v} _ {k}),}
|
|
Ek=uk‖uk‖{\ displaystyle \ mathbf {e} _ {k} = {\ mathbf {u} _ {k} \ přes \ | \ mathbf {u} _ {k} \ |}}
|
S:
-
<,> , skalární součin v uvažovaném prostoru
-
v 1 , ..., v k , sada nesouvisejících vektorů
-
u 1 , ..., u k , množina ortogonálních vektorů dva po dvou
-
e 1 , ..., e k , množina ortonormálních vektorů dva po dvou
Poznámky a odkazy
(fr) Tento článek je částečně nebo zcela převzat z článku
anglické Wikipedie s názvem
„ Gram - Schmidtův proces “ ( viz seznam autorů ) .
-
All-in-One Mathematics. 2. ročník MP , Paříž, Dunod,2004, 2 nd ed. , 1279 str. ( ISBN 978-2-10-007576-8 , upozornění BnF n o FRBNF39237416 ) , s. 569
-
(in) Gram-Schmidtova ortogonalizace v prvních známých použitích některých slov matematiky (G)
-
A. Quarteroni, R. Sacco, F. Saleri, Numerické metody pro vědecké výpočty, Programy v Matlabu , ed. Springer, 2000, str. 83 a následující. Číst online
-
Zde zvolená konvence pro hermitovský skalární součin: linearita vpravo a semi-linearita vlevo.
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">