Ako nájsť korene charakteristického polynómu?

Moderators: Martin Sleziak, Ludovit_Balko, Martin Niepel, Tibor Macko

Post Reply
Martin Sleziak
Posts: 5518
Joined: Mon Jan 02, 2012 5:25 pm

Ako nájsť korene charakteristického polynómu?

Post by Martin Sleziak »

Na cvičení padla otázka, že ak vypočítam charakteristický polynóm, ako hľadať jeho korene. (Ak je stupňa väčšieho ako dva. Pre kvadratické polynómy korene viete hľadať.)

O hľadaní koreňov polynómov by sa toho dalo popísať veľa, ja tu napíšem len pár drobností; väčšina z nich sa vťahuje iba k prípadu, že som polynóm dostal ako charakteristický polynóm (t.j. determinant matice tvaru $xI-A$.)

Asi ako najrozumnejšiu vec napíšem toto:
Môžete počítať s tým, že zadanie je pravdepodobne spravené tak, aby sa dalo zrátať. Teda veľmi pravdepodobne medzi koreňmi budú nejaké malé celé čísla - oplatí sa zopár vyskúšať, napríklad $0$, $\pm1$, $\pm2$.
Ak si pozriete prednáškové úlohy a úlohy z cvičení, tak naozaj zadania príkladov na diagonalizáciu či Jordanov tvar boli vždy také, že tam vyšlo nejaké celé číslo alebo sa korene dali nájsť nejakým jednoduchým spôsobom. Čiže ak sa spoľahnete na to, že sme zadania vymysleli tak, aby neboli veľmi "škaredé", tak jedna rozumná vec je skúsiť dosadiť niekoľko celých čísel a zistiť, či medzi nimi nenájdete koreň.
Akonáhle nájdete nejaký koreň $\lambda$, tak pôvodný polynóm môžete vydeliť $(x-\lambda)$ a dostávate jednoduchšiu úlohu - už hľadáte korene polynómu nižšieho stupňa.

Aj keď toto je asi vec, ktorá bude fungovať dosť často, tak napíšem ešte nejakých pár ďalších poznámok.

Pár užitočných rád

Jedna rada je skúsiť charakteristický polynóm vypočítať takým spôsobom, aby sme priamo našli nejaký koreň.
Spoiler:
Napríklad ak pri výpočte takéhoto charakteristického polynómu urobím jednoduchú riadkovú úpravu
$$\chi_A(x)=
\begin{vmatrix}
x-1&-1 &-1 \\
-1 &x-1&-1 \\
0 &-1 &x-2\\
\end{vmatrix}=
\begin{vmatrix}
x-1& 0 &1-x\\
-1 &x-1&-1 \\
0 &-1 &x-2\\
\end{vmatrix}=
(x-1)\begin{vmatrix}
1 & 0 &-1 \\
-1 &x-1&-2 \\
0 &-1 &x-2\\
\end{vmatrix}=\dots
$$
tak som sa dostal do tvar, kde už mám jeden koreň $\lambda=1$ a zvyšok už bude iba polynóm druhého stupňa.

Podobne ak počítam charakteristický polyńóm, ktorý má tvar blokovej matice a viem, že
$$\begin{vmatrix}
A&0\\
B&C\end{vmatrix}=
\begin{vmatrix}
A&B\\
0&C\end{vmatrix}=
|A|\cdot|C|$$
môže mi to pomôcť.
Napríklad pri tomto charakteristickom polynóme by som to mohol postupovať takto:
$$
\chi_A(x)=
\begin{vmatrix}
x-3& 1&-1& 7\\
-9&x+3& 7& 1\\
0& 0&x-4& 8\\
0& 0&-2&x+4
\end{vmatrix}=
\begin{vmatrix}
x-3& 1 \\
-9 &x+3
\end{vmatrix}\cdot
\begin{vmatrix}
x-4& 8 \\
-2 &x+4
\end{vmatrix}
$$
Bez ohľadu na to, ako vyjdú tie dva menšie determinanty, je jasné, že budem mať $\chi_A(x)$ vyjadrené ako súčin dvoch polynómov druhého stupňa. Teda mi bude na nájdenie koreňov stačiť vyriešiť dve kvadratické rovnice.
(V tomto, konkrétnom prípade to vyjde veľmi jednoducho: $\chi_A(x)=x^4$.)

