Cramerovo pravidlo

Z testwiki
Skočit na navigaci Skočit na vyhledávání

Cramerovo pravidlo nebo metoda determinantů je matematický vzorec pro popis řešení soustavy lineárních rovnic s regulární maticí soustavy pomocí determinantů matice soustavy a matic z ní získaných nahrazením jednoho sloupce vektorem pravých stran. Je pojmenována po Gabrielu Cramerovi (1704–1752), který v roce 1750 publikoval pravidlo pro libovolný počet neznámých.[1]

Cramerovo pravidlo má především teoretický význam, protože výpočet mnoha determinantů obvyklým způsobem je výpočetně náročný. V praxi se proto pro řešení soustav používají jiné metody numerické matematiky.

Znění

Nechť čtvercová matice 𝑨 řádu n je matici soustavy n lineárních rovnic o n neznámých (čili počet neznámých i rovnic je shodný). Nechť 𝑨i je matice, získaná z matice 𝑨 nahrazením i-tého sloupce sloupcem pravých stran.

Konkrétně, pro matici soustavy 𝑨=(a11a12a1na21a22a2nan1an2ann)a vektor pravých stran 𝒃=(b1b2bn)

𝑨i tvar:

𝑨i=(a11a12a1,i1b1a1,i+1a1na21a22a2,i1b2a2,i+1a2nan1an2an,i1bnan,i+1ann)

Pokud je matice soustavy 𝑨 regulární, pak má soustava právě jedno řešení. Jednotlivé složky řešení 𝒙=(x1,,xn)T jsou určeny podíly [2]

xi=det𝑨idet𝑨.

Konkrétně, pro soustavu o dvou neznámých

a11x1+a12x2=b1a21x1+a22x2=b2

s rozšířenou matici soustavy

(𝑨|𝒃)=(a11a12b1a21a22b2)

je řešení dáno vzorci:

x1=det𝑨1det𝑨=|b1a12b2a22||a11a12a21a22|=b1a22a12b2a11a22a12a21 a
x2=det𝑨2det𝑨=|a11b1a21b2||a11a12a21a22|=a11b2b1a21a11a22a12a21

Pravidlo platí nejen v oboru reálných či komplexních čísel, ale i pro soustavy lineárních rovnic s koeficienty a neznámými v libovolném tělese.

Ukázky

Soustava o dvou neznámých

Reálná soustava lineárních rovnic:

1x1+2x2=34x1+5x2=6

dává rozšířenou matici soustavy:

(𝑨|𝒃)=(123456)

Podle Cramerova pravidla je řešení soustavy určeno podíly:

x1=det𝑨1det𝑨=|3265||1245|=35261524=33=1
x2=det𝑨2det𝑨=|1346||1245|=16341524=63=2

Soustava o třech neznámých

Pro soustavu lineárních rovnic:

x1+2x2+5x3=72x1+3x2=43x1+5x2+3x3=9

s rozšířenou maticí

(𝑨|𝒃)=(125723043539)

jsou složky řešení podle Cramerova pravidla dána podíly:

x1=det𝑨1det𝑨=|725430953||125230353|=733+209+545705243539133+203+525105223533=42=2
x2=det𝑨2det𝑨=|175240393||125230353|=143+703+529109723543133+203+525105223533=02=0
x3=det𝑨3det𝑨=|127234359||125230353|=139+243+725145229733133+203+525105223533=22=1

Důkaz

Řešení soustavy splňuje vztah

x1(a11a21am1)+x2(a12a22am2)++xn(a1na2namn)=(b1b2bm),

neboli j=1nxj𝒂j=𝒃, kde 𝒂j značí j-tý sloupec matice 𝑨.

Pro matici 𝑨, sloupcový index i a libovolný vektor 𝒗 značí symbol 𝑨[𝒂i/𝒗] matici, která vznikne z 𝑨 nahrazením jejího i-tého sloupce vektorem 𝒗. Mimo jiné platí již dříve zavedená notace 𝑨i=𝑨[𝒂i/𝒃].

Cramerovo pravidlo vyplývá ze dvou vlastností determinantu:

  • Determinant je multilineární vzhledem ke sloupcům (i řádkům) matice, tj. lineární vůči každému jednotlivému sloupci (řádku) a
  • je alternující vzhledem k pořadí sloupů (řádků), což má mimo jiné za následek, že determinant matice se dvěma shodnými sloupci (řádky) je nulový.

Z linearity determinantu vyplývá:

det𝑨i=det(𝑨[𝒂i/𝒃])=det(𝑨[𝒂i/j=1nxj𝒂j])=det(j=1nxj𝑨[𝒂i/𝒂j])=j=1nxjdet(𝑨[𝒂i/𝒂j])

