UNIVERZITA PALACKÉHO V OLOMOUCI PŘÍRODOVĚDECKÁ FAKULTA Katedra matematické analýzy a aplikací matematiky
BAKALÁŘSKÁ PRÁCE
Vybrané problémy lineární algebry v programu Maple
Vedoucí bakalářské práce:
Vypracovala:
RNDr. Martina Pavlačková, Ph.D.
Vendula Tichá
Rok odevzdání: 2010
ME, 3. Ročník
Prohlášení Prohlašuji, že jsem bakalářskou práci zpracovala samostatně pod vedením RNDr. Martiny Pavlačkové, Ph.D. a uvedla jsem všechny použité zdroje.
V Olomouci dne 13. 4. 2010
Poděkování Děkuji vedoucí bakalářské práce RNDr. Martině Pavlačkové, Ph.D. za trpělivost a čas strávený pročítáním mé práce.
Obsah Úvod
5
1. Základy programu Maple.................................................................................................. 6 1.1 Práce v Maplu ............................................................................................................ 6 1.2 Knihovny linalg a LinearAlgebra .............................................................................. 7 2. Úlohy z lineární algebry a jejich řešení pomocí programu Maple ................................... 8 2.1 Matice ........................................................................................................................ 8 2.2 Determinanty ........................................................................................................... 14 2.3 Inverzní matice ........................................................................................................ 19 2.4 Charakteristická matice, charakteristický polynom a vlastní čísla .......................... 21 2.5 Kvadratické formy ................................................................................................... 23 2.6 Řešení soustav lineárních rovnic ............................................................................. 24 3. Využití poznatků z lineární algebry v jiných oborech .................................................... 32 3.1 Hessova matice a hessián ........................................................................................ 32 3.2 Řešení nehomogenních diferenciálních rovnic pomocí metody variace konstant .. 39 Závěr
47
Literatura a internetové zdroje
48
Úvod Lineární algebra je odvětví matematiky, které se zabývá vektory, vektorovými prostory, soustavami lineárních rovnic a lineárními transformacemi. Je důležitou součástí jak abstraktní algebry, tak funkcionální analýzy. Aplikovaná lineární algebra se využívá například v přírodních nebo sociálních vědách. Cílem mé bakalářské práce je studovat vybrané problémy lineární algebry a ukázat, jak je lze řešit s využitím programu Maple. Samotná práce je rozdělena do tří kapitol. V první kapitole jsou popsány základy programu Maple, zejména práce v Maplu a jeho knihovny týkající se lineární algebry. Ve druhé kapitole se věnuji vybraným úlohám z lineární algebry a tomu, jak je lze řešit pomocí programu Maple. Konkrétně zejména problematice týkající se matic, determinantů, vlastních čísel, kvadratických forem a řešení soustava lineárních rovnic. V práci uvedené teoretické poznatky ilustruji vlastními příklady řešenými pomocí programu Maple. V poslední, třetí kapitole se zabývám využitím poznatků z lineární algebry v jiných oborech, konkrétně při hledání extrémů funkcí více proměnných a při řešení nehomogenních diferenciálních rovnic pomocí metody variace konstant. I v této kapitole je teorie ilustrována na příkladech řešených pomocí programu Maple.
5
1 Základy programu Maple Maple je systém počítačové algebry pro výuku a využití matematiky v přírodovědných, technických a ekonomických oborech, který byl vyvinut na univerzitě ve Waterloo v Kanadě. Maple umožňuje provádět jak symbolické a numerické výpočty, tak vytvářet grafy funkcí a uchovávat je v souborech v počítači. Funkce používané v programu Maple pokrývají mnoho odvětví matematiky od základů diferenciálního a integrálního počtu, lineární algebry, až k řešení diferenciálních a diferenčních rovnic, diferenciální geometrii a logice.
1.1 Práce v Maplu Po spuštění programu se otevře nový dokument, který začíná znakem ” > ” (tzv. promptem), za nímž je umístěn kurzor. Za promptem napíšeme mapleovský příkaz a řádek ukončíme středníkem. Ukončení je nutné, protože jinak Maple očekává pokračování předchozího příkazu. Stiskneme-li ENTER, příkaz bude vykonán a kurzor se přesune za následující prompt. Pokud chceme následné vypsání potlačit, ukončíme příkaz dvojtečkou (místo středníkem). V případě, že chceme příkaz napsat na více řádků, stačí stisknout ENTER a středník napsat až na konci příkazu. Pokud za promptem napíšeme znak #, je veškerý text za # brán jako poznámka a Maple jej ignoruje. Tímto způsobem můžeme vkládat mezi mapleovské příkazy vysvětlující text. Ukončení práce v Maplu provedeme zapsáním příkazu Quit, done, stop (stačí bez středníku) a stisknutím klávesy ENTER.
6
1.2 Knihovny linalg a LinearAlgebra Maple obsahuje řadu speciálních knihoven. Knihovny linalg a LinearAlgebra obsahují funkce a příkazy, které pracují s poli reprezentující vektory a matice v Maplu. Příkaz with(linalg), resp. with(LinearAlgebra), zpřístupňuje funkce a příkazy z těchto speciálních knihoven. V následující tabulce si uvedeme základní maticové a vektorové operace a jejich značení v programu Maple.
Operace
Mapleovské značení
definování matice a vektoru
matrix, array, vector
sčítání matic
evalm(A+B)
násobení dvou matic
evalm(A&*B)
transponovaná matice
transpose(A)
výpočet determinantu matice A
det(A)
inverzní matice
evalm(A^(-1))
hodnost matice A
rank(A)
redukce A na Gaussův-Jordanův tvar
gaussjord(A)
Gaussova eliminace matice A
gausselim(A)
řešení soustavy Ax=b
linsolve(A,b)
charakteristická matice
CharacteristicMatrix
charakteristický polynom
CharacteristicPolynomial
vlastní čísla matice
eingenvalues
V jednotlivých kapitolách uvedeme podrobnější popis příslušných příkazů a jejich použití. Podrobnější informace o programu Maple může čtenář nalézt například v literatuře [2], [4] a [9].
7
2 Úlohy z lineární algebry a jejich řešení pomocí programu Maple V této kapitole se seznámíme se základními úlohami vyskytujícími se v lineární algebře a na konkrétních příkladech si ukážeme, jak lze dané úlohy řešit pomocí programu Maple. Při zpracování této kapitoly byly použity zejména zdroje [1], [5], [6], [8] a [10].
2.1 Matice Matice (anglicky matrix) je obdélníková tabulka čísel nebo určitých matematických objektů. Obecně obsahuje m řádků a n sloupců. Nejrozsáhlejší aplikace mají matice a determinanty při řešení systémů lineárních rovnic, ale využívají se také pro vyjádření obecné rotace vektorů, transformace vektorů od jedné báze k bázi jiné nebo k vyjádření operátorů v kvantové mechanice. Za zakladatele teorie matic je považován anglický matematik A. Cayley. Definice 1. Nechť T = (T,+,·) je číselné těleso, 𝑚, 𝑛 ℕ, 𝑎𝑖𝑗 T pro každé i = 1,..., 𝑚, j = 1,..., 𝑛. Potom se schéma
A=
𝑎11
𝑎12
⋯
𝑎1𝑛
𝑎21
𝑎22
…
𝑎2𝑛
⋮
⋮
⋱
⋮
𝑎𝑚1
𝑎𝑚2
⋯
𝑎𝑚𝑛
nazývá matice typu 𝑚 𝑛 nad T. Je-li 𝑎𝑖𝑗 prvek matice, pak číslo i nazveme řádkový index a číslo j sloupcový index tohoto prvku. Je-li r = min 𝑚, 𝑛 , pak řekneme, že prvky 𝑎11 , 𝑎22 , ..., 𝑎𝑟𝑟 tvoří hlavní diagonálu a prvky 𝑎1𝑛 , 𝑎2,𝑛−1 , ..., 𝑎𝑟,𝑛−(𝑟−1) tvoří vedlejší diagonálu matice A. Poznámka 1. Matici A typu 𝑚 𝑛 můžeme také někdy zapisovat v některém z následujících zkrácených tvarů A = 𝑎𝑖𝑗
𝓂𝓃
= 𝑎𝑖𝑗
𝓂 ,𝓃
8
= 𝑎𝑖𝑗
𝓂𝓃
= 𝑎𝑖𝑗
𝓂 ,𝓃
.
Definice 2. a) Matici A = 𝑎𝑖𝑗 typu 𝑛 𝑛 nazveme čtvercová matice stupně 𝑛. b) Čtvercovou matici nazveme diagonální, pokud všechny její prvky, které neleží na hlavní diagonále, jsou rovny 0. c) Diagonální matice se nazývá skalární, jestliže všechny její prvky ležící na hlavní diagonále jsou si rovny. d) Skalární matice stupně n, jejíž všechny prvky na hlavní diagonále jsou rovny 1, se nazývá jednotková matice stupně 𝑛. Značíme ji E𝑛 (popř. pokud je zřejmý typ matic, jenom E). Označení: Množinu všech matic typu 𝑚 𝑛 nad T značíme 𝑀𝑚 ×𝑛 (T) a množinu všech čtvercových matic stupně 𝑛 nad T značíme 𝑀𝑛 (T).
Definice 3. Jsou-li A = 𝑎𝑖𝑗 , B = 𝑏𝑖𝑗 dvě matice z 𝑀𝑚 ×𝑛 (T), pak řekneme, že matice A je rovna matici B, platí-li 𝑎𝑖𝑗 = 𝑏𝑖𝑗 pro každé i = 1,..., 𝑚, j = 1,..., 𝑛. Značíme A = B. Definice 4. Nechť A = 𝑎𝑖𝑗
𝑀𝑚 ×𝑛 (T). Potom součtem matic A a B
, B = 𝑏𝑖𝑗
rozumíme matici A + B = 𝑐𝑖𝑗 𝑀𝑚 ×𝑛 (T) takovou, že 𝑐𝑖𝑗 = 𝑎𝑖𝑗 + 𝑏𝑖𝑗 pro každé i = 1,..., 𝑚 a každé j = 1,..., 𝑛. Definice 5. Nechť 𝑐 T, A = 𝑎𝑖𝑗
𝑀𝑚 ×𝑛 (T). Potom (levým) součinem skaláru 𝑐 a
matice A rozumíme matici 𝑐A = 𝑐𝑎𝑖𝑗 𝑀𝑚 ×𝑛 (T).
Poznámka 2. Podobně je možno definovat pravý součin matice A a skaláru 𝑐 vztahem A𝑐 = 𝑎𝑖𝑗 𝑐 . Definice 6. Nechť A = 𝑎𝑖𝑗
𝑀𝑚 ×𝑛 (T), B = 𝑏𝑗𝑘
𝑀𝑛×𝑝 (T). Potom součinem matic
A a B (v tomto pořadí) rozumíme matici A ∙ B = AB = 𝑐𝑖𝑘 𝑀𝑚 ×𝑝 (T) takovou, že
9
𝑛
𝑐𝑖𝑘 =
𝑎𝑖𝑗 ∙ 𝑏𝑗𝑘 𝑗 =1
pro každé i = 1,..., 𝑚, k = 1,..., 𝑝. Poznámka 3. Je zřejmé, že matice A a B můžeme násobit jenom tehdy, je-li počet sloupců matice A stejný jako počet řádků matice B. Příklad 1. Uvažujme matice A = 𝑎𝑖𝑗 𝑎𝑖𝑗 = −1
𝑖+𝑗
2 ,3
, B = 𝑏𝑖𝑗
a C = 𝑐𝑖𝑗
2 ,3
takové, že
pro každé 𝑖 = 1, 2, 𝑗 = 1, 2, 3,
,
𝑏𝑖𝑗 = 𝑖 ∙ 𝑗, 𝑐𝑖𝑗 = −1
3 ,4
pro každé 𝑖 = 1, 2, 3, 𝑗 = 1, 2, 3, 4, 𝑖+𝑗
∙
1
pro každé 𝑖 = 1, 2, 𝑗 = 1, 2, 3.
,
𝑖+𝑗
V Maplu můžeme tyto matice zadat následovně pomocí příkazu matrix: > A:=matrix (2,3,(i,j)->(-1)^(i+j)); 1 A := -1
-1 1
1 -1
> B:=matrix (3,4,(i,j)->i*j);
1 B := 2 3
2 4 6
3 6 9
4 8 12
> C:=matrix (2,3,(i,j)->((-1)^(i+j))*(1/(i+j))); C :=
1 2 -1 3
-1 3 1 4
1 4 -1 5
Sečíst matice A a C můžeme v Maplu pomocí příkazu evalm a symbolu +: > evalm(A+C);
3 2 -4 3
-4 3 5 4 10
5 4 -6 5
Vynásobit matice A a B nebo C a B můžeme pomocí příkazu evalm a symbolů &* sloužícím k násobení: > AB:=evalm(A&*B); 2 AB := -2
4 -4
8 -8
6 -6
> CB:=evalm(C&*B); 7 12 CB := -13 30
7 6 -13 15
7 4 -13 10
7 3 -26 15
Vzhledem k typu matic A, B, C nemůžeme sčítat matice A a B, respektive B a C a vypočítat součiny B·C, B·A, A·C, C·A.
Definice 7. Je-li A = 𝑎𝑖𝑗 nazýváme matici AT = 𝑎𝑗𝑖
matice typu 𝑚 𝑛, potom maticí transponovanou k matici A typu 𝑛 𝑚, která vznikne z matice A vzájemnou záměnou
řádků a sloupců (tj. překlopením matice A podle hlavní diagonály). Příklad 2. Určete transponovanou matici k matici 𝐴=
1 3
5 9 0 7
8 . 6
V Maplu můžeme transponovanou matici najít pomocí příkazu transpose, ale nejdříve musíme otevřít knihovnu linalg pomocí příkazu with(linalg): > with(linalg): > A:=matrix([[1,5,9,8],[3,0,7,6]]); 1 A := 3
5 0
9 7
8 6
> Atrans:=transpose(A); 1 5 Atrans := 9 8
11
3 0 7 6
Definice 8. Řádkovým podprostorem určeným maticí A 𝑀𝑚 ×𝑛 (T) budeme rozumět podprostor v Tn generovaný řádky matice A.
Definice 9. Elementárními řádkovými transformacemi matice A nazýváme následující operace: 1. výměna libovolných dvou řádků v A; 2. vynásobení některého řádku v A prvkem z T různým od nuly; 3. přičtením libovolného násobku některého řádku z A k jinému řádku v A. Definice 10. Jsou-li A, B 𝑀𝑚 ×𝑛 (T), pak řekneme, že matice B je řádkově ekvivalentní s maticí A (značíme AB), může-li B vzniknout z A pomocí konečného počtu elementárních řádkových transformací. Poznámka 4. Je zřejmé, že jsou-li A, B, C 𝑀𝑚 ×𝑛 (T), pak platí a) AA, b) AB BA, c) (AB BC) AC. Můžeme proto v případě AB říkat, že matice A a B jsou řádkově ekvivalentní. Definice 11. Nechť je dána libovolná elementární řádková transformace čtvercové matice 𝑛-tého stupně. Potom maticí této elementární transformace rozumíme matici, která vznikne z jednotkové matice 𝑛-tého stupně použitím této transformace. Definice 12. Je-li A 𝑀𝑚 ×𝑛 (T), pak vedoucím prvkem nenulového řádku 𝑎𝑖 matice A rozumíme první nenulový prvek v 𝑎𝑖 . Definice 13. Řekneme, že matice A je redukovaná, je-li vedoucí prvek každého nenulového řádku v A roven 1 a jestliže v každém sloupci matice A, který obsahuje vedoucí prvek některého řádku, jsou všechny zbývající prvky rovny 0.
12
Definice 14. Redukovanou matici, která splňuje podmínky a) všechny nulové řádky jsou až za všemi nenulovými řádky, b) jsou-li 𝑎𝑖 , 𝑎𝑗 , 𝑖 < 𝑗, nenulové řádky, které mají své vedoucí prvky ve sloupcích 𝑘𝑖 , 𝑘𝑗 , pak 𝑘𝑖 < 𝑘𝑗 , nazýváme redukovaná trojúhelníková matice. Věta 1. Každá matice je řádkově ekvivalentní s některou redukovanou trojúhelníkovou maticí. Důkaz tohoto tvrzení lze nalézt například v [5]. Definice 15. Hodností matice A 𝑀𝑚 ×𝑛 (T) rozumíme dimenzi řádkového podprostoru v Tn určeného maticí A (hodnost matice A budeme značit A ).
Poznámka 5. a) Podle definice řádkového podprostoru je hodnost matice A rovna maximálnímu počtu jejich lineárně nezávislých řádků, tedy A ≤ 𝑚. b) Řádkově ekvivalentní matice mají stejnou hodnost. c) Hodnost matice A je rovna počtu nenulových řádků libovolné redukované trojúhelníkové matice, která je řádkově ekvivalentní s A. Příklad 3. Vypočítejte hodnost matice 𝐴=
4 −3 1 0 2 0 2 4 . −2 6 1 1 1 0 1 2
Nejdříve otevřeme knihovnu linalg, nadefinujeme matici A pomocí příkazu array: > with(linalg): > A := array( [[4,-3,1,0],[2,0,2,4],[-2,6,1,1],[1,0,1,2]] );
13
4 2 A := -2 1
-3 0 6 0
1 2 1 1
0 4 1 2
V Maplu hodnost matice A určíme pomocí příkazu rank: > h(A):=rank(A); h( A ) := 3
Pro kontrolu převedeme matici A na trojúhelníkový tvar pomocí příkazu gaussjord: > gaussjord(A,'r');
1
0
0
0
1
0
0
0
1
0
0
0
-5 3 -1 11 3 0
Po převedení na trojúhelníkový tvar získáme matici se 3 nenulovými řádky, což odpovídá vypočtené hodnosti.
2.2 Determinanty V lineární algebře je determinant zobrazení, které přiřadí každé čtvercové matici A skalár detA. Determinantem čtvercové matice řádu n přitom nazýváme součet všech součinů n prvků této matice takových, že v žádném z uvedených součinů se nevyskytují dva prvky z téhož řádku ani z téhož sloupce. Každý z těchto součinů přitom ve výsledném součtu vystupuje se znaménkem + nebo – podle jistých pravidel. Determinanty mají využití při řešení soustav lineárních rovnic, v integrálním počtu nebo při hledání extrémů funkcí více proměnných. Abychom mohli nadefinovat pojem determinant, je nutné nejprve vědět, co je permutace množiny, respektive znaménko této permutace.
14
Definice 16. Je-li A = {𝑎1 , 𝑎2 ,..., 𝑎𝑛 }, kde n ≥ 1, konečná množina, potom pořadím množiny A nazveme libovolnou posloupnost = (𝑎𝑘 1 , 𝑎𝑘 2 , … , 𝑎𝑘 𝑛 ) prvků z A takovou, že každý prvek z množiny A se v vyskytuje právě jednou. Poznámka 6. Pro další úvahy bude nejpřehlednější, když pro každé n ≥ 1 budeme pracovat s množinou A = {1,2,...,n}. Definice 17. Základním pořadím na množině A = {1,2,...,n} rozumíme pořadí = (1,2,...,n). Poznámka 7. Permutací na množině A rozumíme každou bijekci A na A . 𝑃=
𝑖1 𝑃 𝑖1
𝑖2 𝑃 𝑖2
𝑖𝑛 … … 𝑃 𝑖𝑛
.
Každou permutaci 𝑃 na množině A je možno zapsat pomocí dvou pořadí ve tvaru 𝜋1 𝑃 = 𝜋 . 2 Definice 18. Je-li = (𝑘1 , 𝑘2 ,..., 𝑘𝑛 ) pořadí, pak řekneme, že prvky 𝑘𝑖 a 𝑘𝑗 tvoří v pořadí inverzi, platí-li 𝑖 < 𝑗 a 𝑘𝑖 > 𝑘𝑗 . Poznámka 8. Je-li pořadí, pak počet inverzí v označíme 𝜋 . Definice 19. Znaménkem pořadí rozumíme číslo 𝑠𝑔𝑛 𝜋 = −1
𝜋
. Je-li 𝑠𝑔𝑛 𝜋 = 1 pak
se pořadí nazývá sudé, je-li 𝑠𝑔𝑛 𝜋 = − 1, pak se nazývá liché. Definice 20. Znaménkem permutace 𝑃=
𝑖1 𝑘1
𝑖2 𝑘2
… 𝑖𝑛 … 𝑘𝑛
𝜋1 = 𝜋 2
rozumíme číslo 𝑠𝑔𝑛 𝑃, které se rovná +1, platí-li 𝑠𝑔𝑛 𝜋1 = 𝑠𝑔𝑛 𝜋2 , a rovná se −1, platí-li 𝑠𝑔𝑛 𝜋1 = −𝑠𝑔𝑛 𝜋2 . Permutace 𝑃 se nazývá sudá, je-li 𝑠𝑔𝑛 𝑃 = 1; v opačném případě se permutace 𝑃 nazývá lichá. 15
Definice 21. Je-li 𝜋 = 𝑖1 , 𝑖2 , … , 𝑖𝑛
1 𝑘1
pořadí a 𝑃 =
{1,2,...,n}, pak řekneme, že pořadí 𝜋 ′ = 𝑘𝑖1 , 𝑘𝑖2 , … , 𝑘𝑖𝑛
2 𝑘2
… 𝑛 … 𝑘𝑛
permutace na
vznikne z pořadí pomocí
permutace 𝑃. Definice 22. Nechť
A=
𝑎11
𝑎12
⋯
𝑎1𝑛
𝑎21
𝑎22
…
𝑎2𝑛
⋮
⋮
⋱
⋮
𝑎𝑛1
𝑎𝑛2
⋯
𝑎𝑛𝑛
je čtvercová matice stupně 𝑛 nad číselným tělesem T. Determinantem matice A pak rozumíme číslo detA z tělesa T takové, že detA =
𝑠𝑔𝑛 𝑃 ∙ 𝑎1𝑘 1 ∙ 𝑎2𝑘 2 ∙ … ∙ 𝑎𝑛𝑘 𝑛 , 𝑃
kde sčítáme přes všechny permutace 𝑃=
1 𝑘1
2 𝑘2
… 𝑛 1 = … 𝑘𝑛 𝑃 1
2 𝑃 2
𝑛 … … 𝑃 𝑛
množiny {1,2,...,n}. Každý ze součinů 𝑎1𝑘 1 ∙ 𝑎2𝑘 2 ∙ … ∙ 𝑎𝑛𝑘 𝑛 nazýváme člen determinantu detA. Dále se budeme zabývat tím, jak lze determinant vypočítat snáze než jen podle výše uvedené definice. Věta 2. Má-li čtvercová matice A v některém řádku samé nuly, pak detA = 0. Věta 3. Má-li matice A 𝑀𝑛 (T) všechny prvky pod hlavní diagonálou rovny nule, potom detA je roven součinu 𝑎11 𝑎22 … 𝑎𝑛𝑛 prvků na hlavní diagonále. Důkazy těchto tvrzení lze nalézt například v [5].
16
je matice typu 𝑚 𝑛. Potom každou matici, která vznikne
Definice 23. Nechť A = 𝑎𝑖𝑗
z matice A vynecháním některých řádků a některých sloupců, nazýváme dílčí maticí matice A. Je-li dílčí matice matice A čtvercová, potom její determinant nazýváme subdeterminantem matice A. 𝑀𝑛 (T), potom subdeterminant dílčí matice stupně 𝑛 – 1
Definice 24. Je-li A = 𝑎𝑖𝑗
vzniklé vynecháním 𝑖-tého řádku a 𝑗-tého sloupce A nazýváme minor matice A příslušný k prvku 𝑎𝑖𝑗 a značíme jej 𝑀𝑖𝑗 . Algebraickým doplňkem prvku 𝑎𝑖𝑗 rozumíme prvek 𝐴𝑖𝑗 = −1
𝑖+𝑗
𝑀𝑖𝑗 .
Věta 4. (Laplaceova) Nechť A = 𝑎𝑖𝑘 𝑀𝑛 (T). Potom a) pro každé 𝑖 = 1, … , 𝑛 platí 𝑛
𝑎𝑖𝑘 𝐴𝑖𝑘 = det𝐴; 𝑘=1
b) pro každé 𝑗 = 1, … , 𝑛, 𝑖 ≠ 𝑗 platí 𝑛
𝑎𝑖𝑘 𝐴𝑗𝑘 = 0. 𝑘=1
Důkaz Laplaceovy věty lze nalézt například v [5] a [6]. Příklad 4. Vypočítejte determinant matice
𝐵=
5 3 1 3 5
8 5 −5 4 4
9 1 7 7 9 3 3 2 −6 . 1 −4 5 2 −3 5
V Maplu můžeme determinant vypočítat pomocí příkazu det(B), ale nejdříve musíme otevřít knihovnu linalg pomocí příkazu with(linalg): > with(linalg): > B:=matrix([[5,8,9,1,7],[3,5,7,9,3],[1,-5,3,2,-6],[3,4,1,4,5],[5,4,2,-3,5]]);
17
5 3 B := 1 3 5
8 5 -5 4 4
9 7 3 1 2
1 9 2 -4 -3
7 3 -6 5 5
> detB:=det(B); detB := -25
Příklad 5. Vypočítejte determinant matice 0 𝐴 = − sin 𝑦 cos 𝑦
− sin 𝑥 cos 𝑥 cos 𝑦 cos 𝑥 sin 𝑦
cos 𝑥 sin 𝑥 cos 𝑦 sin 𝑥 sin 𝑦
.
Nejdříve si otevřeme knihovnu linalg, nadefinujeme matici A a pomocí příkazu det(A) vypočítáme determinant matice A: > with(linalg): > A:=matrix([[0,-sin(x),cos(x)],[sin(y),cos(x)*cos(y), sin(x)*cos(y)],[cos(y),cos(x)*sin(y),sin(x)*sin(y)]]);
0 A := sin( y ) cos( y )
sin( x ) cos( x ) cos( y ) cos( x ) sin( y )
cos( x ) sin( x ) cos( y ) sin( x ) sin( y )
> detA:=det(A);
detA := sin( x )2 sin( y )2cos( x )2 sin( y )2sin( x )2 cos( y )2cos( x )2 cos( y )2 Maplem vypočítaný determinant A můžeme ještě upravit: sin 𝑦
2
− cos 𝑥
= −sin 𝑥
2
sin 𝑦
𝑑𝑒𝑡𝐴 = − sin 𝑥
2
= − sin 𝑥
2
2
2
sin 𝑦
2
+ cos 𝑦
+ cos 𝑥
2
− sin 𝑥 2
2
cos 𝑦
− cos 𝑥
2
2
− cos 𝑥
sin 𝑦
2
2
cos 𝑦
+ cos 𝑦
2
= −1
Podle hodnoty determinantu dělíme čtvercové matice na regulární a singulární.
Definice 25. a) Matice A 𝑀𝑛 (T) se nazývá regulární, platí-li det𝐴 ≠ 0. 18
2
b) Matice A 𝑀𝑛 (T) se nazývá singulární, platí-li det𝐴 = 0.
Příklad 6. Určete, pro jaká 𝑎, 𝑏 ∈ 𝑅 je matice 2 𝑎 𝐴 = 1 −𝑏 2 0 1
−𝑏 2 −2
regulární. Nejdříve si otevřeme knihovnu linalg, nadefinujeme matici A a vypočítáme determinant matice A (v závislosti na a, b): > with(linalg): > A:=matrix([[2,a,-b],[1,-b^2,2],[0,1,-2]]); 2 A := 1 0
a b 1
2
b 2 -2
> detA:=det(A);
detA := 4 b242 ab V Maplu můžeme pomocí příkazu solve zjistit, pro jaké a je matice A singulární nebo regulární: > a:=solve(4*b^2-4+2*a-b=0,a);
1 a := 2 b22 b 2 1
Matice je tedy singulární v případě, že 𝑎 = −2𝑏 2 + 2 𝑏 + 2, kde b je libovolné reálné číslo. V ostatních případech je regulární.
2.3 Inverzní matice Inverzní matice k dané matici je taková matice, která po vynásobení s původní maticí dá jednotkovou matici. Výpočet inverzní matice je důležitý při řešení řady úloh z lineární algebry, statistiky a dalších oborů aplikované matematiky. 19
Definice 26. Inverzní maticí k čtvercové matici A nazýváme takovou matici A−1 stejného typu, pro kterou platí AA−1 = A−1 A = E. Věta 5. Je-li A matice z 𝑀𝑛 (T), potom k ní existuje inverzní matice A−1 tehdy a jen tehdy, je-li matice A regulární. Věta 6. Jsou-li A, B regulární matice z 𝑀𝑛 (T), pak platí AB
−1
= B −1 A−1 .
Věta 7. Pro inverzní matici platí: 𝑑𝑒𝑡𝐴−1 =
1 . 𝑑𝑒𝑡𝐴
Věta 8. Je-li A 𝑀𝑛 (T) regulární, pak je možno přejít pomocí elementárních řádkových transformací od matice A k matici E. Přitom pomocí stejných transformací přejdeme od matice E k matici A−1 . Důkazy uvedených tvrzení jsou uvedeny například v [1], [5], [6] a [8]. Příklad 7. Určete inverzní matici k matici 2 −1 3 A = 1 3 −2 4 2 −1 a ověřte, že matice A splňuje vztah uvedený ve Větě 7. V Maplu můžeme inverzní matici zadat pomocí příkazu evalm(A^(-1)): > A:=matrix([[2,-1,3],[1,3,-2],[4,2,-1]]);
2 A := 1 4
-1 3 2
> Ainv:=evalm(A^(-1));
20
3 -2 -1
Ainv :=
-1 21 1 3 10 21
-5 21 2 3 8 21
1 3 -1 3 -1 3
Pomocí násobení matic ověříme, že je výpočet správně: > AAinv:=evalm(A&*Ainv);
1 AAinv := 0 0
0 1 0
0 0 1
Abychom ověřili, že A a vypočtená inverzní matice splňují rovnost z Věty 7, vypočítáme jejich determinanty. > with(linalg): > det(A); -21
> det(Ainv); -1 21
2.4 Charakteristická matice, charakteristický polynom a vlastní čísla Vlastní čísla a vlastní vektory hrají důležitou roli nejen v lineární algebře a funkcionální analýze, ale také například v kvantové fyzice. Definice 27. Nechť A = 𝑎𝑖𝑗 𝑀𝑛 (T). Pak matice A − 𝜆𝐸 𝑀𝑛 (T), kde 𝜆 je parametr, se nazývá charakteristická matice k matici A. Poznámka 9: Matice A − 𝜆𝐸 je tedy ve tvaru
21
A − 𝜆𝐸 =
𝑎11 − 𝜆 𝑎21 ⋮ 𝑎𝑛1
𝑎12 𝑎22 − 𝜆 ⋮ 𝑎𝑛2
⋯ ⋯ ⋱ ⋯
𝑎1𝑛 𝑎2𝑛 . ⋮ 𝑎𝑛𝑛 − 𝜆
Definice 28. Charakteristickým polynomem matice A = determinant
charakteristické
matice
A − 𝜆𝐸.
Jeho
𝑎𝑖𝑗
𝑀𝑛 (T) rozumíme
kořeny se
nazývají
vlastní
(charakteristická) čísla matice A. Píšeme 𝑐A 𝜆 = det A − 𝜆𝐸 . Příklad 8. Najděte charakteristickou matici, charakteristický polynom a vlastní čísla matice 4 𝑀 = −2 5
0 2 1 −1 . 0 2
Pomocí příkazu with(LinearAlgebra) si otevřeme příslušnou knihovnu a nadefinujeme matici M: > with(LinearAlgebra): > M := <<4,-2,5>|<0,1,0>|<2,-1,2>>;
4 M := -2 5
0 1 0
2 -1 2
V Maplu můžeme charakteristickou matici zadat pomocí příkazu CharacteristicMatrix: > CharacteristicMatrix(M,lambda);
4 -2 5
0 1 0
2 -1 2
Charakteristický polynom můžeme zadat pomocí příkazu CharacteristicPolynomial: > CharacteristicPolynomial(M,lambda);
37 24 2 Kořeny charakteristického polynomu jsou vlastní čísla. V Maplu je můžeme najít například pomocí příkazu solve: 22
> solve(%,lambda); 1, 3 11 , 3 11
Ověříme výpočet pomocí příkazu Eingenvalues, který slouží k hledání vlastních čísel: > Eigenvalues(M);
1 3 11 3 11
2.5 Kvadratické formy Kvadratická forma je zúžením bilineární formy. Jde o zobrazení jen jednoho vektoru, který však představuje oba argumenty příslušné bilineární formy. Kvadratické formy jsou ústředním matematickým aparátem vyskytující se například v teorii čísel, Riemanově geometrii (jako křivosti křivek) a mnoha dalších oblastech. Definice 29. Nechť A = 𝑎𝑖𝑗 , 𝑖, 𝑗 = 1, … , 𝑛 je symetrická matice, ∈ ℝ𝑛 . Řekneme, že kvadratická forma 𝑛
𝑃 = 𝐴, =
𝑎𝑖𝑗 𝑖 𝑗 𝑖,𝑗 =1
určená maticí A je pozitivně (negativně) semidefinitní, jestliže 𝑃() ≥ 0 (𝑃() ≤ 0), pro každé ∈ ℝ𝑛 . Jestliže nastane rovnost pouze pro = 0, řekneme, že forma 𝑃 je pozitivně (negativně) definitní. Jestliže existují , ∈ ℝ𝑛 takové, že 𝑃 < 0 a 𝑃 > 0, řekneme, že kvadratická forma 𝑃 je indefinitní. Často místo o definitnost, resp. indefinitnosti kvadratické formy 𝑃 mluvíme o definitnosti, resp. indefinitnosti matice A. Věta 9. Kvadratická forma 𝑃 určená symetrickou maticí A = 𝑎𝑖𝑗 , 𝑛
𝑃 = 𝐴, =
𝑎𝑖𝑗 𝑖 𝑗 𝑖,𝑗 =1
23
je pozitivně (negativně) definitní, právě když všechna vlastní čísla matice A jsou kladná (záporná). Forma 𝑃 je pozitivně (negativně) semidefinitní, právě když všechna vlastní čísla jsou nezáporná (nekladná). Věta 10. Kvadratická forma 𝑃 je pozitivně definitní, právě když jsou všechny hlavní minory matice A, tj. determinanty 𝑎11
𝑎11 , 𝑎 21
𝑎11 𝑎12 𝑎 𝑎22 , 21 𝑎31
𝑎12 𝑎22 𝑎32
𝑎11 𝑎13 𝑎21 𝑎23 , … , ⋯ 𝑎33 𝑎𝑛1
𝑎12 𝑎22 ⋯ 𝑎𝑛2
⋯ ⋯ ⋯ ⋯
𝑎1𝑛 𝑎2𝑛 ⋯ = det𝐴 𝑎𝑛𝑛
kladné. Kvadratická forma 𝑃 je negativně definitní, právě když hlavní minory střídají znaménko, počínajíc záporným. Důkazy uvedených tvrzení lze nalézt například v [5].
2.6 Řešení soustav lineárních rovnic Řešení soustav lineárních rovnic je úloha, která se velmi často vyskytuje nejen při řešení úloh v různých oblastech matematiky, ale také v jiných vědních disciplínách. Definice 30. Je-li T číselné těleso, pak lineárním polynomem o 𝑛 proměnných nad T rozumíme každé zobrazení 𝑓 = 𝑇 𝑛 → 𝑇 takové, že 𝑛
𝑓 𝑥1 , … , 𝑥𝑛 = 𝑎1 𝑥1 + ⋯ + 𝑎𝑛 𝑥𝑛 =
𝑎𝑖 𝑥𝑖 , 𝑖=1
kde 𝑎1 , … , 𝑎𝑛 ∈ T.
Definice 31. Nechť 𝑛
𝑎𝑖 𝑥𝑖 𝑖=1
je lineární polynom nad tělesem T, 𝑏 ∈ 𝑇. Potom úloha určit všechny uspořádané 𝑛-tice 𝜉1 , … , 𝜉𝑛 ∈ 𝑇 𝑛 , pro které platí 24
𝑛
𝑎𝑖 𝜉𝑖 = 𝑏, 𝑖=1
se nazývá lineární rovnice o 𝑛 neznámých nad T. Každá 𝑛-tice 𝜉1 , … , 𝜉𝑛 ∈ 𝑇 𝑛 , pro kterou nastane rovnost 𝑛
𝑎𝑖 𝜉𝑖 = 𝑏, 𝑖=1
se nazývá řešení této rovnice. Definice 32. Nechť 𝑛
𝑛
𝑎1𝑖 𝑥𝑖 , … , 𝑖=1
𝑎𝑚𝑖 𝑥𝑖 𝑖=1
jsou lineární polynomy nad T, 𝑏1 , … , 𝑏𝑚 ∈ 𝑇. Pak úloha určit všechny uspořádané 𝑛-tice 𝜉1 , … , 𝜉𝑛 ∈ 𝑇 𝑛 , pro které platí 𝑛
𝑎1𝑖 𝜉𝑖 = 𝑏1 𝑆
𝑅1
…𝑖=1 …………… 𝑛
𝑎𝑚𝑖 𝜉𝑖 = 𝑏𝑚
𝑅𝑚
𝑖=1
se nazývá soustava 𝑚 lineárních rovnic o 𝑛 neznámých nad T. Pokud platí 𝑏𝑖 = 0 pro každé 𝑖 = 1, … , 𝑚, pak se soustava nazývá homogenní, v opačném případě se nazývá nehomogenní. Definice 33. Je-li 𝑆 soustava lineárních rovnic z Definice 32, potom matici 𝑎11 𝑎21 A= ⋮ 𝑎𝑚1
𝑎12 𝑎22 ⋮ 𝑎𝑚2
⋯ ⋯ ⋱ ⋯
𝑎1𝑛 𝑎11 𝑎2𝑛 𝑎21 ⋮ , resp. ⋮ 𝑎𝑚𝑛 𝑎𝑚1
𝑎12 𝑎22 ⋮ 𝑎𝑚2
⋯ ⋯ ⋱ ⋯
𝑎1𝑛 𝑎2𝑛 ⋮ 𝑎𝑚𝑛
𝑏1 𝑏2 ⋮ 𝑏𝑚
nazýváme maticí soustavy 𝑆 , resp. rozšířenou maticí soustavy 𝑆 . Poznámka 10. a) Soustava 𝑆 je jednoznačně určena (až na označení neznámých) pomocí své rozšířené matice. 25
b) Označíme-li 𝜉1 𝜉 = ⋮ 𝜉𝑛 𝑇
𝑏1 a 𝑏 = ⋮ , 𝑏𝑚 𝑇
pak soustavu 𝑆 můžeme maticově zapsat ve tvaru A𝜉 𝑇 = 𝑏 𝑇 . Řešením této soustavy pak bude každý vektor 𝑢 ∈ 𝑇 𝑛 , pro který platí A𝑢 𝑇 = 𝑏 𝑇 . Poznámka 11. Pro označení rozšířené matice soustavy 𝑆 budeme používat symbol (A, 𝑏 𝑇 ). Definice 34. Dvě soustavy lineárních rovnic o 𝑛 neznámých A𝜉 𝑇 = 𝑏 𝑇 a B𝜂 𝑇 = 𝑐 𝑇 nad T se nazývají ekvivalentní, mají-li stejné množiny řešení. Definice 35. Soustava lineárních rovnic A𝜉 𝑇 = 𝑏 𝑇 nad T se nazývá řešitelná, existuje-li alespoň jedno její řešení. Věta 11. (Frobeniova věta) Nehomogenní soustava lineárních rovnic A𝜉 𝑇 = 𝑏 𝑇 je řešitelná tehdy a jen tehdy, platí-li h(A) = h((A, 𝑏 𝑇 )). Věta 12. Nechť A𝜉 𝑇 = 𝑏 𝑇 je soustava 𝑚 lineárních rovnic o 𝑛 neznámých nad tělesem T, splňující h(A) = h((A, 𝑏 𝑇 )). Platí-li h(A) = 𝑛, pak existuje právě jedno řešení této soustavy. Platí-li h(A) < 𝑛, pak má soustava nekonečně mnoho řešení, závislých na 𝑛 − A parametrech. Důkazy těchto tvrzení lze nalézt například v [1] a [5]. Při hledání řešení soustav lineárních rovnic se nejčastěji používají dvě metody – Gaussova eliminační metoda a Cramerovo pravidlo.
26
Gaussova eliminační metoda: Nechť A𝜉 𝑇 = 𝑏 𝑇 je soustava 𝑚 lineárních rovnic o 𝑛 neznámých, jejíž rozšířená matice je 𝑎11 𝑎21 ⋮ 𝑎𝑚1
A, 𝑏 𝑇 =
𝑎12 𝑎22 ⋮ 𝑎𝑚2
⋯ ⋯ ⋱ ⋯
𝑎1𝑛 𝑎2𝑛 ⋮ 𝑎𝑚𝑛
𝑏1 𝑏2 . ⋮ 𝑏𝑚
Předpokládejme, že 𝑎11 ≠ 0. (Pokud by tomu tak nebylo, můžeme toho dosáhnout 𝑎
záměnou řádků.) Pro každé 𝑘 = 2, … , 𝑚 přičteme ke k-tému řádku matice − 𝑎 𝑘1 -násobek 11
1. řádku této matice. Ve vzniklé matici jsou všechny prvky 1. sloupce s výjimkou 1. řádku rovny nule. Z každé soustavy můžeme vypustit každou rovnici tvaru 0 = 0, protože její množinou řešení je 𝑇 𝑛 . Výsledná matice je tedy ve tvaru 𝑎11 0 ⋮ 0
𝑎12 ′ 𝑎22 ⋮ ′ 𝑎𝑟2
⋯ 𝑎1𝑛 𝑏1 ′ ⋯ 𝑎2𝑛 𝑏2′ ⋱ ⋮ ⋮ , ′ ⋯ 𝑎𝑟𝑛 𝑏𝑟′
kde 𝑟 ≤ 𝑚. ′ Předpokládejme, že 𝑎22 ≠ 0. (Jestliže tomu tak není a je-li alespoň jedno z čísel ′ ′ 𝑎22 , … , 𝑎𝑟2 nenulové, pak toho opět můžeme dosáhnout záměnou řádků.) Jsou-li všechna ′ ′ čísla 𝑎22 , … , 𝑎𝑟2 rovna nule, pak můžeme přečíslovat sloupce, ovšem ve výsledku se 𝑎 𝑗′ 2
musíme vrátit k původnímu označení. Pro každé 𝑗 = 3, … , 𝑟 přičteme − 𝑎 ′
22
-násobek
druhého řádku nové matice k j-tému řádku této matice. Opět vynecháme všechny řádky, které obsahují samé nuly. Ve výsledku dostaneme matici, v jejímž 2. sloupci jsou všechny prvky počínaje 3. řádkem rovny nule. Tímto způsobem pokračujeme tak dlouho, až dojdeme k matici tvaru 𝑎11 0 ⋮ 0
𝑎12 ′ 𝑎22 ⋮ 0
𝑎13 ′ 𝑎23 ⋮ 𝑐
⋯ ⋯ ⋱ ⋯
𝑎1𝑛 ′ 𝑎2𝑛 ⋮ 𝑐𝑛
𝑏1 𝑏2′ , ⋮ 𝑑
kde ≤ 𝑛.
Z rovnice 𝑐 𝜉 + ⋯ + 𝑐𝑛 𝜉𝑛 = 𝑑 ,
27
která odpovídá poslednímu řádku výsledné matice, vyjádříme neznámou
𝜉 pomocí
neznámých 𝜉+1 , … , 𝜉𝑛 . Z předposlední rovnice pak analogicky vyjádříme neznámou 𝜉−1 , atd., až z první rovnice vypočítáme neznámou 𝜉1 . Přitom je zřejmé, že pokud 𝑐𝑛 ≠ 0 a = 𝑛, pak má soustava odpovídající poslední matici jediné řešení, zatímco v případě < 𝑛 mají tyto soustavy nekonečně mnoho řešení, která závisejí na 𝑛 − parametrech 𝜉+1 , … , 𝜉𝑛 . (Za tyto parametry můžeme dosazovat libovolná čísla z T.) Věta 13. (Cramerovo pravidlo) Nechť A𝜉 𝑇 = 𝑏 𝑇 je soustava 𝑛 lineárních rovnic o 𝑛 neznámých (𝑛 ≥ 1) nad T taková, že detA ≠ 0. Potom pro každé 𝑗 = 1, … , 𝑛 platí detA𝑗 , detA
𝜉𝑗 =
kde Aj je matice, která vznikne z A nahrazením 𝑗-tého sloupce vektorem 𝑏 𝑇 . Důkaz tohoto tvrzení lze nalézt například v [5]. Příklad 9. Najděte řešení soustavy rovnic v závislosti na parametru p: 𝑝𝑥1 + 𝑥2 + 𝑥3 = 1 𝑥1 + 𝑝𝑥2 + 𝑥3 = 1 𝑥1 + 𝑥2 + 𝑝𝑥3 = 𝑝2 . Nejprve si otevřeme knihovnu linalg a definujeme matici A a vektor b pomocí příkazu vector: > with(linalg): > A:=matrix([[p,1,1],[1,p,1],[1,1,p]]);
p A := 1 1
1 p 1
1 1 p
> b:=vector([1,1,p^2]);
b := [ 1, 1, p2 ] Pro zápis zadání použijeme rozšířenou matici soustavy: > Ab:=matrix([[p,1,1,1],[1,p,1,1],[1,1,p,p^2]]); 28
p Ab := 1 1
1 p
1 1
1
p
1 1 p2
Pro provedení Gaussovy eliminace použijeme v Maplu příkaz gausselim: > gausselim(A); p 0 0
p 1 p 2p 2p
1
1
p1 p
2
0
> gausselim(Ab); p 0 0
1
1
p1 p
p 1 p
0
2p 2p
p 1 p 2p 3p 2 1
2
3
Je-li 2 − 𝑝2 − 𝑝 = 0, pak není soustava jednoznačně řešitelná. Kořeny polynomu 2 − 𝑝2 − 𝑝 určíme pomocí příkazu solve: > solve(2-p^2-p=0,p); -2, 1
Řešení pro p = -2 neexistuje, protože po provedení Gaussovy eliminace zjistíme, že nejsou splněny předpoklady Frobeinovy věty: > p:=-2; p := -2
> A:=matrix([[p,1,1],[1,p,1],[1,1,p]]);
-2 A := 1 1
1 -2 1
1 1 -2
> Ab:=matrix([[p,1,1,1],[1,p,1,1],[1,1,p,p^2]]);
-2 Ab := 1 1
1 -2 1
> gausselim(A);
29
1 1 -2
1 1 4
-2 0 0
1 3 2 0
1 -3 2 0
> h(A):=rank(A); h( A ) := 2
> gausselim(Ab); -2 0 0
1 -3 2 0
1 3 2 6
1 3 2 0
> h(Ab):=rank(Ab); h( Ab ) := 3
Je zřejmé, že pro p = -2 je 𝐴 = 2 a 𝐴𝑏 = 3, z čehož plyne, že soustava nemá řešení. Pro p = 1 má soustava nekonečně mnoho řešení, protože po provedení Gaussovy eliminace vychází: > p:=1; p := 1
> A:=matrix([[p,1,1],[1,p,1],[1,1,p]]);
1 A := 1 1
1 1 1
1 1 1
> Ab:=matrix([[p,1,1,1],[1,p,1,1],[1,1,p,p^2]]);
1 Ab := 1 1
1 1 1
1 1 1
> gausselim(A);
1 0 0
1 0 0
1 0 0
> h(A):=rank(A); h( A ) := 1
> gausselim(Ab); 30
1 1 1
1 0 0
1 0 0
1 0 0
1 0 0
> h(Ab):=rank(Ab); h( Ab ) := 1
Hodnosti 𝐴 = 𝐴𝑏 = 1, z čehož plyne, že soustava má řešení závislé na dvou parametrech. Toto řešení 𝑥1 , 𝑥2 , 𝑥3 splňuje 𝑥1 + 𝑥2 + 𝑥3 = 1, a je tedy jej možné zapsat ve tvaru 𝑡, 𝑠, 1 − 𝑡 − 𝑠 , kde 𝑡, 𝑠 ∈ 𝑅. Pro kontrolu vyřešíme soustavu pomocí příkazu linsolve(A,b): > b:=vector([1,1,p^2]); b := [ 1, 1, 1 ]
> linsolve(A,b);
[ 1_t1_t2, _t1, _t2 ] 𝑝
𝑝
Pro 𝑝 ∉ −2,1 má soustava 1 řešení ve tvaru − 𝑝+2 , − 𝑝+2 , získat např. pomocí příkazu linsolve: > linsolve(A,b);
p p p22 p2 , , p2 p2 p2
31
𝑝 2 +2𝑝+2 𝑝+2
, které je možné
3 Využití poznatků z lineární algebry v jiných oborech V této kapitole se seznámíme s několika oblastmi matematiky, v nichž se dají poznatky z předchozí kapitoly využít. Při tvorbě této kapitoly byla využita zejména literatura [3], [7] a [10].
3.1 Hessova matice a hessián Speciální typ matice, tzv. matice Hessova, a její determinant se používají při hledání extrémů funkcí více proměnných. Důkazy tvrzení uvedených v této kapitole lze nalézt například v [3]. Definice 36. Nechť A ⊂ 𝑅𝑛 a 𝑓: A ⟶ ℝ je funkce n proměnných. Existují-li parciální derivace funkce 𝑓 druhého řádu v bodě 𝑥 = 𝑥1 , … , 𝑥𝑛 , pak Hessova matice funkce 𝑓 v bodě x má tvar 𝑓𝑥′′2 𝑥
𝑓𝑥′′1 𝑥 2 𝑥
⋯
𝑓𝑥′′1 𝑥 𝑛 𝑥
𝑓𝑥′′2 𝑥 1 𝑥 ⋮ 𝑓𝑥′′𝑛 𝑥 1 𝑥
𝑓𝑥′′2 𝑥 2 ⋮ 𝑓𝑥′′𝑛 𝑥 2 𝑥
⋯ ⋱ ⋯
𝑓𝑥′′2 𝑥 𝑛 𝑥 ⋮ 𝑓𝑥′′𝑛2 𝑥
1
𝐻 𝑥 =
.
Determinant Hessovy matice se nazývá hessián. Věta 14. Ze Schwarzovy věty plyne, že má-li funkce 𝑓 v bodě x spojité druhé parciální derivace, pak je Hessova matice funkce 𝑓 v bodě x symetrická. Hessova matice a hessián se využívají při hledání extrémů funkcí více proměnných. Definice 37. Řekneme, že funkce 𝑓: A ⟶ ℝ, kde A ⊂ ℝ𝑛 , nabývá v bodě 𝑥 ∗ ∈ ℝ𝑛 lokálního maxima (minima), jestliže existuje okolí 𝜎 𝑥 ∗ bodu 𝑥 ∗ takové, že pro každé 𝑥 ∈ 𝜎 𝑥 ∗ ⋂A platí 𝑓 𝑥 ≤ 𝑓 𝑥 ∗ (𝑓 𝑥 ≥ 𝑓 𝑥 ∗ ). Jsou-li nerovnosti v těchto vztazích pro
32
𝑥 ≠ 𝑥 ∗ ostré, mluvíme o ostrých lokálních maximech a minimech. Pro (ostrá) lokální minima a maxima budeme používat společný termín (ostré) lokální extrémy. Definice 38. Nechť 𝑓: A ⟶ ℝ, kde A ⊂ ℝ𝑛 . Řekneme, že bod 𝑥 ∗ ∈ ℝ𝑛 je stacionární bod funkce 𝑓, jestliže v bodě 𝑥 ∗ existují všechny parciální derivace funkce 𝑓 a platí 𝑓𝑥′𝑖 𝑥 ∗ = 0, 𝑖 = 1, … , 𝑛. Věta 15. Nechť funkce 𝑓: A ⟶ ℝ, kde A ⊂ ℝ𝑛 , má v bodě 𝑥 ∗ ∈ ℝ𝑛 lokální extrém. Pak všechny parciální derivace funkce 𝑓, které v tomto bodě existují, jsou rovny nule, tj. 𝑥 ∗ je stacionárním bodem. Poznámka 12. Funkce 𝑓: A ⟶ ℝ, kde A ⊂ ℝ𝑛 , může mít lokální extrém pouze ve svém stacionárním bodě nebo v bodě, kde alespoň jedna z parciálních derivací neexistuje. Zdůrazněme, že stacionární bod nemusí být bodem lokálního extrému (takový bod se pak nazývá sedlo). Věta 16. Nechť 𝑥 ∗ ∈ ℝ𝑛 je stacionární bod funkce 𝑓 a předpokládejme, že 𝑓 má na nějakém okolí bodu 𝑥 ∗ spojité parciální derivace druhého řádu. Položme A = 𝑎𝑖𝑗 = 𝐻 𝑥 ∗ , tj. 𝑎𝑖𝑗 = 𝑓𝑥′′𝑖 𝑥 𝑗 𝑥 ∗ . a) Je-li kvadratická forma 𝑃 = 𝐴, pozitivně (negativně) definitní, má funkce 𝑓 v bodě 𝑥 ∗ ostré lokální minimum (maximum). b) Je-li kvadratická forma 𝑃 indefinitní, v bodě 𝑥 ∗ extrém nenastává. c) Má-li funkce 𝑓 v bodě 𝑥 ∗ lokální minimum (maximum), je kvadratická forma 𝑃 pozitivně (negativně) semidefinitní. Příklad 10. Najděte lokální extrémy funkce 𝑓 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 = 𝑥13 + 𝑥22 + 𝑥32 + 𝑥42 + 12𝑥1 𝑥2 − 2𝑥3 − 4𝑥4 . > f:=x[1]^3+x[2]^2+x[3]^2+x[4]^2+12*x[1]*x[2]-2*x[3]-4*x[4]; 3
2
2
2
f := x1 x2 x3 x4 12 x1 x22 x34 x4
Nejprve vypočítáme první parciální derivace funkce f: 33
> Diff(f,x[1])=diff(f,x[1]); 3 2 2 2 2 ( x1 x2 x3 x4 12 x1 x22 x34 x4 )3 x1 12 x2 x1
> Diff(f,x[2])=diff(f,x[2]); 3 2 2 2 ( x1 x2 x3 x4 12 x1 x22 x34 x4 )2 x212 x1 x2
> Diff(f,x[3])=diff(f,x[3]); 3 2 2 2 ( x1 x2 x3 x4 12 x1 x22 x34 x4 )2 x32 x3
> Diff(f,x[4])=diff(f,x[4]); 3 2 2 2 ( x1 x2 x3 x4 12 x1 x22 x34 x4 )2 x44 x4
Definiční obory parciálních derivací jsou 𝑅4 , funkce f může mít lokální extrém tedy pouze ve svých stacionárních bodech. Tyto body najdeme pomocí příkazu solve: >solve({3*x[1]^2+12*x[2]=0,2*x[2]+12*x[1]=0,2*x[3]2=0,2*x[4]4=0},{x[1],x[2],x[3],x[4]}); { x42, x31, x10, x20 }, { x42, x31, x124, x2-144 }
Funkce f má dva stacionární body – [0,0,1,2] a [24,-144,1,2]. Abychom určili typ extrémů v nalezených stacionárních bodech, vypočítáme druhé parciální derivace: > Diff(f,x[1],x[1])=diff(f,x[1],x[1]); 2 x1
3
2
2
2
2
( x1 x2 x3 x4 12 x1 x22 x34 x4 )6 x1
> Diff(f,x[1],x[2])=diff(f,x[1],x[2]); 3 2 2 2 2 ( x1 x2 x3 x4 12 x1 x22 x34 x4 )12 x2 x1
> Diff(f,x[1],x[3])=diff(f,x[1],x[3]); 3 2 2 2 2 ( x x2 x3 x4 12 x1 x22 x34 x4 )0 x3 x1 1
> Diff(f,x[1],x[4])=diff(f,x[1],x[4]);
34
3 2 2 2 2 ( x1 x2 x3 x4 12 x1 x22 x34 x4 )0 x4 x1
> Diff(f,x[2],x[2])=diff(f,x[2],x[2]); 2 x2
3
2
2
2
2
( x1 x2 x3 x4 12 x1 x22 x34 x4 )2
> Diff(f,x[2],x[1])=diff(f,x[2],x[1]); 3 2 2 2 2 ( x1 x2 x3 x4 12 x1 x22 x34 x4 )12 x1 x2
> Diff(f,x[2],x[3])=diff(f,x[2],x[3]); 3 2 2 2 2 ( x1 x2 x3 x4 12 x1 x22 x34 x4 )0 x3 x2
> Diff(f,x[2],x[4])=diff(f,x[2],x[4]); 3 2 2 2 2 ( x x2 x3 x4 12 x1 x22 x34 x4 )0 x4 x2 1
> Diff(f,x[3],x[3])=diff(f,x[3],x[3]); 2 x3
3
2
2
2
2
( x1 x2 x3 x4 12 x1 x22 x34 x4 )2
> Diff(f,x[3],x[1])=diff(f,x[3],x[1]); 3 2 2 2 2 ( x1 x2 x3 x4 12 x1 x22 x34 x4 )0 x1 x3
> Diff(f,x[3],x[2])=diff(f,x[3],x[2]); 3 2 2 2 2 ( x1 x2 x3 x4 12 x1 x22 x34 x4 )0 x2 x3
> Diff(f,x[3],x[4])=diff(f,x[3],x[4]); 3 2 2 2 2 ( x1 x2 x3 x4 12 x1 x22 x34 x4 )0 x4 x3
> Diff(f,x[4],x[4])=diff(f,x[4],x[4]); 2 x4
3
2
2
2
2
( x1 x2 x3 x4 12 x1 x22 x34 x4 )2
> Diff(f,x[4],x[1])=diff(f,x[4],x[1]); 3 2 2 2 2 ( x1 x2 x3 x4 12 x1 x22 x34 x4 )0 x1 x4
35
> Diff(f,x[4],x[2])=diff(f,x[4],x[2]); 3 2 2 2 2 ( x1 x2 x3 x4 12 x1 x22 x34 x4 )0 x2 x4
> Diff(f,x[4],x[3])=diff(f,x[4],x[3]); 3 2 2 2 2 ( x x2 x3 x4 12 x1 x22 x34 x4 )0 x3 x4 1
Vytvoříme Hessovu matici funkce f: >HM:=matrix([[6*x[1],12,0,0],[12,2,0,0],[0,0,2,0],[0,0,0,2]]) ; 6 x1 12 0 0 12 2 0 0 HM := 0 0 2 0 0 0 2 0
Ve stacionárním bodě [0,0,1,2], má Hessova matice tvar: >with(LinearAlgebra): >HA[1]:=<<0,12,0,0>|<12,2,0,0>|<0,0,2,0>|<0,0,0,2>>; 0 12 0 0 12 2 0 0 HA1 := 0 0 2 0 0 0 0 2
O její definitnosti rozhodneme pomocí vlastních čísel: > eigenvalues(HA[1]); 1 145 , 1 145 , 2, 2
Hessova matice je tedy indefinitní a ve stacionárním bodě [0,0,1,2] extrém nenastává. Ve druhém stacionárním bodě [24,-144,1,2], má Hessova matice tvar: >with(LinearAlgebra): >HA[2]:=<<6*24,12,0,0>|<12,2,0,0>|<0,0,2,0>|<0,0,0,2>>;
36
144 12 0 0 12 2 0 0 HA2 := 0 0 2 0 0 0 0 2
O její definitnosti rozhodneme pomocí vlastních čísel: > eigenvalues(HA[2]); 73 5185, 73 5185, 2, 2
Hessova matice je pozitivně definitní a funkce f má tedy ve stacionárním bodě [24,144,1,2] ostré lokální minimum. Speciálně pro funkce dvou proměnných platí: Věta 17. Nechť funkce 𝑓: A ⟶ ℝ, kde A ⊂ ℝ2 , má na nějakém okolí bodu 𝑥0 , 𝑦0 spojité parciální derivace druhého řádu a nechť 𝑥0 , 𝑦0 je její stacionární bod. Jestliže ′′ ′′ 𝐷 𝑥0 , 𝑦0 = 𝑓𝑥𝑥′′ 𝑥0 , 𝑦0 𝑓𝑦𝑦 𝑥0 , 𝑦0 − 𝑓𝑥𝑦 𝑥0 , 𝑦0
2
> 0,
pak má funkce 𝑓 v 𝑥0 , 𝑦0 ostrý lokální extrém. Je-li 𝑓𝑥𝑥′′ 𝑥0 , 𝑦0 > 0, jde o minimum, je-li 𝑓𝑥𝑥′′ 𝑥0 , 𝑦0 < 0, jde o maximum. Jestliže 𝐷 𝑥0 , 𝑦0 < 0, pak v bodě 𝑥0 , 𝑦0 lokální extrém nenastává.
𝑥
Příklad 11. Rozhodněte, má-li funkce 𝑓 𝑥1 , 𝑥2 = 2𝑥2 1 − 2𝑥2 + 1 v bodě 1,1 lokální extrém. > f:=2*x[2]^x[1]-2*x[2]+1; x
1
f := 2 x2 2 x21 Nejprve vypočítáme první parciální derivace funkce f: > dx[1]:=Diff(f,x[1])=diff(f,x[1]); dx1 :=
x x 1 1 2 x2 2 x21 2 x2 ln( x2 ) x1
> dx[2]:=Diff(f,x[2])=diff(f,x[2]); x 1 2 x2 2 x21 2 dx2 := x2 x
37
1
x2 x1 x2
2
Do těchto derivací dosadíme bod 1,1 : > x[1]=1;x[2]=1; x11 x21
> solve(dx[1]); 0
> solve(dx[2]); 0
Bod 1,1 je tedy stacionárním bodem. Abychom ověřili, že se nejedná o bod sedlový, vypočítáme druhé parciální derivace. > dx[11]:= Diff(f,x[1],x[1])=diff(f,x[1],x[1]); x x 1 1 2 2 dx11 := 2 x2 2 x21 2 x2 ln( x2 ) 2 x 1
> dx[12]:=Diff(f,x[1],x[2])=diff(f,x[1],x[2]); x
dx12 :=
2 x 2 x21 2 x2 x1 2 2
x
1
x
1
x2 x1 ln( x2 ) x2
2 x2
1
x2
> dx[22]:=Diff(f,x[2],x[2])=diff(f,x[2],x[2]); x 1 2 x2 2 x21 2 dx22 := 2 x 2
x
2
1
x2 x1 x2
x
2
2
1
2 x2 x1 x2
2
> dx[21]:=Diff(f,x[2],x[1])=diff(f,x[2],x[1]); x
1 2 x2 2 x21 2 dx21 := x1 x2 2
x
x
1
x2 x1 ln( x2 ) x2
2 x2
1
x2
Vytvoříme Hessovu matice funkce f: >HA:=matrix([[2*x[2]^x[1]*ln(x[2])^2,2*x[2]^x[1]*x[1]/x[2]*ln (x[2])+2*x[2]^x[1]/x[2]],[2*x[2]^x[1]*x[1]/x[2]*ln(x[2])+2*x[ 2]^x[1]/x[2],2*x[2]^x[1]*x[1]^2/x[2]^2-2*x[2]^x[1]*x[1]/ x[2]^2]]);
38
x 1 2 2 x2 ln( x2 ) HA := x x 1 1 x2 x1 ln( x2 ) 2 x2 2 x2 x2
1 2 x2 2 x2 x2 x x 1 2 1 x2 x1 2 x2 x1 2 2 2 x2 x2 x
1
x
x2 x1 ln( x2 )
Ve stacionárním bodě 1,1 , má Hessova matice tvar: > HA:=matrix([[0,2],[2,1]]);
0 HA := 2
2 1
Pomocí Věty 17 určíme, má-li funkce 𝑓 ve stacionárním bodě 1,1 lokální extrém. > D(1,1):=evalm(0*1-2^2); D( 1, 1 ) := -4
Vzhledem k tomu, že D 1,1 < 0 tak v bodě 1,1 extrém nenastává.
3.2 Řešení nehomogenních diferenciálních rovnic pomocí metody variace konstant Druhou aplikací poznatků z předchozí kapitoly bude úloha najít řešení nehomogenní diferenciální rovnice. Důkazy tvrzení uvedených v této kapitole lze nalézt například v [5]. Nechť 𝑛 ∈ 𝑁 a 𝐹 𝑥, 𝑧0 , 𝑧1 , … , 𝑧𝑛
je funkce 𝑛 + 2 proměnných definovaná na
otevřené množině Ω ∈ 𝑅𝑛+2 . Pak rovnice 𝐹 𝑥, 𝑦, 𝑦 ′ , … , 𝑦
𝑛
=0
se nazývá obyčejná diferenciální rovnice n-tého řádu v implicitním tvaru s neznámou 𝑦 𝑥 .
39
Definice 39. Nechť 𝑥 je funkce definovaná na otevřeném intervalu 𝐽. Pak 𝑥 se nazývá řešení rovnice 𝐹 𝑥, 𝑦, 𝑦 ′ , … , 𝑦
𝑛
= 0 na 𝐽, jestliže 𝑥 má derivace až do řádu n,
pro každé 𝑥 ∈ 𝐽 je 𝑥, 𝑥 , ′ 𝑥 , … ,
𝑛
𝑥
∈ Ω a platí
𝐹 𝑥, 𝑥 , ′ 𝑥 , … ,
𝑛
𝑥
= 0, 𝑥 ∈ 𝐽.
Speciálním případem obyčejných diferenciálních rovnic jsou lineární diferenciální rovnice.
Definice 40. Rovnice tvaru 𝑛
𝑏𝑛 𝑥 𝑦
𝑥 + 𝑏𝑛−1 𝑥 𝑦
𝑛−1
𝑥 + ⋯ + 𝑏1 𝑥 𝑦
′
𝑥 + 𝑏0 𝑥 𝑦 = 𝑔 𝑥 ,
kde 𝑏𝑖 𝑥 , 𝑖 = 0,1, … , 𝑛 a 𝑔 𝑥 jsou funkce, nazýváme lineární diferenciální rovnice n-tého řádu. Dále budeme předpokládat, že 𝑏𝑛 𝑥 ≠ 0. Pak je možné rovnici vydělit tímto 𝑏 𝑥
koeficientem a při označení 𝑎𝑖 𝑥 = 𝑏 𝑖
𝑛 𝑥
𝑔 𝑥
, 𝑖 = 0,1, … , 𝑛 − 1, a 𝑓 𝑥 = 𝑏
𝑛
𝑥
nabude
rovnice tvaru 𝑦
Rovnice
𝑦
𝑛
𝑛
+ 𝑎𝑛−1 𝑥 𝑦
𝑛−1
𝑛−1
+ 𝑎𝑛−1 𝑥 𝑦
+ ⋯ + 𝑎1 𝑥 𝑦 ′ + 𝑎0 𝑥 𝑦 = 𝑓 𝑥 . + ⋯ + 𝑎1 𝑥 𝑦 ′ + 𝑎0 𝑥 𝑦 = 𝑓 𝑥
se
nazývá
homogenní, jestliže 𝑓 𝑥 ≡ 0, nehomogenní v opačném případě. Věta 18. Nechť 𝑦1 𝑥 je řešení rovnice 𝑦 𝑓1 𝑥 a 𝑦2 𝑥 je řešení rovnice 𝑦
𝑛
𝑛
+ 𝑎𝑛−1 𝑥 𝑦
+ 𝑎𝑛−1 𝑥 𝑦
𝑛−1
𝑛−1
+ ⋯ + 𝑎1 𝑥 𝑦 ′ + 𝑎0 𝑥 𝑦 =
+ ⋯ + 𝑎1 𝑥 𝑦 ′ + 𝑎0 𝑥 𝑦 = 𝑓2 𝑥
(tedy levé strany obou rovnic jsou stejné). Pak pro libovolná 𝛼, 𝛽 ∈ 𝑅 je funkce 𝑦 𝑥 = 𝛼𝑦1 𝑥 + 𝛽𝑦2 𝑥 řešením rovnice 𝑦
𝑛
+ 𝑎𝑛−1 𝑥 𝑦
𝑛−1
+ ⋯ + 𝑎1 𝑥 𝑦 ′ + 𝑎0 𝑥 𝑦 = 𝛼𝑓1 𝑥 + 𝛽𝑓2 𝑥 .
Definice 41. Nechť 𝑦1 𝑥 , … , 𝑦𝑛 𝑥 𝑎𝑛−1 𝑥 𝑦
𝑛−1
je n lineárně nezávislých řešení rovnice 𝑦
𝑛
+
+ ⋯ + 𝑎1 𝑥 𝑦 ′ + 𝑎0 𝑥 𝑦 = 0. Pak každé řešení této rovnice má tvar 𝑦 𝑥 = 𝑐1 𝑦1 𝑥 + ⋯ + 𝑐𝑛 𝑦𝑛 𝑥 ,
kde 𝑐1 , … , 𝑐𝑛 jsou libovolná reálná čísla. Tato lineárně nezávislá řešení 𝑦1 𝑥 , … , 𝑦𝑛 𝑥 nazýváme fundamentální systém rovnice 𝑦
𝑛
+ 𝑎𝑛−1 𝑥 𝑦
𝑛−1
+ ⋯ + 𝑎1 𝑥 𝑦 ′ + 𝑎0 𝑥 𝑦 = 0. 40
Poznámka 13: Speciálně pro 𝑛 = 2, 𝑎1 𝑥 = 𝑎1 , 𝑎0 𝑥 = 𝑎0 získáme rovnici druhého řádu s konstantními koeficienty 𝑦 ′′ + 𝑎1 𝑦 ′ + 𝑎0 𝑦 = 0. Řešení této rovnice hledáme ve tvaru 𝑦 = 𝑒 𝜆𝑥 , kde 𝜆 je vhodné číslo. Vypočteme 𝑦 ′ = 𝜆𝑒 𝜆𝑥 ⟹ 𝑦 ′′ = 𝜆 2 𝑒 𝜆𝑥 a po dosazení obdržíme 𝜆 2 𝑒 𝜆𝑥 + 𝑎1 𝜆𝑒 𝜆𝑥 + 𝑎0 𝑒 𝜆𝑥 = 0. Protože 𝑒 𝜆𝑥 ≠ 0, musí 𝜆 splňovat rovnici 𝜆 2 + 𝑎1 𝜆 + 𝑎0 = 0. To je kvadratická rovnice, kterou umíme snadno vyřešit. Definice 42. Nechť 𝜆 ∈ 𝑅 je k-násobný reálný kořen rovnice 𝜆 2 + 𝑎1 𝜆 + 𝑎0 = 0, 𝑘 ≥ 1. Pak funkce 𝑦1 𝑥 = 𝑒 𝜆𝑥 , … , 𝑦𝑘 𝑥 = 𝑥 𝑘−1 𝑒 𝜆𝑥 jsou řešením rovnice 𝑦 ′′ + 𝑎1 𝑦 ′ + 𝑎0 𝑦 = 0. Nechť 𝛼 ± 𝛽 ∈ 𝐶 je komplexně sdružená dvojice k-násobných komplexních kořenů rovnice 𝜆 2 + 𝑎1 𝜆 + 𝑎0 = 0, 𝑘 ≥ 1, 𝛼, 𝛽 ∈ 𝑅, 𝛽 ≠ 0. Pak funkce 𝑦1 𝑥 = 𝑒 𝛼𝑥 𝑐𝑜𝑠𝛽𝑥, 𝑦2 𝑥 = 𝑒 𝛼𝑥 𝑠𝑖𝑛𝛽𝑥, jsou řešením rovnice 𝑦 ′′ + 𝑎1 𝑦 ′ + 𝑎0 𝑦 = 0. Věta 19. Množina řešení zkonstruovaná popsaným způsobem tvoří fundamentální systém rovnice 𝑦 ′′ + 𝑎1 𝑦 ′ + 𝑎0 𝑦 = 0. Uvažujme nyní nehomogenní rovnici druhého řádu 𝑦 ′′ + 𝑎1 𝑥 𝑦 ′ + 𝑎0 𝑥 𝑦 = 𝑓 𝑥 . Nechť 𝑦1 𝑥 a 𝑦2 𝑥 jsou nezávislá řešení příslušné homogenní rovnice 𝑦𝑖′′ + 𝑎1 𝑥 𝑦𝑖′ + 𝑎0 𝑥 𝑦𝑖 = 0, 𝑖 = 1,2. Hledejme řešení rovnice (1) ve tvaru 𝑦0 𝑥 = 𝐾1 𝑥 𝑦1 𝑥 + 𝐾2 𝑥 𝑦2 𝑥 . Vypočteme první derivaci (pro stručnost nepíšeme argument x). 41
(1)
𝑦0′ = 𝐾1′ 𝑦1 + 𝐾1 𝑦1′ + 𝐾2′ 𝑦2 + 𝐾2 𝑦2′ . Při výpočtu druhé derivace bychom dostali druhé derivace neznámých funkcí. Požadujme proto, aby 𝐾1′ 𝑦1 + 𝐾2′ 𝑦2 = 0. Že takovou podmínku můžeme splnit, uvidíme níže. Pak máme 𝑦0′ = 𝐾1 𝑦1′ + 𝐾2 𝑦2′ ⟹ 𝑦0′′ = 𝐾1′ 𝑦1′ + 𝐾1 𝑦1′′ + 𝐾2′ 𝑦2′ + 𝐾2 𝑦2′′ . Po dosazení do (1) a úpravě vyjde 𝐾1′ 𝑦1′ + 𝐾1 𝑦1′′ + 𝐾2′ 𝑦2′ + 𝐾2 𝑦2′′ + 𝑎1 𝐾1 𝑦1′ + 𝐾2 𝑦2′ + 𝑎0 𝐾1 𝑦1 + 𝐾2 𝑦2 = 𝑓 𝑥 , 𝐾1′ 𝑦1′ + 𝐾2′ 𝑦2′ + 𝐾1 𝑦1′′ + 𝑎1 𝑦1′ + 𝑎0 𝑦1 + 𝐾2 𝑦2′′ + 𝑎1 𝑦2′ + 𝑎0 𝑦2 = 𝑓 𝑥 . Vezmeme-li v úvahu 𝑦𝑖′′ + 𝑎1 𝑥 𝑦𝑖′ + 𝑎0 𝑥 𝑦𝑖 = 0, dostaneme 𝐾1′ 𝑦1′ + 𝐾2′ 𝑦2′ = 𝑓 𝑥 . Celkově tedy máme pro derivace neznámých funkcí 𝐾1′ a 𝐾2′ soustavu lineárních rovnic 𝐾1′ 𝑦1 + 𝐾2′ 𝑦2 = 0, 𝐾1′ 𝑦1′ + 𝐾2′ 𝑦2′ = 𝑓 𝑥 . Determinant matice soustavy se nazývá wronskián 𝑦1 𝑦2 𝑦1′ 𝑦2′ , který je nenulový, a proto má naše soustava jediné řešení, které můžeme získat např. Cramerovým pravidlem. Z 𝐾1′ a 𝐾2′ dostaneme 𝐾1 a 𝐾2 integrací. To ovšem nemusí být možné ve třídě elementárních funkcí. Až na tento problém je však celý algoritmus metody variace konstant efektivní. Příklad 12. Řešte rovnici pomocí metody variace konstant: 𝑒𝑥 𝑦 − 2𝑦 + 𝑦 = . 𝑥 ′′
′
V Maplu můžeme nehomogenní diferenciální rovnici nadefinovat pomocí příkazu diff: > rovnice:=diff(y(x),x,x)-2*diff(y(x),x)+y(x)=exp(x)/x; ex 2 rovnice := 2 y( x ) 2 y( x ) y( x ) x x x
Příslušná homogenní rovnice má tvar: > homrov:=lhs(rovnice)=0; 42
2 homrov := 2 y( x ) 2 y( x ) y( x )0 x x
Jedná se o homogenní rovnici druhého řádu. Její řešení hledáme ve tvaru 𝑦 𝑥 = 𝑒
𝜆𝑥
.
> tvar_reseni:=y(x)=exp(lambda*x);
tvar_reseni := y( x )e
( x )
Dosazením do zadané rovnice dostaneme po úpravách charakteristickou rovnici. > subs(tvar_reseni,homrov); 2 ( x ) ( x ) ( x ) 2e 2 e e 0 x x
> simplify(%);
2 e Protože výraz 𝑒
𝜆𝑥
( x )
2 e
( x )
e
( x )
0
je vždy větší než nula, můžeme jím rovnici vydělit.
> char_rovnice:=simplify(%/exp(lambda*x));
char_rovnice := 22 10 Vypočteme kořeny charakteristické rovnice > solve(char_rovnice,lambda); 1, 1
Rovnice má tedy jeden dvojnásobný kořen 𝜆 = 1. Fundamentální systém řešení má tvar: > reseni1:=subs(lambda=1,tvar_reseni);reseni2:=subs(lambda=1, x*tvar_reseni);
reseni1 := y( x )e x reseni2 := x y( x )x e x Určíme wronskián nalezených řešení pomocí stejnojmenného příkazu, který je součástí knihovny linalg: > with(linalg): 43
>W:=wronskian([rhs(reseni1),rhs(reseni2)],x); e w := x e x
x ex e xx e x
a vypočteme ho. > detW:=det(%); detW := ( e x )
2
Lineární kombinací nalezených řešení dostaneme obecné řešení homogenní rovnice. > ob_reseni:=y(x)=c[1]*rhs(reseni1)+c[2]*rhs(reseni2);
ob_reseni := y( x )c1 e xc2 x e x Výsledek porovnáme s výsledkem získaným pomocí příkazu dsolve: > ob_res_hom:=dsolve(homrov,y(x));
ob_res_hom := y( x )_C1 e x_C2 e x x Partikulární řešení nehomogenní rovnice budeme hledat ve tvaru, > tvar:=subs(_C1=K[1](x),_C2=K[2](x),ob_res_hom);
tvar := y( x )K1( x ) e xK2( x ) e x x který jsme dostali nahrazením konstant C1, C2 funkcemi K1(x) a K2(x). Provedeme první derivaci partikulárního řešení pomocí příkazu diff: > der1:=diff(tvar,x); der1 :=
y( x ) K1( x ) e xK1( x ) e x K2( x ) e x xK2( x ) e x xK2( x ) e x x x x
Platí: > podminka1:=op(1,rhs(der1))+op(3,rhs(der1))=0; podminka1 := K1( x ) e x K2( x ) e x x0 x x
Dosazením dostaneme: > der1_upr:=lhs(der1)=rhs(der1)-lhs(podminka1); 44
der1_upr :=
y( x )K1( x ) e xK2( x ) e x xK2( x ) e x x
Vypočteme druhou derivaci: > der2:=diff(der1_upr,x); 2 y( x ) K1( x ) e xK1( x ) e x K2( x ) e x xK2( x ) e x x2 K2( x ) e x 2 x x x K2( x ) e x x
der2 :=
Dosazením do původní rovnice dostaneme: >podminka2:=simplify(subs(diff(y(x),x$2)=rhs(der2),y(x)=rhs(t var),rovnice));
ex podminka2 := K1( x ) e x K2( x ) e x x K2( x ) e x x x x x V získané soustavě rovnic zavedeme substituci – první derivace hledaných funkcí 𝐾1 𝑥 , 𝐾2 𝑥 označíme a, b. >soustava:=subs({diff(K[1](x),x)=a,diff(K[2](x),x)=b},{podmin ka1,podminka2});
soustava := { a e xb e x xb e x
ex , a e xb e x x0 } x
Vypočteme první derivace funkcí 𝐾1 𝑥 , 𝐾2 𝑥 a uložíme je do proměnných a, b. > konst_der:=solve(soustava,{a,b}); assign(konst_der); 1 konst_der := { a-1, b } x
Integrací a, b dostaneme vzhledem ke stanovené substituci funkce 𝐾1 𝑥 , 𝐾2 𝑥 . > konst1:=int(a,x); konst1 := x
> konst2:=int(b,x); konst2 := ln( x )
45
Hledané partikulární řešení nehomogenní rovnice pak má tvar: >part_reseni:=simplify(subs(K[1](x)=konst1,K[2](x)=konst2,tva r));
part_reseni := y( x )e x xln( x ) e x x Obecné řešení nehomogenní rovnice je součtem obecného řešení příslušné homogenní rovnice a partikulárního řešení nehomogenní rovnice. Jelikož Maple při integraci, jejímž výsledkem je funkce obsahující přirozený logaritmus, nezohledňuje definiční obor (tj. neuzavírá argument přirozeného logaritmu do absolutní hodnoty), vyřešíme tuto odlišnost ručním přepsáním. > ob_reseni:=y(x)=rhs(ob_res_hom)-x*exp(x)+ln(abs(x))*x* exp(x);
ob_reseni := y( x )_C1 e x_C2 e x xe x xln( x ) x e x Řešení získané přímo příkazem dsolve bude mít také tuto odlišnost. > ob_dsolve:=dsolve(rovnice,y(x));
ob_dsolve := y( x )e x _C2e x x _C1e x x ( 1ln( x ) )
46
Závěr Cílem mojí bakalářské práce bylo běžnému uživateli ukázat, jak lze využít program Maple k řešení vybraných problémů z lineární algebry. Vzhledem k rozsahu lineární algebry jsem se rozhodla vybrat jen určité části. Konkrétně jsem se zaměřila na matice, determinanty, inverzní matice, charakteristické matice, charakteristický polynom a vlastní čísla, kvadratické formy a řešení soustav lineárních rovnic. Také jsem se v práci snažila ukázat, že s lineární algebrou se můžeme setkat i v jiných oblastech matematiky jako například při hledání extrémů funkcí více proměnných pomocí Hessovy matice a hessiánu a také při řešení nehomogenních diferenciálních rovnic pomocí metody variace konstant. Teoretické poznatky jsem ilustrovala na vlastních příkladech, které byly vyřešeny s využitím programu Maple. Díky této práci jsem si prohloubila znalosti z lineární algebry a naučila jsem se lépe pracovat s programem Maple a jeho knihovnami linalg a LinearAlgebra.
47
Literatura a internetové zdroje [1] Bican L., Lineární algebra a geometrie, 1. vydání, Academia, 2000 [2] Buchar J., Úvod do programového souboru Maple V, 1. vydání,
Vysoká škola
zemědělská v Brně, 1994 [3] Došlá Z., Došlý O., Diferenciální počet funkcí více proměnných, 3. vydání, Masarykova univerzita Brno, 2006 [4] Heck A., Introduction to Maple, 3. vydání, Springer-Verlag, New York, 2003 [5] Hort D., Rachůnek J., Algebra I., 1. vydání, UP Olomouc, 2005 [6] Kostra J., Pomp M., Teorie matic, 1. vydání, Přírodovědecká fakulta Ostravské univerzity, 1997 [7] Kuben J., Obyčejné diferenciální rovnice, 1. vydání, UP Olomouc, 1995 [8] Inverzní matice [online], dostupné z: http://artemis.osu.cz/mmmat/txt/la/min.htm [citováno 23. 3. 2010] [9] Maple [online], dostupné z: http://www.maple.vladimirzak.com/ [citováno 13. 3. 2010] [10] www.wikipedia.cz
48