Teorie matic

Mějme v tělese 𝔽 matice A𝔽d×d. Z lineární algebry už známe: determinant detA, stopu trA a charakteristický polynom

χA(t)=det(AtI)=(1)d(tdad1td1a1ta0).

Ovšem nikdy jsme si nedokázali Jordanovu větu, takže to bude jeden z cílů tohoto předmětu.

Definice Nechť f(t)=(1)d(tdad1td1a0)𝔽[t]. Potom matice společnice (companion matrix) polynomu f je
Af(ad1ad2a1a0100001000010).
Věta Pro každý polynom f𝔽[t] platí χAf=f.
Důkaz Provedeme rozvoj podle prvního řádku.
Definice Matice A,B𝔽d×d jsou podobné nad tělesem 𝔽, pokud existuje regulární matice R𝔽d×d taková, že R1AR=B. Značíme A𝔽B.
Věta Nechť A,B𝔽d×d,A𝔽B. Potom
Důkaz Dokážeme jen první tvrzení, protože všechno už známe z lineární algebry.
R1AR=BR1AR(𝔽d)=B(𝔽d)R1A(𝔽d)=B(𝔽d)
Jelikož vynásobením regulární maticí se nezmění dimenze, máme dimA(𝔽d)=dimB(𝔽d).
Definice Těleso 𝔽 je algebraické alias algebraicky uzavřené, pokud každý polynom z 𝔽[t] stupně alespoň 1 má kořen z 𝔽.
Věta Relace 𝔽 je ekvivalence.
Důkaz Triviální.
Věta Nechť A,Bd×d. Je-li AB, potom AB.
Důkaz Mějme regulární matici Rd×d takovou, že R1AR=B neboli AR=RB. Vyjádřeme si RP+iQ,P,Qd×d. Potom A(P+iQ)=(P+iQ)B, takže i AP=PB a AQ=QB. Ovšem ani jedna z matic P,Q nemusí být regulární, takže ještě nejsme hotovi. Zkusíme najít lineární kombinaci, která regulární je. Definujme H(t)P+tQ. Existuje-li t takové, že detH(t)0, jsme hotovi, protože máme (H(t))1AH(t)=B. Zjevně det(P+tQ) je polynom v t. Ten ale nemůže být nulový, protože víme, že když dosadíme i, vyjde detR, což je podle předpokladu nenulové.
Věta Nechť Ad×d. Potom |detA| je Lebesgueova míra množiny
M{i=1dαiA,i|αi[0,1]}.
Důkaz Míru počítáme jako
m(M)=M1dβ1dβd.
Provedeme substituci β=Aα. Z věty o substituci máme
m(M)=0101|detA|dα1dαd=|detA|.
Věta slabší verze Jordanovy Je-li 𝔽 algebraicky uzavřené těleso, potom každá matice je podobná horní trojúhelníkové matici.
Poznámka Toto je taky slabší verze Schurovy věty, kterou jsme si dokazovali na NMA1.
Důkaz Indukcí na d. Pro d=1 triviální. Mějme matici A𝔽d×d, její vlastní číslo λ a vlastní vektor x. Vezměme matici R, která má v prvním sloupci x a zbytek je doplněn jakkoli, aby byla regulární. Potom snadno dokážeme, že matice R1AR má v prvním sloupci vektor (λ00)𝖳. Ukrojíme první sloupec a řádek a pomocí indukčního předpokladu najdeme matici R~, která zbytek transformuje na trojúhelníkovou. K této matici přidáme první řádek a sloupec, kde v levém horním rohu bude jednička a všude jinde 0, a vynásobíme ji zleva R. Tím dostaneme kýženou podobnostní matici.
Definice Nechť A𝔽d×d. Označme Vd^ a
E{(i,j)V2|Ai,j0}.
Potom orientovaný graf (V,E) je graf matice A.
Definice Matice A𝔽d×d je rozložitelná, pokud existuje permutační matice P taková, že P𝖳AP=(BC0D), kde B,D jsou čtvercové matice nenulového rozměru.
Poznámka Obecně platí, že pokud řešíme nějakou úlohu, kde matice je rozložitelná, potom ji můžeme snadno převést na dvě úlohy s maticí menšího rozměru.
Cvičení Nechť A,Bd×d. Dokažte, že je-li AB, potom AB.
Cvičení Mějme matice A,Bd×d, které mají stejné spektrum včetně algebraických a geometrických násobností. Zjistěte, jestli nutně AB.
Cvičení Pro matici Md×d definujme GM{α|αMM}.
  1. Určete GM pro M=(004000000).
  2. Nechť Mk0 pro každé k0. Dokažte, že GM je konečná.
  3. Dokažte, že GM je grupa na násobení.