Ak mám v niektorom riadku/stĺpci jediný nenulový prvok, tak môžem urobiť Laplaceov rozvoj a znížiť stupeň polynómu.
$\chi_A(x)=
\begin{vmatrix}
x-2&-1 &-1 \\
-1 &x-2& 1 \\
0 & 0 &x-1\\
\end{vmatrix}=
(x-1)\begin{vmatrix}
x-2&-1 \\
-1 &x-2\\
\end{vmatrix}$
Takisto ak sa už dostanete k tvaru, že máte polynóm v tvare súčinu, je pomerne zbytočné ho roznásobovať; lebo vaším cieľom je nájsť korene, takže čím na viac faktorov mám polynóm rozložený, tým lepšie.
Spoiler:
Napríklad ak ste dostali, že $\chi_A(x)=(x-1)(x^2+x-2)$, tak prepísať ten istý polynóm ako $\chi_A(x)=x^3-3x+2$ mi pri hľadaní koreňa veľmi nepomôže. (Ak by mojím cieľom bolo robiť s tým polynómom niečo iné, tak to môže byť užitočné; v tomto prípade asi nie.)

Ak mám charakteristický polynóm zapísaný v tvare $(x-1)(x^2+x-2)$, tak hneď vidíme, že jeden koreň je jednotka a ostatné korene nájdem riešením kvadratickej rovnice $x^2+x-2$.
Niekedy sa dá vlastné číslo "uhádnuť" pomerne ľahko z matice aj bez počítania. Vieme, že $\lambda$ je vlastné číslo práve vtedy, keď matica $A-\lambda I$ je singulárna, t.j. nemá plnú hodnosť. Už ste prepočítali dosť veľa príkladov na výpočet hodnosti, takže aspoň v niektorých jednoduchých príkladoch z matice hneď vidíte, že nemá plnú hodnosť. (Napríklad ak má dva rovnaké riadky, niektorý riadok je násobok iného, jeden riadok je súčtom dvoch ostatných, atď. Podobne pre stĺpce.)
Takže rozumná možnosť je vyskúšať pozrieť sa na to, ako vyzerá matica $A-xI$ pre nejaké hodnoty $x$. (Opäť sa oplatí skúšať malé celé čísla.)
Ak zistím, že pre nejaké $x$ dostanem singulárnu maticu, tak som našiel vlastné číslo a teda poznám jeden koreň charakteristického polynómu.
Spoiler:
Zopár príkladov.
$A=
\begin{pmatrix}
3 & 2 &-5 \\
2 & 6 &-10 \\
1 & 2 &-3 \\
\end{pmatrix}
$
$A-2I=
\begin{pmatrix}
1 & 2 &-5 \\
2 & 4 &-10 \\
1 & 2 &-5 \\
\end{pmatrix}
$
Druhý riadok je násobok prvého, teda $A-2I$ je singulárna a $2$ je vlastné číslo matice $A$. Ešte ľahšie to vidno z toho, že prvý a tretí riadok sa zhodujú.

$B=
\begin{pmatrix}
-2 & 8 & 6 \\
-4 &10 & 6 \\
4 & 8 &-4 \\
\end{pmatrix}$
$B-2I=
\begin{pmatrix}
-4 & 8 & 6 \\
-4 & 8 & 6 \\
4 & 8 &-6 \\
\end{pmatrix}$
Všetky ostatné riadky sú násobky prvého teda $2$ je vlastné číslo. (Dokonca v tomto prípade hneď vidím, že $h(B-2I)=1$, čiže v Jordanovom tvare musia byť dva bloky k tejto vlastnej hodnote; je to teda aspoň dvojnásobný koreň charakteristického polynómu.)
Martin Sleziak
Posts: 5518
Joined: Mon Jan 02, 2012 5:25 pm