V rozvinutém tvaru lze tento krok zapsat:

|a11a1,i1b1a1,i+1a1nan1an,i1bnan,i+1ann|=|a11a1,i1j=1nxja1ja1,i+1a1nan1an,i1j=1nxjanjan,i+1ann|
=x1|a11a1,i1a11a1,i+1a1nan1an,i1an1an,i+1ann|+xi1|a11a1,i1a1,i1a1,i+1a1nan1an,i1an,i1an,i+1ann|
+xi|a11a1,i1a1ia1,i+1a1nan1an,i1anian,i+1ann|
+xi+1|a11a1,i1a1,i+1a1,i+1a1nan1an,i1an,i+1an,i+1ann|++xn|a11a1,i1a1na1,i+1a1nan1an,i1annan,i+1ann|

Matice 𝑨[𝒂i/𝒂i] je totožná s 𝑨, protože fakticky nedošlo k žádnému nahrazení. Pro každé ji má matice 𝑨[𝒂i/𝒂j] svůj i-tý sloupec shodný s j-tým (zvýrazněny zeleně) a její determinant je roven nule.

Po vyloučení nulových členů 𝑨[𝒂i/𝒂j] pro ji se výraz redukuje na:

det𝑨i=j=1nxjdet(𝑨[𝒂i/𝒂j])=xidet𝑨[𝒂i/𝒂i]=xidet𝑨

Odtud Cramerovo pravidlo vyplývá vydělením obou stran nenulovým výrazem det𝑨.

Krátký důkaz

Krátký důkaz Cramerova pravidla začíná pozorováním, že xi je determinant matice 𝑿i, která vznikne z jednotkové matice 𝐈 nahrazením i-tého sloupce 𝐞i vektorem řešení 𝒙. V notaci předchozího důkazu jde o matici:

𝑿i=𝐈[𝐞i/𝒙]=(10x1001x2000xn1)

Za předpokladu, že původní matice 𝑨 je regulární, lze sloupce matice 𝑿i vyjádřit výrazy (𝑨1𝒂1,𝑨1𝒂2,,𝑨1𝒂i1,𝑨1𝒃,𝑨1𝒂i+1,,𝑨1𝒂n), kde 𝒂j je j-tý sloupec matice 𝑨. Připomeňme, že sloupce matice 𝑨i jsou (𝒂1,𝒂2,,𝒂i1,𝒃,𝒂i+1,,𝒂n), a proto 𝑿i=𝑨1𝑨i.

Zbývá využít fakt, že determinant součinu dvou matic je součinem determinantů, z čehož vyplývá:

xi=det𝑿i=det(𝑨1)det𝑨i=det𝑨idet𝑨.

Další verze důkazu

det𝑨idet𝑨=1det𝑨|a1,1a1,i1b1a1,i+1a1,naj1,1aj1,i1bj1aj1,i+1aj1,naj,1aj,i1bjaj,i+1aj,naj+1,1aj+1,i1bj+1aj+1,i+1aj+1,nan,1an,i1bnan,i+1an,n|=j=1nbjdet𝑨|a1,1a1,i10a1,i+1a1,naj1,1aj1,i10aj1,i+1aj1,naj,1aj,i11aj,i+1aj,naj+1,1aj+1,i10aj+1,i+1aj+1,nan,1an,i10an,i+1an,n|

Jestliže matici získanou vynecháním j-tého řádku a i-tého sloupce matice 𝑨 označíme 𝑨ji, pak rozvinutím determinantu v čitateli podle i-tého sloupce získáme

det𝑨idet𝑨=j=1nbj(1)i+jdet𝑨jidet𝑨

Zlomek ve výrazu je prvkem (𝑨1)i,j inverzní matice 𝑨1.

det𝑨idet𝑨=j=1n(𝑨1)i,jbj=(𝑨1𝒃)i

Protože 𝑨𝒙=𝒃 a det𝑨0, je 𝒙=𝑨1𝒃 a tedy

xi=det𝑨idet𝑨

Výpočetní složitost

Cramerovo pravidlo implementované naivním způsobem je výpočetně neefektivní již pro soustavy s více než třemi rovnicemi.[3] V případě n rovnic o n neznámých vyžaduje výpočet n+1 determinantů, zatímco Gaussova eliminace dává výsledek se stejnou výpočetní složitostí jako výpočet jediného determinantu.[4][5]  Cramerovo pravidlo může být také numericky nestabilní i pro soustavy o dvou rovnicích.[6] Nedávno se však ukázalo, že Cramerovo pravidlo lze implementovat se stejnou složitostí jako Gaussova eliminace [7][8] (vyžaduje dvakrát tolik aritmetických operací a má stejnou numerickou stabilitu, pokud jsou použity stejné permutační matice).