Cvičení Nechť Ad×d. Dokažte, že pokud trA=0, potom A je podobná nějaké matici s nulovou diagonálou.
Cvičení Nechť A𝔽d×d. Dokažte, že [A]𝔽={A} (tedy A není podobná žádné jiné matici), právě když A=αI,α𝔽.
Cvičení Nechť G2×2 je konečná grupa na násobení. Co můžeme říct o prvcích G ohledně determinantu, vlastních čísel, Jordanova tvaru a řádu v G?

Tenzorový součin

Definice Tenzorový součin matic A𝔽m×n,B𝔽o×p je matice AB𝔽mo×np,
AB(AB1,1AB1,pABp,1ABp,p).
Věta Mějme matice A𝔽m×n,B𝔽b×c,C𝔽n×o,D𝔽c×l. Potom
(AB)(CD)=(AC)(BD).
Důkaz Stačí si to rozepsat.
Důsledek Nechť A𝔽m×m,B𝔽n×n jsou regulární matice. Potom (AB)1=A1B1.
Důkaz
(AB)(A1B1)=AA1BB1=ImIn=Imn.
Věta Tenzorový součin dvou horních/dolních trojúhelníkových matic je horní/dolní trojúhelníková matice.
Věta Nechť Am×m,Bn×n. Potom σ(AB)=σ(A)σ(B).
Důkaz Převedeme obě matice do horního trojúhelníhového tvaru: APA1P1,B=QB1Q1, kde P,Q jsou regulární a A1,B1 jsou horní trojúhelníkové. Potom AB=(PQ)(A1B1)(PQ)1. Vidíme, že A1,B1 mají na diagonále vlastní čísla A,B a A1B1 má na diagonále vlastní čísla AB. Když si rozepíšeme, jak vypadá A1B1, dostaneme první tvrzení věty.
Věta Nechť Am×m,Bn×n,λ,μ{0}. Potom σ(λ(AIn)+μ(ImB))=λσ(A)+μσ(B).
Důkaz Analogický jako u předchozí věty.
Věta Nechť Am×m,Bn×n, e je vlastní vektor k ασ(A) a f je vlastní vektor k βσ(B). Potom ef je vlastní vektor k αβσ(AB).
Důkaz
(AB)(ef)=AeBf=(αe)(βf)=(αβ)(ef).
Věta Nechť Am×m,Bn×n,λ,μ{0}, e je vlastní vektor k ασ(A) a f je vlastní vektor k βσ(B). Potom TBD: ??? je vlastní vektor k λα+μβσ(λ(AIn)+μ(ImB)).
Důkaz Analogický jako u předchozí věty.
Věta Nechť Am×m,Bn×n. Potom det(AB)=(detA)n(detB)m.
Důkaz Nechť α1,,αm;β1,,βn jsou vlastní čísla A;B včetně algebraických násobností. Potom
det(AB)=i=1mj=1nαiβj=(i=1mαi)n(j=1nβj)m=(detA)n(detB)m.
Důsledek Je-li σ(A)σ(B)=, potom det(AInImB)0.
Věta Nechť pro ir^ je Aim×n,Bio×p a dále Cm×p. Potom rovnice
i=1rAiXBi=C
má stejná řešení Xn×o jako rovnice
(i=1rAiBi𝖳)[X]s=[C]s,
kde []s značí vektor vzniklý spojením sloupců matice pod sebe.
Důkaz Stačí uvažovat r=1, pro vyšší čísla to plyne z linearity. Máme
[AXB]s=[(AX,1AX,o)B]s=(i=1oAXiBi,1i=1oAXiBi,p)=(AB)[X]s.
Cvičení Nechť AB=CD0, kde A,C mají stejný rozměr. Dokažte, že existují čísla α,β taková, že αβ=1,A=αC,B=βD.
Cvičení Nechť A,Bn×n. Dokažte, že
  1. (ABBA)(A+B00AB),
  2. h(A+B)h(A)+h(B).