Re: Ako nájsť korene charakteristického polynómu?

Post by Martin Sleziak »

Nechcem pridávať veľa vecí navyše oproti tomu, čo ste preberali. Ale na druhej strane možno ak si tieto veci pozriete, tak môžu pomôcť pri hľadaní koreňov polynómov vyšších stupňov.

Takže spomeniem ešte, že:
* Hornerova schéma je celkom užitočný spôsob zápisu, ktorý urýchli dosadenie čísla do polynómu (a overenie či je to koreň): viewtopic.php?t=1092
* Ak má polynóm celočíselné koeficienty, tak vieme pomerne jednoduchým spôsobom nájsť všetky jeho racionálne korene: viewtopic.php?t=1091 (Špeciálne ak vedúci koeficient je $\pm1$, tak všetky racionálne korene musia byť celé čísla a tiež o nich vieme to, že delia absolútny člen nášho polynómu.)
Martin Sleziak
Posts: 5518
Joined: Mon Jan 02, 2012 5:25 pm

Re: Ako nájsť korene charakteristického polynómu?

Post by Martin Sleziak »

Vieme, že absolútny člen charakteristického polynómu je až na znamienko rovný determinantu.
Ak sa nám nedarí pri výpočte charakteristického polynómu, tak môžeme vyskúšať vypočítať determinant danej matice. (Keďže tam máme iba čísla a žiadne parametre, tak je možno menšia šanca, že sa pomýlime.)
A ak predpokladáme, že príklad je zadaný tak, že aspoň jedno vlastné číslo je celé, tak môžeme využiť to, že celé vlastné čísla sú delitele determinantu.

Napríklad skúsme takúto maticu:
$$A=
\begin{pmatrix}
5 &-1 & 3 \\
0 & 2 & 1 \\
-1 & 0 & 2 \\
\end{pmatrix}.
$$
Determinant je $|A|=27$.
Spoiler:
$\begin{vmatrix}
5 &-1 & 3 \\
0 & 2 & 1 \\
-1 & 0 & 2 \\
\end{vmatrix}=
\begin{vmatrix}
0 &-1 &13 \\
0 & 2 & 1 \\
-1 & 0 & 2 \\
\end{vmatrix}=
-\begin{vmatrix}
-1 &13 \\
2 & 1 \\
\end{vmatrix}=27
$
Vieme teda, že ak charakteristický polynóm má celočíselné korene, musia to byť delitele $27$, t.j. niektoré čísla spomedzi $\pm1,\pm3,\pm9,\pm27$.
Môžeme sa napríklad pre tieto čísla pozrieť na to, ako vyzerá matica $A-\lambda I$, že či tam niečo zbadáme.
Pre $\lambda=3$ dostaneme
$$A-3I=
\begin{pmatrix}
2 &-1 & 3 \\
0 &-1 & 1 \\
-1 & 0 &-1 \\
\end{pmatrix}.
$$
Vidíme, že to je singulárna matica:
Súčet druhého a tretieho stĺpca je prvý. (Čo zodpovedá tomu, že $(A-3I)(1,-1,-1)^T=\vec 0^T$.)
Ak k prvému riadku pripočítame dvakrát tretí, dostaneme druhý. (Čo zodpovedá tomu, že $(1,-1,2)(A-3I)=\vec 0$.)

Vidíme teraz, že $3$ je určite vlastné číslo. A ak sme nejako našli aj vlastné vektory k $3$, to nám môže pomôcť zjednodušiť výpočet charakteristického polynómu. (Alebo aj ak ho budeme počítať Sarrusovým pravidlom, tak teraz vopred vieme, že po úprave by sa malo dať nejako vyňať $t-3$.)

Linka na kontrolu: WolframAlpha.
Post Reply