Aplikace

Celočíselné programování

Cramerovo pravidlo lze použít k důkazu, že problém celočíselného programování, jehož matice omezení je totálně unimodulární a jehož pravá strana je celočíselná, má celočíselná bázická řešení, což výrazně usnadňuje řešení úlohy.

Obyčejné diferenciální rovnice

Cramerovo pravidlo se používá k odvození obecného řešení nehomogenní lineární diferenciální rovnice metodou variace konstant.

Ricciho kalkul

Cramerovo pravidlo se používá v Ricciho kalkulu v různých výpočtech zahrnujících Christoffelovy symboly prvního a druhého druhu.[9]

Cramerovo pravidlo lze zejména využít v důkazu, že operátor divergence na Riemannově varietě je invariantní vzhledem ke změně souřadnic.

Historie

Cramerovo pravidlo publikoval v roce 1750 Gabriel Cramer ve své knize Introduction à l'analyse des lignes courbes algébriques.[1] V něm explicitně uvedl vzorce pro lineární soustavy rovnic až se třemi rovnicemi a popsal, jak lze vytvořit vzorce řešení pro soustavy rovnic s více rovnicemi. Protože determinant ještě nebyl zaveden, použil zlomky s polynomem v čitateli a jmenovateli. Jak ukazuje následující úryvek z původní práce, jsou totožné s polynomy Leibnizova vzorce .

Tento úryvek ukazuje, že Cramer ještě nepoužíval dnešní zápis soustav lineárních rovnic, protože v něm by vzorec zněl:

x1=b1a22a33b1a32a23b2a12a33+b2a32a13+b3a12a23b3a22a13a11a22a33a11a32a23a21a12a33+a21a32a13+a31a12a23a31a22a13

Sám Cramer si byl vědom, že soustavy lineárních rovnic nemají vždy jednoznačné řešení.[10] Étienne Bézout pak v roce 1764 ukázal, pokud soustavu rovnic nelze jednoznačně vyřešit, je determinant matice soustavy (jmenovatel ve výše uvedeném výrazu) nulový.[10] Cramer svůj vzorec nijak nedokázal, to provedl až Augustin Louis Cauchy v roce 1815. Cauchy též zavedl dodnes používanou notaci pro zápis Cramerova pravidla.

Již v roce 1678 si Cramerovo pravidlo zapsal Gottfried Wilhelm Leibniz ve svém rukopise. Ten však byl objeven až později a neměl tak žádný vliv na vývoj metod řešení soustav lineárních rovnic.[10] Speciální případy Cramerova pravidla pro soustavy dvou nebo tří rovnic popsal Colin Maclaurin ve svém Pojednání o algebře, publikovaném v roce 1748. Přestože měl nápad rozšířit tyto vzorce i na soustavy rovnic s více rovnicemi, nenašel na rozdíl od Cramera žádné pravidlo, jak správně nastavit znaménka v použitých polynomech.[11] Carl Benjamin Boyer vyvolal ve 20. století spor mezi matematickými historiky, zda byl objevitelem vzorce Maclaurin nebo Cramer. Doporučil, aby pravidlo bylo přejmenováno na Maclaurinovo-Cramerovo.[12]

Odkazy

Reference

Šablona:Překlad

  1. 1,0 1,1 Gabriel Cramer: Introduction à l’analyse des lignes courbes algébriques. Genf 1750, S. 657–659.
  2. Šablona:Citace elektronického periodika
  3. Šablona:Cite book
  4. Šablona:Cite book
  5. Šablona:Cite book
  6. Šablona:Cite book
  7. Šablona:Cite journal
  8. Šablona:Cite journal
  9. Šablona:Cite book
  10. 10,0 10,1 10,2 Jean-Luc Chabert et al.: A History of Algorithms. From the Pebble to the Microchip. Springer-Verlag, 1999, ISBN 3-540-63369-3, S. 284–287 (Tato kniha obsahuje anglický překlad Cramerovy původní publikace.).
  11. Antoni A. Kosinski: Cramer's Rule Is Due to cramer. In: Mathematics Magazine. Bd. 74, Nr. 4, Oktober 2001, S. 310–312.
  12. Bruce A. Hedman: An Earlier Date for „Cramer’s Rule“ In: Historica Mathematica. Bd. 24, 1999, S. 365–368.

Literatura

Související články

Externí odkazy

Šablona:Autoritní data

Šablona:Portály