Cvičení Nechť Am×m,Bn×n. Dokažte, že
(AB0B0)(00BBA).
Z toho odvoďte, že AB a BA mají stejná nenulová vlastní čísla včetně algebraických násobností. Speciálně pro m=n mají stejná vlastní čísla včetně algebraických násobností.
Cvičení Nechť λ,μ. Určete Jordanův tvar matice J2(λ)J3(μ), kde Jk(α) značí Jordanův blok řádu k s číslem α na diagonále.

Něco o grafech a rozložitelnosti

Věta Matice Ad×d není rozložitelná, právě když pro každé i,jd^ existuje v grafu A orientovaný sled z i do j.
Důkaz Dokážeme obměněnou ekvivalenci: A je rozložitelná pro nějaké i,j neexistuje sled.
(⇒)
Díky struktuře matice máme disjunktní rozklad V=V1V2 takový, že (v1,v2)E pro každé v1,2V1,2.
(⇐)
Pro dané id^ definujme Vi{vV|iv}. Zřejmě V1 a V2VV1. TBD
Věta Matice Ad×d je nerozložitelná, právě když (A+I)d1>0.
Důkaz Plyne z předchozí věty a z poznatku, že umocnění matice sousednosti určuje počet sledů dané délky.
Věta Vlastní číslo λ matice A má algebraickou násobnost 1, právě k němu když existuje právě jeden lineárně nezávislý vektor u pro matici A, právě jeden lineárně nezávislý vektor v pro matici A𝖳 a platí v𝖳u0.
Důkaz Úvahou o podobnosti zjistíme, že to stačí dokázat pro matici v Jordanově tvaru. Pro tu to dokážeme snadno.

Nezáporné matice

Definice Nechť An×n. Potom definujeme její modul
m(A)(|A1,1||A1,n||An,1||An,n|).
Lemma Nechť A,Bn×n,m(A)B. Potom ρ(A)ρ(B).
Důkaz Předpokládejme pro spor, že pro nějaké s je ρ(A)>s>ρ(B). Označme PAs,QBs. Potom pro každé k je podle trojúhelníkové nerovnosti m(Pk)(m(P))kQk. Jelikož ρ(Q)<1, máme limkQk=0, tedy i limk(m(P))k=0, což je spor s tím, že ρ(P)>0.
Důsledek Pro každou matici An×n platí ρ(A)ρ(m(A)).
Důkaz Stačí vzít Bm(A).
Lemma Nechť An×n,zn,ξ,A,z0,Az>ξz. Potom ρ(A)>ξ.
Důkaz Vezměme s takové, že Az>sz>ξz. Označme PAs. Potom Pz>z. Opakovaným použitím této nerovnosti dostaneme Pkz>z pro každé k. Z toho plyne ρ(P)1 neboli ρ(A)s>ξ.
Lemma Perronovo Nechť An×n,A>0. Potom ρ(A)σ(A) a existuje k němu kladný vlastní vektor, který je jediný lineárně nezávislý.
Důkaz Vezměme vlastní číslo λ takové, že |λ|=ρ(A), tedy pro nějaké un,u0 je λu=Au. Aplikací m na obě strany rovnosti a použitím trojúhelníkové nerovnosti dostáváme ρ(A)m(u)=m(Au)Am(u). Kdyby nerovnost byla ostrá, potom by podle předchozího lemmatu bylo ρ(A)<ρ(A), což je blbost. Musí tedy platit rovnost, což znamená, že všechna čísla sečtená v trojúhleníkové nerovnosti mají stejný směr. Tudíž existuje η,|η|=1 takové, že vηu0. Jelikož v0,A>0, máme λv=Av>0. Z toho plyne v>0 a také λ>0 neboli λ=|λ|=ρ(A). Zbývá dokázat, že v je jediný lineárně nezávislý vlastní vektor k vlastnímu číslu λ. Vezměme jiný vlastní vektor w. Pro nějaké k takové, že vk0, definujme zwwkvkv. Kdyby byly v,w lineárně nezávislé, potom z0, takže je to také vlastní vektor k λ a stejnou logikou můžeme dokázat, že m(z)>0. To je ale spor s tím, že zk=0.
Věta Perronova-Frobeniova Nechť An×n,n2,A0 je nerozložitelná. Potom ρ(A)σ(A) s algebraickou násobností 1 a existuje k němu kladný vlastní vektor. Zároveň k žádnému jinému vlastnímu číslu neexistuje nezáporný vlastní vektor.
Důkaz Podle nějaké věty je B(I+A)n1>0, tedy i B𝖳>0. Z Perronova lemmatu existuje yn,y>0 takové, že B𝖳y=ρ(B)y neboli y𝖳B=ρ(B)y𝖳. Vezměme vlastní číslo λ splňující |λ|=ρ(A) a k němu příslušný vlastní vektor x. Označme um(x). Potom opět podle trojúhelníkové nerovnosti ρ(A)u=m(Ax)Au. Opakovaným použitím nerovnosti dostaneme (ρ(A))kuAku pro každé k0. Z toho plyne
(1+ρ(A))n1u=k=0n1(n1k)(ρ(A))kuk=0n1(n1k)Aku=Bu.
Vynásobením zleva y𝖳 dostáváme (1+ρ(A))n1y𝖳uy𝖳Bu=ρ(B)y𝖳u. Jelikož x0,y>0, máme y𝖳u>0, takže můžeme vydělit a dostáváme (1+ρ(A))n1ρ(B). Podle nějaké věty existuje μσ(A) takové, že ρ(B)=|(1+μ)n1|. Odmocněním a trojúhelníkovou nerovností dostáváme
1+ρ(A)|1+μ|1+|μ|1+ρ(A).
Musí tedy ve všech nerovnostech platit rovnost. Z toho plyne |μ|=ρ(A) a zároveň μ0, tedy μ=ρ(A). Také v nerovnostech, které jsme sumili, platí rovnost, takže speciálně μu=ρ(A)u=Au. Zároveň Bu=(1+μ)n1u=ρ(B)u. Z Perronova lemmatu plyne u>0. Našli jsme tedy kladný vlastní vektor k u, pro který analogicky jako u Perronova lemmatu můžeme dokázat, že je jediný lineárně nezávislý. Nechť ξμ je jiné vlastní číslo matice A a z je příslušný vlastní vektor. Podle již dokázaného existuje v>0 takové, že A𝖳v=μv neboli v𝖳A=μv𝖳. Máme tedy v𝖳Az=μv𝖳z a zároveň v𝖳Az=ξv𝖳z. Odečtením rovností dostaneme 0=(μξ)v𝖳z. Jelikož μξ, musí být v𝖳z=0, a protože u>0, nemůže být zároveň z0. Zbývá dokázat, že μ má jako vlastní číslo A algebraickou násobnost 1. To nějak plyne ze Schurovy věty a z toho, že v𝖳u>0.
Věta Nechť An×n,A0 je nerozložitelná a h. Potom následující tvrzení jsou ekvivalentní:
  1. Existuje právě h vlastních čísel λσ(A) takových, že |λ|=ρ(A).
  2. Existuje permutační matice P taková, že jde psát blokově PAP𝖳=(0B10000B20000Bh1Bh000).
  3. Největší společný dělitel délek všech cyklů v G(A) je h.
  4. Je-li χA(t)=(1)ntn+i=1sknitni, kde kni0, potom
    nsd(nn1,n1n2,,ns1ns)=h.
  5. h=max{k|σ(exp2πikA)=σ(A)}.
Lemma Nechť An×n,A0 je nerozložitelná. Je-li sρ(A) vlastní číslo A pro |s|=1, potom existuje diagonální matice D taková, že m(D)=I a AD=sDA. Naopak, pokud nějaké s,|s|=1 existuje taková matice D, potom sρ(A)σ(A). Navíc je-li u Perronův vlastní vektor k ρ(A), potom Du je vlastní vektor k sρ(A), tedy ADu=sρ(A)u.
Důkaz Nechť z je vlastní vektor k vlastnímu číslu sρ(A). Potom ρ(A)m(z)=m(sρ(A)z)=m(Az)Am(z). Z Perronovy-Frobeniovy věty máme y>0 takový, že A𝖳y=ρ(A)y neboli y𝖳A=ρ(A)y𝖳. Potom ρ(A)y𝖳m(z)y𝖳Am(z)=ρ(A)y𝖳m(z), takže v první nerovnosti platí rovnost, tudíž m(z)>0 je vlastní vektor. Jistě existuje diagonální matice D taková, že m(D)=I,z=Dm(z). Potom Az=sρ(A)z=sρ(A)Dm(z)=ADm(z). TBD
Věta Nechť An×n,A0. Potom ρ(A)σ(A) a existuje k němu nezáporný vlastní vektor.

Jordanova věta

Definice Matice Jn×n je v Jordanově tvaru, pokud
J=(Jd1(λ1)00Jdk(λk)),kdeJd(λ)(λ1000λ10000λ10000λ)}dřádků.
Lemma Je-li matice A v Jordanově tvaru a μ, potom A+μI je v Jordanově tvaru.
Důkaz Triviální.
Lemma Je-li An×n a μ, potom σ(A+μI)=σ(A)+μ.
Důkaz Triviální.
Věta Nechť An×n,0σ(A). Označme Vn. Potom existují podprostory V0,V1V takové, že
  1. V0⊕︎V1=V,
  2. AV0V0,
  3. AV1=V1,
  4. σ(A|V0)={0}.
Důkaz Jistě existuje takové k, že Ak+1V=AkV. (Kdyby pro spor neexistovalo, potom dimV>dimAV>dimA2V>, což v prostoru konečné dimenze nejde.) Vezměme nejmenší takové k a položme V0kerAk,V1AkV. Zbývá ověřit kýžené vlastnosti.
  1. Z druhé věty o dimenzi pro každé ik platí d(Ai)=nh(Ai)=nh(Ak)=d(Ak). TBD
  2. Nechť yAV0, tedy y=Ax,xkerAk. Potom Aky=Ak+1x=0, tudíž ykerAk=V0.
  3. Plyne přímo z definice.
  4. Nechť Ax=μx pro nějaké nenulové xV0.
Lemma Nechť A(P). Označme md(A),nh(A). Nechť x1,,xm je báze kerA, y1,,yn je báze A(P) a z1,,zn jsou vektory takové, že yj=Azj. Potom x1,,xm,z1,,zn je báze P.
Důkaz Počet vektorů sedí, stačí tedy ověřit, že jsou lineárně nezávislé. Předpokládejme, že platí
0=i=1mαixi+j=1nβjzj.
Vynásobením A dostaneme
0=i=1mαiAxi+j=1nβjAzj=j=1nβjAzj.
Z toho plyne βj=0. Tedy i αi=0.
Věta Pro každou matici An×n,σ(A)={0} existuje matice Jn×n v Jordanově tvaru taková, že AJ.
Důkaz Zkonstruujeme množinu SV takovou, že
  • pro všechny wS existuje životnost iw taková, že Aiww=0, ale Aiw1w0,
  • množina {Ajw|wS,0j<iw1} je báze V.
Potom definujeme-li
R(Aiw11w1Aw1w1Aiw21w2Aw2w2wk),
bude platit AR=RJ, kde J je Jordanova matice s bloky Jiw1(0),,Jiwk(0). Pojďme nyní takovou množinu S najít. Jelikož σ(A)={0}, jistě existuje k takové, že
A0(V)A1(V)Ak(V)={0}.
Podle druhé věty o dimenzi pro každé i platí
dimAi(V)=dimAi+1(V)+d(A|Ai(V)),
přičemž
d(A|Ai(V))=dim(kerAAi(V))di.
Vidíme, že 0=dkdk1d0=h(A). Označme nidi1di. Je-li 𝒳︀ báze AiV, potom Ai1V má bázi 𝒳︀{z1,,zni}. Jistě najdeme x1,,xni takové, že zl=Ai1xl. Z takovýchto vektorů xl sestavíme množinu S.
Věta Jordanova Pro každou matici An×n existuje matice Jn×n v Jordanově tvaru taková, že AJ.
Důkaz Indukcí na počtu různých vlastních čísel. Je-li σ(A)={λ}, definujme BAλI. Potom σ(B)={0}, takže podle předchozí věty je R1BR=J, kde J je v Jordanově tvaru. Potom R1AR=J+λI, takže A je také v Jordanově tvaru. Tím jsme dokázali základní případ. Nechť dále λ,μσ(A),λμ. Definujme opět BAλI. Potom 0σ(B), takže podle věty najdeme podprostory V0,V1 takové, že V0⊕︎V1=V, BV0V0, BV1=V1 a σ(B|V0)={0}. Nechť a1,,an0 je báze V0 a b1,,bn1 je báze V1. Označme R(a1an0b1bn1). Potom BR=(Ba1Bbn1)=R(B000B1) pro nějaké B0n0×n0,B1n1×n1. Podle indukčního předpokladu je R01B0R0=J1,R11B1R1=J2 pro R0,R1 regulární a J0,J1 v Jordanově tvaru. Definujme-li LR(R000R1), potom L1BL=J, kde J je v Jordanově tvaru. Z toho plyne L1A=J+λI, čímž je tvrzení dokázáno.

Algoritmy pro násobení matic

Násobení matic podle definice má složitost 𝒪︀(n3) (kde n je řád matice). Nešlo by to nějak rychleji? Ukážeme si Stressenův algoritmus, který má složitost 𝒪︀(nlog27)𝒪︀(n2.83). Jsou známé i algoritmy s lepší asymptotickou složitostí, ale v praxi se nepoužívají.

Pojďme si vynásobit dvě 2×2 matice:

(A1,1A1,2A2,1A2,2)(B1,1B1,2B2,1B2,2)=(C1,1C1,2C2,1C2,2).
Definujeme
N1A1,1B1,1,N2A1,2B2,1,S1A2,1+A2,2,S2S1A1,1,S3A1,1A2,1,S3A1,2S2,S5B1,2B1,1,S6B2,2S5,S7B2,2B1,2,S8B2,1S6,N3S1S5,N4S2S6,N5S3S7,N6S4B2,2,N7A2,2S8,S4N1+N4,S10S9+N3,S11S9+N5.
Potom platí
C1,1=N1+N2,C1,2=S10+N6,C2,1=S11+N7,C2,2=S10+N5.
Zdánlivě to vypadá, že jsme si zbytečně ztížili práci. Ale všimněme si, že jsme provedli jen 7 násobení, zatímco při postupu z definice by se jich provedlo 8. Pokud matice obsahuje čísla, tak je nám to k ničemu, ale pointa je v tom, že můžeme vzít matici 2n×2n, rozdělit ji na čtyři bloky a postup použít na ně. Ukážeme si, že když to takto budeme provádět rekurzivně, dosáhneme požadované složitosti.

Co když máme matici, jejíž řád není mocnina dvojky? Jedna možnost je doplnit ji nulami (static padding). Ale tím ji můžeme zvětšit skoro čtyřikrát. Lepší možnost je dynamic padding – matici sudého řádu vždy necháme být a matici lichého řádu doplníme o jeden řádek a sloupec.

Označme T(n) počet operací při použití algoritmu na matice řádu n=2k. Máme celkem 7 násobení a 15 sčítání, takže platí

T(n)=7T(n2)+15(n2)2.
Rekurzivním rozepsáním se základním případem T(1)=1 dostaneme
T(n)=7k+15i=1k7i122(ki)=7k+154n2(74)k1741=nlog27+5n2(nlog272+1)=6nlog275n2.
Zároveň vidíme, že ani není potřeba moc velké n na to, aby byl algoritmus rychlejší.