úterý 30. listopadu 2021

O číslech, část 9: Nestandardní modely aritmetiky

Ačkoliv se nám stále daří nacházet další a další číselné obory, vše se zatím točilo okolo čísel reálných, potažmo komplexních – nacházeli jsme vícerozměná čísla, která nějakým způsobem protínala náš doposud známý svět, a když jsme se na něj podívali zcela jiným způsobem, našli jsme nekonečná, a přesto jistým způsobem cyklická čísla p-adická. 

Všechno začalo u čísel racionálních, ale pojďme se na chvíli vrátit na samotný začátek, teď, když už jsme poznamenáni logikou a jsme připraveni čelit věcem, které mohou být trochu divné. V první kapitole jsem definoval přirozená čísla pomocí množin či funkcí, abychom věděli, s čím vlastně zacházíme. To je takzvaný konstruktivistický přístup, tedy že každý matematický objekt musíme napřed sestrojit, abychom s ním mohli pracovat, ale většině matematiků stačí teoreticky dokázat, že takový objekt musí existovat, a především v oblasti matematické logiky je takových objektů habaděj.

Můžeme přirozená čísla definovat, aniž bychom se vázali na nějaké konkrétní objekty? Ano, pomocí něčeho, čemu logika říká teorie. Teorie se váže k nějakému univerzu objektů a pomocí axiomů popisuje, jak se takové objekty mají chovat vůči nějakým operacím. Narozdíl od fyzikálních teorií nepotřebujeme, aby dokázala nějak rozumně popisovat a předvídat realitu; stačí nám pouze konzistentnost, aby se z daných axiomů nedokázal vyvodit spor. Pokud nalezneme nějaké univerzum objektů, určíme, co v něm znamenají použité operace, a prokážeme, že v něm platí dané axiomy, získáme tím model dané teorie. Všechny modely dané teorie jsou z určitého pohledu ekvivalentní a platí v nich totéž, co se dá vyvodit z jejích axiomů.

Přirozená čísla popisují tzv. Peanovy axiomy:

  1. Existuje 0 (počátek).
  2. Rovnost je reflexivní.
  3. Rovnost je symetrická.
  4. Rovnost je tranzitivní.
  5. Rovnost je uzavřená (přirozené číslo je rovno pouze jinému přirozenému číslu).
  6. Následovník čísla vždy existuje.
  7. Pokud je následovník dvou čísel stejný, jedná se o stejná čísla.
  8. 0 není následovník žádného čísla.
  9. Platí matematická indukce.

Tyto axiomy byly samozřejmě definovány přesněji, než jak jsem je zde zapsal, ale vystihují podstatu přirozených čísel dokonale: neexistují žádné "nestandardní" modely takovéto teorie, jež by popíraly naši intuici (například očekáváme, že dva takové modely musí mít vždy stejnou velikost). Zachraňuje to totiž 9. axiom, a to proto, že vyžaduje logiku 2. řádu (logika 1. řádu povoluje kvantifikování pouze přes jednotlivé prvky daného univerza, zatímco logika 2. řádu povoluje kvantifikovat i přes množiny).

Pomocí jistého triku můžeme 9. axiom převést na nekonečnou množinu jednotlivých axiomů, které odpovídají určitému schématu, pro každou větu z logiky 1. řádu, aby indukce pořád platila, a získáme tak Peanovu aritmetiku 1. řádu. Jelikož se však omezujeme ve svých možnostech indukce jen na logiku 1. řádu, nedokážeme tím přesně podchytit původní modely; získáváme jich mnohem víc.

Nestandardní modely aritmetiky jsou přesně ty modely Peanovy aritmetiky 1. řádu, které nejsou modely oné teorie v logice 2. řádu. Když jsme nahlíželi na přirozená čísla jako na nekonečný řetěz s jediným koncem, můžeme si představit, jak by asi vypadaly takové nestandardní modely: v každém musí být obsažen onen původní řetěz, ale navíc tam mohou být i další řetězy, nekonečné s jedním nebo žádným koncem (a pokud bychom odstranili axiom o indukci úplně, i cyklické konečné).

Tak třeba může existovat číselný systém, kde kromě 0 existuje i nějaké číslo ω, které je zdola nedosažitelné – není následovníkem jiného čísla. Takové číslo musí být větší než všechna klasická přirozená čísla (to lze vyvodit z axiomů) a stejně tak musí existovat i ještě větší čísla jako ω + 1 nebo 2ω = ω + ω, které tím pádem taky musí být nedosažitelné.

Takových systémů existuje nepřeberné množství, dokonce pro libovolnou velikost číselné množiny se dá vždy nějaký najít. Někdy však není na škodu se přiklonit ke konstruktivismu, minimálně při psaní článků o matematice, a proto by bylo dobré se snažit najít konkrétní způsoby, jak se k takovým číslům dostat, a nespokojit se jen s popisem, jak vypadají nebo co s nimi lze dělat. Zatím pro nás tedy taková čísla zůstávají jen hvězdami na obloze, u kterých nevíme, jak jsou daleko, ani z čeho jsou.

Na nějakou chvíli tak některé naše otázky zůstanou ještě nezodpovězeny, ale konečně jsme se dostali k jednomu konceptu, který na nás čekal už od začátku: k nekonečnu. Zatím jsme mluvili pouze o nekonečných množinách, ale nyní vidíme odraz nekonečna v objektu, který s množinami nesouvisí. Ono číslo ω je větší než jakékoliv standardní přirozené číslo, a tedy o něm můžeme mluvit jako o nekonečně velkém čísle, ovšem není zdaleka jediné.

V příští kapitole se podíváme na další způsoby, jak dosáhnout nekonečna.

středa 13. října 2021

O číslech, část 8: Čísla 𝑝-adická

Běžně používaná čísla v matematice jsou dnes dvojí: reálná čísla a komplexní čísla. Reálná čísla byla zatím určitým maximem, ke kterému jsme se dostávali, aniž bychom přicházeli o užitečné vlasnosti, zatímco o úroveň vyšší komplexní čísla nám sice umožňují vyjádřit odmocninu z −1, ale ztrácí vlastnost lineární uspořádanosti. V rovině už prostě nemáme možnost hovořit smysluplně o nějakém univerzálním pořadí, které by mělo stejné vlastnosti jako pořadí na číselné ose.

Komplexní čísla jsou jistým milníkem v našem putování, který odděluje běžné číselné množiny od těch exotických. Neznamená to, že vše následující je jen nepraktickou kuriozitou, naopak, ale nesmíme být překvapeni, pokud narazíme na něco, co je v rozporu s naším chápáním reality.

V tomto článku se napřed musíme vrátit téměř na samotný počátek našeho matematického putování, ještě do dob, kdy naše cesta byla přímočará a rozhodnutí jasná. Bylo tomu ale opravdu tak? Pojďme si (opět) rekapitulovat, jak vznikla reálná čísla:

  • Pro účely reprezentace počtu či pořadí jsme pomocí operace následovníka vytvořili přirozená čísla a nad nimi operace sčítání a násobení.
  • Po seznání, že sčítání v některých případech není invertibilní, jsme vytvořili celá čísla jako dvojice charakterizující rozdíl.
  • Násobení stále ještě též invertibilní nebylo, takže jsme analogicky vytvořili racionální čísla.
  • Pozorovali jsme, že některé množiny racionálních čísel mají „okraj“, který není sám racionální, a doplněním vznikla reálná čísla.

Mohli jsme na této cestě někde odbočit a dojít k něčemu jinému? Těžko si lze představit, že by existoval nějaký jiný způsob, jak vytvořit přirozená čísla, a další dvě následující číselné množiny taky nejsou ničím parametrizované, co však reálná čísla?

K reálným číslům se dá dojít mnoha způsoby, v závislosti na tom, na co se zaměřujeme. Z pohledu notace si můžeme reálné číslo představit jako nekonečný součet číslicových násobků stále se zmenšujících mocnin deseti a i to je validní definice. Původně jsme je definovali jako ohraničení (suprema) množin reálných čísel, což je v principu zaměřeno na porovnávání. V obou případech však je cílem najít číslo, ke kterému se mohla již známá čísla blížit, ačkoliv nové číslo mezi nimi neexistovalo. Jak ale něco takového můžeme formalizovat?

V matematice je přibližování charakterizováno pojmem limita. Zjednodušeně je limita něco, k čemu se posloupnost (nebo funkce) blíží v okolí nějakého bodu. Tím může být třeba i nekonečno a znamená to, že ať si budeme přát jakékoliv přiblížení k žádané hodnotě, stačí přeskočit jen konečné množství prvků posloupnosti, než se k ní dostaneme na dané přiblížení. Je to vlastně forma boje: protivník nám zadá vzdálenost, kterou chce, a my musíme najít index v posloupnosti, od kterého dál se to k oné hodnotě bude vždy blížit. Pokud takový index existuje, je daná hodnota limitou.

V celé množině racionálních čísel můžeme najít spousty posloupností, které mají (konečnou) limitu, která ale není racionální, a právě tyto posloupnosti nám umožní definovat reálná čísla (stačí se podívat na příklad s notací, i částečné součty – desetinné aproximace reálného čísla – se k němu takto blíží). Je zde ale „malý“ problém: jak použít tento přístup k definici reálných čísel, když už musí existovat, abychom mohli vyjádřit přiblížení k nějakému takovému číslu? To by byla definice kruhem; nemůžeme pomocí reálných čísel definovat reálná čísla.

Záchranu pro nás představují cauchyovské posloupnosti. Zatímco konvergence posloupností (tedy otázka, zdali mají limitu) potřebovala tu limitu znát předem, definice cauchyovské posloupnosti to nepotřebuje – postačující kritérium je, aby se k sobě od určitého místa libovolně blížily samotné prvky té posloupnosti navzájem. Protivník nám tedy nyní dá jen vzdálenost (a už ne testovanou limitu) a my hledáme místo, kde můžeme odříznout novou posloupnost, kde libovolné dva prvky budou od sebe vzdálené nejvýše tak, jak nám bylo zadáno.

https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/Cauchy_sequence_illustration.svg/1024px-Cauchy_sequence_illustration.svg.png 

Pro reálná čísla konvergentní a cauchyovské posloupnosti splývají, ale racionální čísla mají mnoho cauchyovských posloupností, které se k žádnému racionálnímu číslu neblíží (nýbrž k iracionálnímu). Teď už je to pro nás jednoduché – stačí každé reálné číslo identifikovat pomocí cauchyovské posloupnosti (vytvoříme takzvanou cauchyovsky úplnou množinu). Musíme být jen trochu opatrní, protože mohou existovat různé posloupnosti, které se blíží ke stejnému iracionálnímu číslu, takže ve skutečnosti každé reálné číslo je celá třída ekvivalence cauchyovských posloupností, jejichž rozdíl má nulovou limitu (to je ta ekvivalence). Reálné číslo je tedy zase množina.

Tak se nám podařilo opět definovat reálná čísla, ale mohli jsme si v tomto případě někde vybrat?

Zacházeli jsme intuitivně s pojmem vzdálenost. Co je vzdálenost? V našem pojetí to byla tzv. eukleidovská metrika, tedy v případě racionálních čísel prostá absolutní hodnota jejich rozdílu. Je to ale jediná možnost?

I metrika musí splňovat nějakou definici, abychom ji tak mohli chápat. Metrika (na nějaké množině) musí splňovat toto:

  • Nulová metrika dvou bodů znamená, že to jsou tytéž body, a naopak.
  • Metrika je symetrická (z jednoho bodu do druhého to je stejně daleko jako v opačném směru).
  • Platí trojúhelníková nerovnost (přímá cesta mezi dvěma body je ta nejkratší, cesta přes třetí bod nemůže být kratší).

S těmito vlastnostmi vzniká metrický prostor a jen v takovém případě dává smysl hledat limity a cauchyovské posloupnosti. Kromě klasické metriky si můžeme vymyslet spoustu dalších, třeba součet nebo maximum absolutních hodnot. Mnoho z nich by taky vedlo k reálným číslům.

A pak je tu p-adická metrika, kde p je libovolné prvočíslo. S ní vznikne něco, co popírá intuici. Cesta k ní je trochu komplikovaná, ale není tak těžké ji pochopit:

  1. Porovnávaná čísla od sebe odečteme, výsledek nazvěme x.
  2. Porovnáváme jen racionální čísla, takže i x je racionální a vyjádřitelné jako zlomek v základním tvaru (kde čitatel i jmenovatel jsou nesoudělná čísla).
  3. Pokud je čitatel dělitelný p, celý zlomek vydělíme p. Pokud je dělitelný jmenovatel, celý zlomek násobíme p. Nemůže nastat obojí, protože pak by to nebyl zlomek v základním tvaru.
  4. Krok výše opakujeme, dokud to jde, tedy jednoduše dělíme čitatel nebo jmenovatel p do úplného vydělení.
  5. Tímto způsobem získáme vyjádření x = pka/b. Celé číslo k představuje jakýsi řád zlomku vzhledem k p. Jeho absolutní hondota představuje množství kroků, které jsme museli učinit, než neměl daný zlomek nic společného s p, a znaménko představuje tu část zlomku, kterou jsme redukovali (kladné v případě čitatele, záporné v případě jmenovatele). Číslo k vždy existuje a je jednoznačné; zbytek a/b nás už nadále nezajímá.
  6. Výsledná metrika je pk.

Ještě je nutno dodat, že pokud je x rovno nule (a porovnáváme tedy stejná čísla), takto definovaná metrika by byla 1, což podle pravidel nejde, takže nulu musíme stanovit jako výjimku v tomto postupu, abychom splnili první pravidlo. Druhé pravidlo metriky platí též, protože mocninu p z nějakého zlomku vytáhneme bez ohledu na jeho znaménko. Trojúhelníková nerovnost platí taky, dokonce ještě v silnější formě: cesta přes jiný bod bude z jednoho směru vždy delší už v momentě, kdy se dostaneme do toho bodu.

Ve skutečnosti by toto celé nebylo tak zajímavé, nebýt kroku 6 a především znaménka v daném vzorci. Jak se takováto vzdálenost tedy chová?

  • Dvě stejná čísla mají vzdálenost 0 (jinak to ani nejde).
  • Pokud se dvě čísla liší o něco, co není vyjádřitelné mocninou p vzhledem k postupu výše, jejich vzdálenost je 1.
  • Pokud se dvě čísla liší o nějaký nízký celočíselný násobek p (menší než p), jejich vzdálenost je 1/p.
  • Pokud se dvě čísla liší o násobek p², jejich vzdálenost je 1/p².

A zde je ten zvláštní jev: rozdíly ve stále větších mocninách p jsou z pohledu p-adické metriky stále menší a menší. Pro p = 2 tak třeba čísla 2, 4, 8, 16, 32 atd. jsou stále blíže nule, přestože by se taková posloupnost za normálních okolností ničemu neblížila, a naopak jejich převrácené hodnoty se od nuly neustále vzdalují, opět v rozporu s eukleidovskou metrikou.

 

Triadická čísla (p = 3). Zmenšující se kružnice obklopují k sobě triadicky bližší a bližší čísla.

Není však potřeba předbíhat – máme p-adickou metriku, máme racionální čísla a jejich cauchyovským doplněním vzniknou p-adická čísla ℚp, skládající ze z cauchyovských posloupností racionálních čísel vzhledem k dané metrice. Ačkoliv to vypadá zvláštně, vše z toho je legitimní postup.

Jak takové posloupnosti vypadají? Samozřejmě některé z nich stále odpovídají racionálním číslům (konstantní posloupnosti), ale nová p-adicky iracionální čísla jsou tam, kde jsme ještě nikdy předtím čísla neviděli. Předně neobsahují žádná klasická iracionální čísla, protože k nim se nemůžeme p-adicky přibližovat (stále detailnější desetinné aproximace nějakého iracionálního čísla se od něj p-adicky vzdalují nebo zachovávají vzdálenost 1). Nová čísla jsou posloupnosti, které se postupně liší ve stále větších a větších mocninách p.

Nyní nastává první případ, kdy poruším svůj zvyk neupínat se na notaci, protože v tomto případě nám používání číslic a číselné soustavy nijak neuškodí. Nyní totiž vychází z parametru p, který tyto systémy odlišuje, narozdíl třeba od desítkové soustavy pro reálná čísla, která nijak unikátní není. V tomto případě jednoduše rozdílná p vedou k rozdílným číselným množinám, ale naštěstí stačí stále jen p číslic pro reprezentaci čísel v nich.

Zatímco reálná čísla se dají zapsat pomocí nekonečné posloupnosti číslic za desetinnou čárkou, p-adická čísla umožňují nekonečnou posloupnost číslic před desetinnou čárkou, ale fanouškům nekonečna bych ještě jásat nedoporučoval, dokud nezjistíme, co všechno nám taková reprezentace umožňuje vyjádřit.

Začneme s p = 2, vzniknou tedy dyadická čísla (zde je vidět původ obecného názvu). Stačí nám tím pádem jen nuly a jedničky a čísla 0, 1, 10, 11, 100, 101 atd. Jako první můžeme zkusit číslo ...111111, tedy nekonečno jedniček. Je toto číslo nekonečné? Zkusme přičíst 1, tím dostaneme postupně ...111110, ...111100, ...111000 atd. Z dyadického pohledu se tyto výsledky stále zmenšují až na nulu (odebíráme vyšší a vyšší mocniny 2), takže, když přičtením 1 vznikne 0, ...111111 musí být vlastně −1!

Z dyadických čísel můžeme tím pádem hezky vyčlenit celá čísla, pokud ona nekonečná posloupnost vlevo představuje pouze samé nuly nebo samé jedničky. Toto chování by mělo být programátorům dobře známé, protože odpovídá dvojkovému doplňku, způsobu, jak ukládat do paměti záporná celá čísla. Máme-li třeba 8 bitů (dvojkových číslic), chceme, aby součet čísla a jeho dvojkového doplňku byl 2⁸ = 256; dvojkový doplněk čísla 7 (00000111) je tedy 249 (11111001) a přesně takto se uloží −7. To se navíc chová stejně nehledě na počet bitů, tedy si můžeme představit, že dyadicky vyjádřené záporné celé číslo je vlastně jen ve dvojkovém doplňku při dostatečně velkém počtu bitů, a k němu se dostaneme prostě tak, že otočíme všechny bity a přičteme 1. Samozřejmě velikost jakýchkoliv takto uložených čísel je v praxi omezená, takže se nakonec musíme dostat do situace, kdy se změní i ten nejvyšší bit (který zastupuje celou nekonečnou levou posloupnost) a dojde k přetečení.

Jaká další záhadná čísla dokážeme odhalit? Co třeba ...101010? Jakákoliv p-adická čísla tvoří těleso, takže si můžeme dovolit dělat klasické rovnice. Když x je ...101010, 2x je ...1010100 a tedy 3x = x + 2x je ...111110, nám už dlouho známé číslo −2, takže x jsou vlastně −2/3. Tím pádem i klasickou 1/3 dostaneme přičtením jedné a vznikne ...101011. Asi je jasné, že tento příklad nám rozbil jakoukoliv naději, že porovnávání čísel budeme moct dělat stejně jako doposud, a ve skutečnosti p-adická čísla nelze klasicky porovnávat vůbec (netvoří uspořádané těleso). Zároveň i zde se skrývá určité spojení s celočíselnou aritmetikou na procesorech – pokud v nějakém programovacím jazyce dělíte konstantou, která není mocninou 2, často se to převede na proces, jehož součástí je násobení oříznutou podobou dyadické reprezentace původního zlomku (např. dělení třemi vede k násobení číslem 2863311531, v dvojkové soustavě 10101010101010101010101010101011).

Jak poznat, co za dyadické číslo před sebou máme? Pokud je racionální, musí existovat od určitého řádu posloupnost číslic, která se opakuje (p-adická perioda). Pak tuto posloupnost rozšíříme do celého čísla a vznikne „zlomková část“ (ta bude ještě k tomu záporná). Když ji odečteme od původního čísla, už dostaneme klasické celé číslo, které nám umožní zjistit, jakého znaménka bylo číslo původní. V podstatě jsme provedli p-adické zaokrouhlení.

Reálná čísla povolují jen konečný počet číslic před desetinnou čárkou, a tak i p-adická čísla povolují jen konečný počet číslic za ní. Tím pádem dyadická jedna polovina musí být 0,1, aby její dvojnásobek byl 1. Zaokhrouhlování tím pádem máme dvojí; napřed se zbavíme dyadické zlomkové části (tedy součtu mocnin dvou, který se schovává za desetinnou čárkou), čímž vznikne dyadické celé číslo, a pak teprve můžeme odstranit nekonečnou posloupnost číslic.

Už tedy víme, že p-adická čísla umožňují zajímavým způsobem reprezentovat čísla racionální, ale zmínil jsem, že se jedná o jisté doplnění, tedy vzniknou i nová čísla. Tato čísla se dají reprezentovat neukončenou neperiodickou posloupností číslic směrem vlevo podobně jako iracionální reálná čísla (a můžeme tedy rozlišovat i spočitatelná p-adická čísla apod.). Nejsou tedy p-adická čísla svým způsobem ekvivalentní reálným? Algebraicky ne, protože třeba odmocniny ne vždy existují, pro p = 2 třeba neexistují vůbec. Oproti tomu v triadických číslech existují třeba dvě odmocniny z −2 a dalších čísel, ale ze 2 zrovna ne, takže už z tohoto může být zřejmé, že to opravdu nefunguje tak, jak jsme zvyklí.

I v případě, kdy posloupnost zlomků definující nějaké p-adické číslo definuje i číslo reálné, se tato dvě čísla mohou chovat odlišně, jednoduše z toho důvodu, že pro obě metriky je podstatné něco jiného. Z toho důvodu je lepší chápat každé těleso p-adických čísel jako doplnění o nové a unikátní prvky, které nemají přesnou obdobu v číslech reálných, a dokonce ani v jiných p-adických.

Chování těchto čísel může mnohým lidem připadat, že jsme na naší cestě spíš někde špatně odbočili, než že jsme stáli před volbou, ale svým způsobem jsou reálná čísla tím zvláštním případem. Dokonce další podobné doplnění racionálních čísel už neexistuje, takže z racionálních čísel vedou jen cesty do čísel reálných a p-adických. Proto se občas reálná čísla mohou analogicky značit ℚ, kde ∞ zastupuje záhadný matematický objekt zvaný „prvočíslo v nekonečnu“, byť se jedná spíš o symbolickou než hluboce teoretickou entitu.

Reálná čisla samozřejmě nebyla konec cesty – vedla mimo jiné do čísel komplexních, která vznikla algebraickým doplněním, aby každá polynomiální rovnice měla řešení. Jde totéž udělat i s čísly p-adickými? Nu ano, pak vznikne algebraicky úplné nadtěleso p-adických čísel, ovšem zajímavý fakt je ten, že pro změnu nebude (narozdíl od ℂ) cauchyovsky úplné (tedy některé posloupnosti se blíží k neexistujícímu prvku). Když ho ovšem opět doplníme o tyto posloupnosti, vznikne těleso ℂp, komplexní p-adická čísla, jež jsou uzavřená z obou hledisek.

Na tomto místě se může zdát, že kromě reálných a komplexních čísel se nám tu vyrojilo nekonečno dalších čísel ℚp a ℂp na výběr, ale zdání leckdy klame. Ve skutečnosti je každé těleso ℂp až na onu metriku izomorfní s komplexními čísly ℂ, takže, z určitého úhlu pohledu, mohou být reálná i p-adická čísla vnímána jen jako část velké rodiny komplexních čísel. Nakonec je vlastně jedno, kdy se schopnosti porovnávání zbavíme.

K onomu izomorfismu je ovšem nutno dodat, že není ani zřejmý, ani jednoznačný. Jistá symetrie komplexních čísel se projevuje i tady, tedy odmocnina z −1 může být jak i, tak −i, a je na nás, který výsledek ztotožníme s nějakou algebraickou p-adickou odmocninou z −1. Zároveň je důležité si uvědomit, že ℂ a ℂp jsou nerozlišitelné jen jako tělesa, takže jiné konstrukty (porovnávání nebo absolutní hodnota), které jsou vázané na jejich konkrétní podobu, se mohou lišit.

Snažil jsem se přijít na nějakou vizuální reprezentaci p-adických čísel, která by zapadala do světa, který jsem vymýšlel doposud, ale žádná uspokojivá mě nenapadá. Takový svět je bez jasných směrů, bez jasných vzdáleností, nekonečný, ale opakující se, fraktálový, ale přesto hladký. Možná je takový svět na kvantové úrovni; jisté náznaky toho by tu byly, a to by možná potom znamenalo, že podstatou celého světa jsou komplexní čísla, reálná na makroskopické a p-adická na mikroskopické úrovni. Těžko říct, jestli se to někdy dozvíme.

čtvrtek 30. září 2021

O číslech, část 7: Čísla vícerozměrná

V minulých kapitolách jsme se setkali s rozličnými číselnými množinami, které měly různé zajímavé vlastnosti, ale všechny z nich byly buď konečné, nebo byly součástí reálných čísel. Až na samém konci minulého článku se objevila myšlenka, že bychom mohli skládat nové číselné množiny z již existujících čísel a třeba by mohl být výsledek nějak užitečný.

Napřed je však potřeba si ujasnit, proč bychom vůbec měli výtvorům, které uvidíme, říkat čísla. V předchozí kapitole bylo rigorózně definováno něco, čemu se v algebře říká lineárně uspořádané těleso. Ve zkratce se jedná o něco, co se chová víceméně jako klasické číselné množiny, např. racionální nebo reálná čísla. Je ovšem potřeba dodat, že tato definice není zdaleka ultimátní: je spousta dalších axiomů, které splňují racionální i reálná čísla, ale ne jiná tělesa (koneckonců díky tomu je můžeme vůbec odlišit), a naopak narazíme na věci, kterým bychom mohli říkat čísla, přestože některé axiomy tělesa nesplňují.

Co je tedy vícerozměrné číslo? Obecně se jedná o nějakou uspořádanou skupinu čísel, tedy třeba dvojici, trojici, čtveřici atd. (tomu se v algebře obvykle říká vektor, například množina všech dvojic reálných čísel se značí ℝ×ℝ nebo ℝ²). Tohle samotné ještě samozřejmě nestačí – potřebujeme definovat základní číselné operace.

Sčítání jde ještě lehce, dejme tomu (a, b) + (c, d) = (a + c, b + d). Z toho vyplývá, že −(a, b) = (−a, −b) a tedy nulový prvek musí být (0, 0). Takhle se chovají i vektory v kartézské soustavě souřadnic, které mají ještě navíc i vlastnost ve vztahu k násobení: k(a, b) = (ka, kb).

Co násobení? První nápad každého, kdo se s tímto setká, je určitě zkusit (a, b)⋅(c, d) = (ac, bd), z čehož vyplývá (a, b)/(c, d) = (a/c, b/d). Na takovéto definici v principu není nic špatného, používají ji třeba procesory pro zrychlení hromadných operací s čísly, ale matematikům se moc nehodí. První problém je ten, že dělení je problematické, ať je napravo nula kdekoliv, takže výsledek už není těleso. Druhý problém je trochu praktičtější – obě složky nemají už žádnou možnost, jak spolu interagovat, a výsledek tím pádem zůstane navěky jen seskupením dvou čísel, což matematiku nijak neobohatí.

Ne, musíme na to jít chytřeji. Můžeme se třeba inspirovat vektory, které umožňují ještě k(a, b), jenomže k je číslo, ne dvojice! Potřebujeme způsob, jak „povýšit“ nějaké reálné číslo do naší nové množiny, dejme tomu třeba jako (k, 0), a tedy chceme (k, 0)⋅(a, b) = (ka, kb). Z toho vyplývá, že (a, b)⋅(c, d) musí být ve tvaru (ac + d⋅něco, bc + d⋅něco) nebo (ac + b⋅něco, ad + b⋅něco), aby to pořád odpovídalo předchozímu případu, pokud by b nebo d bylo 0.

Vypadá to, že i tak máme spoustu možností, jak pokračovat, ale nepředbíhejme. Pokud se omezíme jen na součty násobků dvou proměnných v doplňovaných výrazech (to je rozumné omezení, protože by jinak neseděly jednotky, pokud by se nějaké používaly) a započítáme do toho klasické zákony násobení (komutativní, asociativní, distributivní), nakonec se celý výraz zredukuje jen na (ac + kbd, ad + b(c + ld)).

Vypadá to tedy, že možností, jak by mohlo fungovat násobení dvojrozměrných čísel, není zase tolik, stačí nám jen parametry k a l na jejich popsání. Pořád ale ten vzorec pro součin vypadá trochu složitě, nešlo by to nějak zjednodušit či vyjádřit intuitivněji? Šlo, ale potřebujeme na to malý algebraický trik.

Pokud potřebujeme pracovat s nějakou veličinou, ale neznáme její hodnotu, použijeme proměnnou, třeba x. Výraz a + bx je v mnoha ohledech podobný dvojici (a, b), protože obě entity jsou prvky nějakého vektorového prostoru. Zatímco však násobit vektory obecně nemusí jít, násobení výrazů jde: (a + bx)⋅(c + dx) = ac + (ad + bc)x + bdx². Na vyjádření tohoto výrazu však potřebujeme tři složky, jednu navíc pro x². Co kdybychom ale mohli x² vyjádřit jen pomocí dvou složek, tedy ve tvaru k + lx? Pokud si toto zkusíte do vzorce dosadit, vyjde přesně ten samý výraz, ke kterému jsme došli po zjednodušení násobení.

Tím jsme ukázali, že není potřeba pracovat s komplikovanými výrazy, protože ať se budeme snažit jakkoliv, násobení dvojrozměrných čísel bude vždy fungovat jako násobení výrazů (a platí to i pro vyšší rozměry), pokud se půjde zbavit x². Sice nám to teoreticky dává celou rovinu číselných systémů, ale matematika je někdy potvora: parametr l na strukturu množiny moc vliv nemá, ve skutečnosti jen způsobuje jakési zkosení celé roviny, takže ho řešit nemusíme. Parametr k určuje, jak moc se do první složky započítá složka druhá, ale ve skutečnosti je důležité opět jen jeho znaménko, protože to ostatní ovlivňuje jen zvětšení celé roviny.

Pro praktické zkoumání existují tedy jen 3 možnosti, čemu se bude rovnat x²: 0, 1 a −1. Zároveň se nám bude hodit ještě jedna nová operace a sice sdružené číslo (a, −b). Tato operace je užitečná, neboť společně s násobením nám umožní dostat z nějakého dvojrozměrného čísla zpět reálné číslo, které určuje jeho velikost, jako (a + bx)⋅(abx) = a² − b²x² (a odmocnina z této veličiny je absolutní hodnota).

Čísla duální

Dejme tomu, že x² = 0. Moment, ale pak platí x = 0, ne? Platilo by, kdybychom řešili rovnici v reálných číslech, ale my se snažíme reálná čísla rozšířit pomocí výrazů – x² = 0 je definice, ne rovnice, navíc samotný výraz x² je vlastně (0, 1)², ne (0, 0)² a x je jednotka, ne proměnná.

Takováto definice násobení znamená, že první složka takového čísla je naprosto nezávislá na druhé, ať je budeme sčítat nebo násobit, jak budeme chtít. I to má určité výhody, protože pokud druhou složku skryjeme, aritmetika může fungovat pořád stejně, ale můžeme si nechávat stranou užitečné informace. Zatím možná není patrné jaké, ale možná trochu napoví, že jednotka x se v tomto číselném systému značí ε.

Máme tedy ε² = 0 (a ε 0) a násobení (a + )⋅(c + ) = ac + (ad + bc)ε. U ε se nám tedy hromadí násobky první složky s druhou, ale násobky čistě jen druhé složky už nejsou významné. Tento systém připomíná praxi známou ve fyzice, kde se často, pro zjednodušení, pracuje s nějakou velmi malou hodnotou ε, která je na hranici zanedbatelnosti, což ovšem znamená, že ε² je opravdu zanedbatelné. V tomto případě se náš systém chová podobně a můžeme to tedy chápat tak, že ε reprezentuje nějaké neznámé číslo, které ale bude vždy menší než to nejmenší, se kterým pracujeme.

Čísla duální se skládají ze dvou složek, standardní části a infinitesimální (nekonečně malé) části. Můžeme je hezky lineárně uspořádat, na což stačí klasické uspořádání s prioritami, tedy první složka má prioritu a pokud je stejná, pořadí určuje druhá. Okolo každého reálného čísla nám tím vzniká jakési nekonečně malé okolí duálních čísel se stejnou standardní částí, ale nenulovou infinitesimální částí. Tu můžeme odstranit jakýmsi „zaokrouhlením“, které vezme jen standardní část, nebo absolutní hodnotou, která pro duální čísla je prostě absolutní hodnota standardní části.

Tvoří duální čísla těleso? Bohužel netvoří, což je patrné třeba z faktu, že existuje více „nul“ než jen 0; jsou to všechny násobky ε (tzn. 1/ε apod. není definováno). Musíme být v tomto světě tedy obezřetní, protože se mohou vyskytnout další anomálie.

Jedna z anomálií je třeba spjata s faktem, že se nám ztrácí při násobení informace, takže odmocnina z ε² může být zároveň 0, ε i −ε. Navíc neexistuje ani odmocnina z žádného násobku ε (pokud by existovala, musela by mít nulovou standardní část, ale druhá mocnina každého takového čísla je 0). Na nulu si tady prostě musíme dávat velký pozor.

Mají duální čísla nějaké využití, přestože nejsou těleso? Ve skutečnosti mají, protože infinitesimální složka se dá chápat jako určitý sklon či směr v okolí standardní části. Proč? Zkusme vzít třeba (1 + ε)² = 1 + 2ε. Základ si můžeme představit jako okolí bodu (1, 1) na funkci y = x; umocněním na druhou nám vznikne x². Pro ni je výsledek sice pořád 1, ale v okolí toho bodu roste dvakrát více. Je to tedy derivace, která se u infinitesimální jednotky ukládá. Pomocí Taylorovy řady navíc můžeme vyjádřit (pro rozumné funkce) pro okolí libovolného bodu tvar té křivky jen pomocí součtů a součinů, takže tento trik funguje pro libovolnou funkci, kde dává smysl mluvit o derivaci.

I když to tak na první pohled možná není vidět, tímto způsobem se dá spočítat i druhá (a další) derivace, ovšem jejich počet musí být předem omezený. Stačí kromě ε přidat ještě třeba φ, tedy další infinitesimální jednotku, čímž se zvýší dimenze systému na 4 a koeficient εφ bude uchovávat druhou derivaci.

Duální čísla představují skvělý nástroj, pokud potřebujeme spočítat zároveň hodnotu funkce i její první derivace, pokud je to funkce složená z jiných funkcí, jejichž derivace známe, což se hodí jak při praktických výpočtech, tak v nějakém specializovaném softwaru, i když pokud je takových bodů víc, získat derivaci jako funkci přímo se možná vyplatí víc.

Čísla hyperbolická

Další možnost pro x² je 1. V takovém případě značíme jednotku j (opět to není 1) a vzniknou čísla známá pod různými názvy, v češtině nejlépe jako hyperbolická. Důvod tohoto označení je prostý: každé absolutní hodnotě odpovídá hyperbola, na níž mají všechna čísla stejnou absolutní hodnotu.

V extrémním případě nulové absolutní hodnoty tomu odpovídá hyperbola zdegenerovaná do dvou diagonálních přímek, které zároveň představují všechny nulové body. Z toho vyplývá, že hyperbolická čísla opět netvoří těleso. Absolutní hodnota má taky jeden problém, a sice že výraz a² − b² z důvodu záporných čísel (která odpovídají o 90 ° otočené hyperbole) nemá smysluplnou odmocninu a tím pádem je jeho použití trochu problematické (třeba musíme odmocninu ignorovat, ovšem pak už to nemá vlastnosti jiných absolutních hodnot).

Pro pohyb po hyperbole se používají takzvané hyperbolické funkce (obdoba goniometrických funkcí), které mají uplatnění i tady. Hyperbolické číslo se díky nim dá vyjádřit též pomocí polárních souřadnic, tedy jeho absolutní hodnoty a hyperbolického úhlu, což je další způsob, jak lze takové číslo zapisovat (a některé operace to může zjednodušovat). Kromě toho se též používá tzv. diagonální báze, kde se místo základních jednotek (1, 0) a (0, 1) používají jednotky (½, ½) a (½, −½) a nový souřadnicový systém používá jejich lineární kombinace (součet jejich násobků), což může být užitečné, neboť pak se obě hyperboly dají vyjádřit klasickou lineární lomenou funkcí.

Diagonální jednotky mají tu hezkou vlastnost, že jejich násobení je idempotentní, tedy že umocňování takové jednotky její hodnotu nijak nezmění, což se pro jednotku určitě hodí (a toto je taky jediný takový systém, kde se dají najít dvě takové jednotky). Ve skutečnosti tento systém aritmetiku s takovými čísly značně zjednoduší, protože násobení dvou hyperbolických čísel je prosté násobení po složkách, stejně jako sčítání, a z toho vyplývá, že i dělení funguje po složkách (všechny nulové body mají 0 v jedné ze souřadnic), stejně tak umocňování přirozenými čísly, a absolutní hodnota takového čísla je prostě součin jeho souřadnic.

To celé znamená, že tento systém je izomorfní s oněmi dvojicemi reálných čísel, které jsme zkusili na začátku, alespoň co se týče klasických operací. Můžeme převádět libovolně mezi oběma způsoby a vybrat si ten, který je lepší. Pokud potřebujeme zjistit hodnotu nějaké operace pro hyperbolické číslo, stačí jej převést do jeho „nezávislé“ diagonální podoby, kde spolu jeho složky nijak neinteragují a můžeme operace aplikovat nezávisle. Pokud potřebujeme řešit transformace nebo operovat s výrazy či neznámými, základní tvar se naopak může hodit více.

Jak jsem zmínil na začátku, samotné dvojice čísel nejsou tak užitečné, a přestože hyperbolická čísla přidávají najíc způsob, jak je algebraicky propojit, nemají zase tolik využití. Přesto však mají některé užitečné aplikace, které vycházejí z jejich schopnosti algebraicky reprezentovat rovinu způsobem, který obě osy staví na stejnou úroveň. Tato vlastnost totiž neplatí pro jejich kolegu z této skupiny čísel, kterým jsou mnohem známější...

Čísla komplexní

Po malém protahování jsme se dostali nakonec k tomu, co pro mnohé studenty představuje vrchol putování matematickým univerzem. Pokud jste doteď namítali, že uvedené číselné množiny jsou zbytečné, sice pravdu nemáte, ale ve srovnání s čísly komplexními opravdu blednou. Proč? Zde nazývaná imaginární jednotka je i a i² je −1. Rozdíl je už patrný: zatímco v předchozích případech nebyla nová jednotka jediným řešením své definice, pokud bychom ji chápali jako rovnici, v tomto případě potřebujeme i, pokud chceme mít záporné mocniny. Zatímco předtím nám nová jednotka umožňovala elegantně spojit více informací, zde nám umožní vůbec popsat něco, pro jehož popsání doposud neexistoval jazyk.

Máme odmocninu z −1, ovšem samozřejmě ne jednu – kromě i to taky splňuje i −i. Podobně jako u hyperbolických čísel tu je jakási symetrie, protože i a −i jsou v podstatě zaměnitelné. Jak si je vůbec může člověk představit? Samozřejmě se vyskytujeme pořád v rovině, ale zatímco hyperbolická čísla měla hyperbolu, hyperbolické funkce a e, komplexní čísla mají kružnici, goniometrické funkce a π, aniž bych to s tou paralelou musel přehánět.

Co zde tedy znamenají kružnice? Inu čísla 1, i, −1 a −i jako vektory samozřejmě leží na kružnici, ale zároveň představují posun po kružnici v nějakém (předem dohodnutém) směru, podobně jako hyperbolická čísla představují posun po hyperbole. Tento posun se ukrývá v násobení: násobení číslem 1 hodnotu nezmění (otočení o 0 °), násobení číslem −1 je otočení o 180 °, takže i a −i musí být otočení o 90 ° a −90 °. Teď už je jasné, proč tato a jen tato čísla jsou odmocninami z −1, z hlediska pohybu po kružnici jsou na půli cesty mezi 1 a −1, jsou jakýmsi jejich geometrickým průměrem.

Komplexní čísla jsou navíc (navzdory jejich názvu) trochu lépe uchopitelná než hyperbolická, především díky jejich jasnějšímu vztahu s geometrií a reálným světem. Pohyb po kružnici je přece jenom trochu jednodušší než po hyperbole, kde musíme dvakrát navštívit nekonečno, byť z hlediska numerického je lépe vyjádřitelný (hyperbolické funkce potřebují jen mocniny e, zatímco goniometrickým funkcím π nestačí).

Komplexní čísla mají mnoho využití v matematice i fyzice. V matematice jsou potřeba, pokud musíme rozložit na součin jinak nerozložitelné mnohočleny, např. x² + 1 = (x + i)⋅(x − i), což využívá algebra i analýza. Ve fyzice se hodí pro popis jakéhokoliv jevu, kde dochází k pohybu po kružnici nejenom fyzicky, ale i virtuálně v různých veličinách, např. při popisu oscilace a tedy třeba elektřiny.

Zbývá vyřešit poslední otázku: tvoří komplexní čísla těleso? Ano, protože nulovým prvkem je zde pouze a jedině 0. Ostatní čísla mají kladnou absolutní hodnotu a lze je vesele násobit i dělit. Komplexní čísla tedy představují ten nejlogičtější stupeň, který si zvolit, pokud si chceme zachovat co nejvíc vlasností.

Problém ovšem nastává u uspořádání. Asi je to jasné z logiky věci, ale narozdíl od reálných čísel zde pojmy „větší“ a „menší“ nedávají dobrý smysl, protože se už pohybujeme v mnoha dalších směrech než jen dvou. Ačkoliv dokážeme najít lineární uspořádání (třeba lexikograficky po složkách), nikdy z toho uspořádané těleso nebude (bude-li 0 ≤ i, neplatí 0 ≤ i²; bude-li 0 ≤ −i, neplatí 0 ≤ (−i)², ale právě jedno z toho platit musí, abychom tomu mohli říkat uspořádané těleso).

 

Díky dobrému algebraickému použití všech těchto čísel nám nic nebrání je zkombinovat, tedy vytvořit systém, kde bude libovolný počet infinitesimálních, hyperbolických i imaginárních jednotek, například tzv. bikomplexní čísla, kde se v principu nachází j a i, a samozřejmě ani nikde není stanoveno, že základem musí být čísla reálná.  Ve všech těchto situacích jsme však museli něco obětovat, abychom se dostali dál – výsledek nikdy nebylo uspořádané těleso v žádném z těchto případů, a bohužel není obecně tak jednoduché takové těleso dostat. Tenhle problém v principu nemusí vadit, ale s každou ztracenou vlastností dostáváme něco, co je méně a méně „číselné“.

Budiž, dejme tomu, že jsme připraveni zahodit další vlastnosti. Můžeme jít výš? Samozřejmě, tam najdeme kvaterniony, které představují rozšíření komplexních čísel s jednotkami i, j, k. Nejen druhá mocnina každé z těchto jednotek je −1, ale i součin všech tří. Kvaterniony reprezentují podíl dvou prostorových vektorů a tedy se dají dobře použít např. k reprezentaci rotace v prostoru. Jejich algebraickou nevýhodou je ovšem to, že násobení není komutativní. Půjdeme-li ještě výše, narazíme na oktoniony, kde násobení už ani není asociativní, a ještě dále jsou 16rozměrné sedeniony, 32rozměrné trigintaduoniony a další a další systémy bez konce. Paralelně s tímto systémem můžeme místo −1 u některých jednotek vzít 1 a najdeme tak ještě další konstrukce.

Tak to vypadá, že nám zde vznikla nehorázná změť matematických objektů, s libovolným množstvím exotických jednotek na jedné straně a hierarchií poločíselných objektů na straně druhé, které se mohou libovolně kombinovat mezi sebou. Tím vzniká systém hyperčísel o nekonečném rozměru, který je ale zároveň nesmírně komplikovaný, aby se s ním dalo něco rozumného dělat. Neexistuje tu však něco, co se chová trochu pravidelněji, ale přesto by zahrnovalo jednotlivé systémy?

Matice

Matice (a obecně tenzory) jsou tabulky čísel. Sčítání funguje stejně jako u předchozích systémů, ale násobení mezi sebou kombinuje řádky jedné a sloupce druhé matice (pomocí skalárního součinu), čímž mezi sebou mohou interagovat.

S touto znalostí můžeme definovat 1 = (
10
01
), ε = (
01
00
), j = (
01
10
), i = (
0−1
10
). Samozřejmě není možné používat všechny nové jednotky vedle sebe ve stejné matici 2×2; na to musíme její rozměry zdvojnásobovat. Koncept absolutní hodnoty též existuje i zde, kde jeho analogií je determinant matice (a pro jednotky výše koresponduje s absolutní hodnotou jednotlivých systémů). Matice mají jistou symetrii vzhledem k hlavní diagonále, která se taky projevuje v chování jednotlivých jednotek.

Násobení matic obecně není komutativní (ale je distributivní), tím pádem matice netvoří těleso, a navíc ne všechny prvky mají převrácenou hodnotu (jen tzv. regulární, kde determinant není 0), tím pádem dělení matic není zrovna jednoduché. Přesto však můžeme s některými maticemi pracovat jako s čísly a pak spočítat třeba sinus matice. Postup je následující:

  1. Matici musíme diagonalizovat. Tato operace z ní vytáhne dvě další matice R a D, přičemž D má prvky pouze na hlavní diagonále a R je regulární. Původní matice se dá zapsat jako RDR−1. Toto lze provést jen u některých matic.
  2. Tento postup nám umožní spočítat libovolnou mocninu původní matice. Důvod je ten, že (RDR−1)⋅(RDR−1) = RDDR−1 atd., tedy stačí umocňovat jen prostřední matici D.
  3. Podobně jako u diagonální báze hyperbolických čísel je v tomto tvaru mocnina matice D velmi jednoduchá, protože stačí umocnit jednotlivé prvky diagonály.
  4. Taylorova řada pro danou funkci nám dá nekonečnou řadu přirozených mocnin celé matice. Díky distributivitě můžeme matice R a R−1 přenést mimo řadu a tím pádem stačí danou funkci aplikovat pouze na prvky diagonály, tedy vznikne Rf(D)R−1.

Pokud matice není diagonalizovatelná (třeba jako matice duálních čísel), tento postup aplikovat nelze, přesto však může existovat (analyticky rozšířená) funkce takové matice, pokud daná Taylorova řada konverguje.


Nyní již máme dobrou představu o tom, jaké různé objekty se dají zkonstruovat z již existujících čísel, a zároveň jsme mohli zabrouzdat trochu dále, do oblastí, kde už nám známé číselné zákony neplatí. Není jednoduché snažit se představit si nové číselné množiny ve světě, který jsem se doteď snažil vykreslit, přesto se však o to pokusím: každé reálné číslo, každý bod našeho vesmíru, se dotýká velmi malé dimenze, která jím proniká. V případě duálních čísel má taková dimenze tvar přímky, v případě hyperbolických čísel tvar hyperboly a v případě komplexních čísel tvar kružnice. Každý bod má svoji vlastní dimenzi, kromě posledních dvou případů (zde je ta dimenze sdílena mezi bodem a a jeho obrazem −a). Pokud se budeme snažit touto dimenzí projít, narazíme na samé identické kopie našeho vesmíru, až se nakonec vrátíme do toho, ze kterého jsme vyšli.

Toto však zdaleka není konec všech podivností, se kterými se setkáme. Uvidíte příště.

pondělí 2. srpna 2021

O číslech, část 6: Algebraické vlastnosti čísel a modulární aritmetika

Už jsme prošli hodně příkladů číselných množin, a přestože zatím všechny byly obsažené v reálných číslech, mají určité společné vlastnosti, které je umožňují v některých situacích zaměňovat. Matematický obor, který tyto vlastnosti zkoumá, se jmenuje univerzální algebra. Ta se snaží všechny důležité vlastnosti seskupovat a pomocí nich klasifikovat rozličné matematické objekty. Z pohledu programování by se dalo říct, že popisuje soustavu „rozhraní“, která jsou podporována konkrétními matematickými objekty či množinami.

Nejdůležitějším pojmem je těleso, což je množina, která se algebraicky chová nejvíc jako čísla. Není úplně přesné říkat, že těleso je množina, protože kromě samotných prvků nějaké množiny potřebujeme i operace, které s nimi můžeme dělat. V tomto případě jsou ty operace dvě, tedy těleso je formálně trojice tří entit: nosné množiny a dvou operací, kterým budeme říkat sčítání a násobení. Není nutné, aby se jednalo o čísla a klasické číselné operace, protože jediné, co je potřeba, je splnit určité podmínky.

Pro množinu Ƒ (z angl. field) a operace + a ⋅ na ní musí platit:

  • Ƒ je uzavřená na + a ⋅, tedy výsledky těchto operací jsou vždy v Ƒ.
  • + a ⋅ jsou komutativní, tedy a + b = b + a a ab = ba.
  • + a ⋅ jsou asociativní, tedy a + (b + c) = (a + b) + c a a ⋅ (bc) = (ab) ⋅ c.
  • + a ⋅ jsou navzájem distributivní, tedy a ⋅ (b + c) = (ab) + (ac).
  • + i ⋅ mají obě vlastní neutrální prvek, 0 a 1, tedy a + 0 = a ⋅ 1 = a.
  • Každý prvek má inverzní prvek vůči +, kterému říkáme opačná hodnota, −a. a + (−a) = 0.
  • Každý prvek kromě 0 má inverzní prvek vůči ⋅, kterému říkáme převrácená hodnota, a−1. aa−1 = 1.

Formálně bývá zvykem pak takovou trojici značit tučně, tedy Ƒ = (Ƒ, +, ⋅). Tímto opouštíme oblast konkrétních objektů a přesouváme se do axiomatického světa, kde jsou pro nás konkrétní entity zajímavé jen společnými vlastnostmi a jen z nich můžeme vyvozovat další fakta. Tak například jdou odvodit tyto vlastnosti:

  • Když ab = 0, pak musí platit a = 0 nebo b = 0,
  • −0 = 0,
  • 1−1 = 1,
  • apod.

Které nám doposud známé číselné množiny tvoří těleso? Racionální čísla, konstruovatelná čísla, algebraická čísla, spočitatelná čísla, definovatelná čísla a samozřejmě i celá reálná čísla. Navíc všechna tato čísla jsou uspořádaná (toto uspořádání značíme ≤) a jedná se o lineární uspořádání, tedy splňuje tyto podmínky:

  • aa (reflexivita).
  • Z ab a ba vyplývá a = b (antisymetrie).
  • Z ab a bc vyplývá ac (tranzitivita).
  • Každé dva prvky jsou porovnatelné, tedy ab nebo ba.

Název lineární uspořádání sám o sobě naznačuje, že je možné si každou takovou množinu představit jako přímku, číselnou osu či nějakou jinou linii nebo klidně i křivku, ale musí být bez smyček.

Aby toho nebylo málo, ne každé uspořádání v nějakém tělese je zajímavé. Když klasickou relaci ≤ otočím, bude to pořád lineární uspořádání, ale nebude se chovat intuitivně ve vztahu ke známým operacím. Proto je potřeba ještě rozlišovat uspořádaná tělesa, pro něž platí navíc:

  • Z ab vyplývá a + cb + c.
  • Z 0 ≤ a a 0 ≤ b vyplývá 0 ≤ ab.

Díky těmto vlastnostem můžeme v uspořádaném tělese od sebe odlišit kladné a záporné prvky (a přecházet mezi nimi přes opačný prvek), protože se chovají jinak vzhledem k násobení, a taky můžeme řešit nerovnice nám známými úpravami. Uspořádané těleso je tím pádem to nejlepší, s čím můžeme pracovat, a prvky každého takového tělesa si nejvíce zasluhují být nazývány čísly, a dokonce se dá ukázat, že každé uspořádané těleso v podstatě obsahuje racionální čísla v nějaké formě.

Každá podmnožina reálných čísel je lineárně uspořádaná, ale ne každá z nich tvoří těleso. Přirozená ani celá čísla těleso netvoří, protože žádná z nich nesplňuje existenci inverzního prvku pro násobení a přirozená čísla nemají ani inverzní prvek pro sčítání. Svým způsobem tím ztrácejí právo říkat si čísla, ale na druhou stranu jsou obsažena v racionálních číslech, takže společně s nimi to právo stále mají.

Jaké další množiny tvoří tělesa? Každé těleso musí mít alespoň dva prvky, postačuje tedy dvouprvková množina jen s 0 a 1? Zkusme se podívat třeba na sudá a lichá přirozená čísla. Sečteme-li dvě sudá, dostaneme opět sudé, sečteme-li dvě lichá, dostaneme taky sudé. Součin lichých čísel je lichý, ale součin čehokoliv a sudého čísla je sudý.

Sudá čísla jsou vlastně 0, lichá čísla jsou vlastně 1. Už nám zbývá jen určit inverzní hodnoty. Tady nemáme na výběr, −1 = 1 (a 1−1 = 1, jak známe z pravidel), ovšem ani to není tak překvapivé, protože odečtení i přičtení 1 k sudému číslu určitě dá liché. Takováto struktura tvoří těleso, ovšem v tomto případě chybí uspořádání, protože přičtení něčeho ne vždy zvýší pozorovatelnou hodnotu. Tento systém tedy není zase tolik číselný jako jiné.

Kolik různých těles může být a jaké mají velikosti? Už máme těleso velikosti 2, co takhle velikosti 3? Stačí postupovat podobně a uvědomit, že informace, jestli je číslo sudé nebo liché je vlastně zbytek po dělení dvěma. Můžeme tak tedy pokračovat v tom, co jsme ukázali v kapitole o racionálních číslech, a použít čísla 0, 1 a 2 jako všechny možné zbytky po dělení třemi. Obě operace fungují vlastně stejně, akorát vždy z výsledku vezmeme jen zbytek po dělení (modulus). Zde platí třeba 2 + 1 = 0 a 2 + 2 = 1 a jedná se tedy o modulární aritmetiku. 2 zde má i inverzní prvek, sama sebe, protože 2 ⋅ 2 = 1.

Můžeme tak pokračovat dále? Ne úplně: obdobně vytvořená množina velikosti 4 není těleso, protože třeba 2 zde inverzní prvek nemá.

Takovéto množiny značíme ℤ/nℤ, čímž je myšleno, že se jedná o zbytkové třídy při dělení n. Číslo 0 v takové množině tedy vlastně označuje všechny násobky n, jako jsme měli definovaná i celá nebo racionální čísla pomocí tříd ekvivalence. Důležitý fakt ovšem je ten, že taková množina tvoří těleso jen v situaci, kdy n je prvočíslo.

Co pro jiné hodnoty n? Existuje ještě jedna možnost a to vzít polynom xnx. Pokud by šel rozložit na součet lineárních členů, právě ty tvoří prvky tělesa o velikosti n. Třeba x4x se dá rozložit na (x + 1)(x − 1)(x + i)(xi), kde i² je −1 (to nám umožní komplexní čísla, ale to už bych se předbíhal). Toto ovšem jde jen za předpokladu, že n je mocnina nějakého prvočísla, takže tolik nových možností jsme zase nezískali. Další možnosti už nejsou a navíc pro prvočíselné velikosti se oba typy množin chovají stejně, takže z pohledu používaných operací jsou izomorfní.

Nekonečných těles samozřejmě existuje velké množství, přinejmenším klasické číselné množiny, které jsem už ukázal. Zajímavá ovšem může být konstrukce některých dalších možností.

Příkladem budiž takzvaná algebraická číselná tělesa, která vzniknou přidáním nějakých speciálních nových prvků do ℚ. Jak ale taková čísla zkonstruovat? Algebraicky si je můžeme představit jako dvojice a + bc, kde c je nějaké pevné nové číslo mimo ℚ. Taková čísla jsou vlastně dvojice (a, b), ale opravdu mohou tvořit těleso? Musíme požadovat, aby c² bylo něco z ℚ, protože pak nám to umožní definovat součin i podíl takových dvojic pomocí nové dvojice (u součtu to šlo už předtím) a tím pádem vzniknou dvojrozměrná čísla.

Součin (a + bc) ⋅ (x + yc) se dá algebraicky pronásobit a vznikne ax + (ay + bx) ⋅ c + byc². Kdyby c² nebylo takhle definováno, nemohl by celý výsledek být opět vyjádřen jako dvojice (i když stačí, aby c² bylo aspoň něco vyjádřitelné v nové množině).

Příkladem takovýchto těles jsou třeba kvadratická tělesa, označována jako ℚ(√d). Každé takové číslo je vlastně složené z nějakého běžného racionálního čísla a násobku odmocniny z d, a tak to i zůstane po aplikování dostupných operací. Výsledná množina je trochu bohatší, ale i tak nedosahuje na nejjednodušší konstruovatelná čísla. Tento proces můžeme opakovat i vícekrát, třeba ℚ(√2)(√3) zahrnuje všechny násobky odmocniny 2, 3, ale i 6 a jsou to tím pádem čtyřrozměrná čísla.

Něco takového může být užitečné, když potřebujeme třeba strojově reprezentovat reálná čísla trochu přesněji, než jak to obvykle bývá zvykem. Můžeme třeba přidat odmocninu z 5 a reprezentovat pak zlatý řez φ jako (0,5; 0,5), pokud bychom s ním potřebovali často pracovat. Bohužel takový postup se stává hodně rychle nepraktickým, pokud chceme víc odmocnin, protože výsledná dimenze roste exponenciálně, a stejně tak nemůžeme přidat jakékoliv libovolné číslo mimo ℚ (třeba π), protože vždy potřebujeme definovat druhou mocninu jako něco, co už dokážeme reprezentovat. Přesto však by bylo zajímavé v nějakém programovacím jazyce pracovat s číselnými typy, které toto umožňují, jak pro pevný počet odmocnin, tak i pro dynamický, měnící se podle potřeby.

Takto algebraicky vytvořená tělesa se dají vytvořit z čehokoliv, nejen z ℚ. Můžeme třeba vzít ℝ a snažit se dosáhnout za hranice toho, co známe, a tímto způsobem můžeme lehce vytvářet další zajímavé množiny. Nejznámější z nich jsou komplexní čísla, kde je použita odmocnina z −1, ale existují i další podobné množiny. Na ně se podíváme příště.

úterý 27. července 2021

O číslech, část 5: Čísla konstruovatelná, algebraická, spočitatelná, definovatelná a normální

V tomto článku si ukážeme několik číselných množin, které už jdou za hranice školních znalostí matematiky, ale přesto nejsou nijak obtížné a pomůžou nám rozšířit naše znalosti o podstatě čísel. Všechny číselné obory mají společnou vlastnost, že jsou podmnožinou reálných čísel a protínají iracionální čísla, tudíž si je můžeme představit jako různá další členění reálných čísel. Jelikož všechna tato čísla už existují (jsou reálná a ta už v našem pojetí existují), vyhneme se tentokrát zdlouhavému konstruování a postačíme si s popisem.

Čísla konstruovatelná

Tato podmnožina reálných čísel představuje drtivou většinu toho, s čím se v matematice běžně pracuje, neboť označuje množinu všech reálných čísel, která lze zkonstruovat pomocí nějakého konečného opakování operací, tedy je lze vyjádřit nějakým výrazem využívajícím určité povolené operace. Obvykle se pod tímto pojmem myslí jedna konkrétní podmnožina, ale určitě neškodí ukázat si napřed, co je tím myšleno, na jednodušších podmnožinách, které omezíme různými operacemi:

  • Konstruovatelná pomocí 0, 1 a operace sčítání: přirozená čísla.
  • Konstruovatelná pomocí 1 a operace odčítání: celá čísla.
  • Konstruovatelná pomocí výše uvedeného a operace dělení deseti (decimace): desetinná čísla, tedy racionální čísla, kde ve jmenovateli je pouze mocnina 10 (lze je zapsat pomocí konečného množství desetinných číslic).
  • Konstruovatelná pomocí 1, operace odčítání a operace převrácené hodnoty (1/n): racionální čísla.

První otázkou je, zdali by se pomocí vhodného výběru operací nedala pokrýt všechna reálná čísla. Bez dlouhých okolků prozradím, že to nejde – výrazů s takovými operacemi je mnohem méně než všech reálných čísel (je jich stejně jako přirozených čísel, např. stačí takový výraz převést na bajty v nějakém kódování a ty bajty pak interpretovat jako přirozené číslo). Tím pádem sice můžeme vymýšlet lepší a lepší operace, ale reálná čísla jimi nikdy celá nepokryjeme.

Standardní operace, které se u konstruovatelných čísel používají, umožňují definovat racionální čísla, ale ještě některá další iracionální. Jejich výběr je čistě historický: antičtí Řekové byli fascinováni geometrií a konstruovatelností geometrických útvarů, přičemž se všeho snažili dosáhnout pomocí pravítka a kružítka. Zasekli se však na několika problémech:

  • Kvadratura kruhu – sestrojení čtverce, který by měl stejný obsah jako nějaký kruh.
  • Zdvojení krychle – sestrojení krychle s dvojnásobným objemem ku jiné krychli (nezapomeňte, že zdvojnásobení délky hrany zvětší objem osmkrát).
  • Trisekce úhlu – sestrojení úhlu s třetinovou velikostí k jinému.

Z hlediska geometrické konstruovatelnosti jsou čísla, která vzniknou konstrukcí geometrických útvarů, prostě poměry různých délek ku nějaké předem dané jednotkové délce. Které operace navíc tedy musíme povolit, abychom dokázali popsat čísla geometricky konstruovatelná jen pomocí pravítka a kružítka? Pouze druhou odmocninu. Ta se dá geometricky sestrojit jednoduše jako přepona pravoúhlého trojúhelníku a to z jakéhokoliv čísla. Z toho už je patrné, proč antické geometrické problémy jsou nejen těžké, ale naprosto nemožné:

  • Kvadratura kruhu vyžaduje sestrojit čtverec o obsahu násobku π, tedy o straně √π. Pokud by ten kruh byl válec a my měli provázek, dokážeme sestrojit π, ale bez provázku ne.
  • Zdvojení krychle vyžaduje délku jako třetí odmocninu, ale my dokážeme sestrojit jen druhou. Oproti tomu třeba v origami lze sestrojit třetí odmocninu, takže tam je takový problém řešitelný.
  • Trisekce úhlu vyžaduje umět konstruovat různé úhly za předpokladu, že umíme konstruovat jejich trojnásobky. To lze obecně pomocí funkce kosinus, ale tu nemáme k dispozici, takže to obecně nejde (třeba úhel 20 ° nejde zkonstruovat). I tento problém je řešitelný s pomocí origami.

Kromě těchto problémů nejsou konstruovatelná čísla zase až tak zajímavá, ale pokud by bylo zapotřebí vytvořit nějakou přesnou strojovou matematickou reprezentaci nám užitečných čísel, bylo by to asi to nejpřirozenější, po čem sáhnout. Musel by se ale trochu rozšířit obor operací, například na libovolné mocniny (a tedy i odmocniny), logaritmus, goniometrické a cyklometrické funkce a konstanty π a e. Obvykle se takto rozšířeným číselným oborům říká analytická čísla.

Čísla algebraická

Zatímco u čísel konstruovatelných jsme začínali na několika konstantách a pomocí opakovaného používání operací jsme se snažili dostat k danému číslu, jde to i v opačném směru, tedy začít na testovaném čísle a snažit se ho transformovat na nějakou konstantu, třeba na nulu. Povolíme při tom pouze sčítání a násobení, dále budeme moci použít všechna celá čísla a navíc to testované číslo můžeme použít vícekrát. Ještě musíme zakázat operace, které by dokázaly na nulu dostat cokoliv, tedy násobení nulou nebo odečítání sebe sama.

Pro ilustraci mějme třeba pátou odmocninu ze dvou. Umocňování jsme sice jako operaci nepovolili, ale stačí takových pátych odmocnin ze dvou vedle sebe vynásobit 5 a dostaneme číslo 2, které už odečtením dvou dostaneme na nulu lehce.

Zatímco konstruovatelná čísla odpovídala nějakému výrazu, tato čísla odpovídají nějakému polynomu (mnohočlenu). Obvykle to testované číslo označíme jako x; máme povoleno ho umocnit na nějaké přirozené číslo (nejvyšší takové je řád polynomu) a tyto členy můžeme sčítat a odčítat, případně násobit konstantami.

Takový polynom může být například 7x³ + 2x² − 1. Chceme-li, aby výsledek byl 0, hledáme tím kořeny polynomu a řešení rovnice 7x³ + 2x² − 1 = 0.

Řád polynomu bývá zpravidla neomezený, ale opět může být zajímavé podívat se, co získáme, pokud ho omezíme:

  • Řád 1 umožňuje pouze lineární rovnice, tedy ve tvaru ax + b = 0. Tím lze reprezentovat všechna racionální čísla.
  • Řád 2 umožňuje klasické kvadratické rovnice ve tvaru ax² + bx + c = 0. Tím pokryjeme klasická konstruovatelná čísla s druhou odmocninou.
  • Řád 4 je nejvyšší řád, kde výsledek stále ještě lze vyjádřit pomocí (libovolné) odmocniny.

Zajímavé zjištění, které kombinuje poznatky několika matematických oborů, je fakt, že algebraická čísla vyšších řádů už někdy nejdou vyjádřit jen pomocí výrazu s odmocninami. V případě kvintických rovnic (řádu 5) je možno řešení vyjádřit pomocí jedné operace navíc („ultrakořene“ a, tedy jediného řešení rovnice x⁵ + x + a = 0) a pro některé vyšší řády existují ještě podobné metody, ale jsou stále složitější a složitější (a v mnoha případech je potřeba jít mimo reálná čísla).

Asi už není tak překvapivé, že algebraických čísel je stále stejně jako přirozených. Vyplývá to opět z faktu, že každý polynom je konečný, všechny se dají lehce seřadit a očíslovat, a tedy je pokrývají přirozená čísla.

Opět tedy existují reálná čísla, která nejsou algebraická. Těm se říká transcendentní a vyplňují zbytek reálných čísel, tedy jsou stejně monstrózní jako celá reálná čísla. Důkazy, jestli je dané číslo transcendentní nebo ne, jsou asi nejdůležitější a zároveň nejobtížnější poznatky matematiky; sice stav mnoha důležitých konstant už známe, ale některé nám stále unikají.

První objevené transcendetní číslo byla tzv. Liouvillova konstanta; číslo, které v desetinném zápisu mělo všude nuly až na pozice s hodnotami faktoriálů, kde byly jedničky. Trochu komprimovanější varianta je tzv. Fredholmova konstanta 0,1101000100000001..., kde jedničky jsou na pozicích mocnin 2. Ani jedno z těchto čísel nejde vyjádřit jako kořen polynomu, ale jejich důležitost je stejně omezená – tato čísla byla zkonstruována právě proto, aby byla dokázána existence transcendentních čísel.

Zajímavější je zjišťovat transcendentalitu už známých (a užitečných čísel). Tady v mnoha případech platí něco podobného, co jsme už u viděli: odmocnina přirozeného čísla je buď přirozená, nebo iracionální. V tomto případě jsme na tom podobně a do algebraických čísel se bohužel moc dalších funkcí mimo odmocniny netrefuje: až na triviální případy jsou transcendentní logaritmy, exponenciace i goniometrické funkce, pokud je argument algebraické číslo. Dále víme, že i důležité konstanty jako π i e jsou transcendentní (a taky eπ), ale pak je tu velké množství jejich kombinací, například e + π, eπ apod., u nichž si nejsme jistí (součet transcendentních čísel nemusí být nutně transcendentní taky, např. π a −π hovoří za vše), a dokonce existuje velké množství konstant, u nichž ani nevíme, zdali jsou iracionální (a možná to ani dokázat nejde).

Summa summarum jsou algebraická čísla asi podobně užitečná jako konstruovatelná – pomáhají nám klasifikovat záhadné konstanty a odhalovat jejich podstatu. To je důležité v situaci, kdy potřebujeme znát přesnou hodnotu takové konstanty na libovolný počet desetinných číslic, protože můžeme použít jeden z obecných (a zpravidla dobře optimalizovaných) algoritmů a netvořit nějaký speciální.

Další stupeň algebraických čísel jsou takzvaná elementární čísla, která kromě klasických operací povolují v rovnicích i exponenciaci a logaritmy, a samozřejmě bychom si mohli vymyslet i další evoluce s dalšími operacemi jako to bylo u čísel konstruovatelných.

Čísla spočitatelná

Zatímco v předchozích dvou případech jsme se do doposud neprobádaných vod jen trochu ponořili, v tomto případě je začneme vesele brázdit. Spočitatelná čísla jsou nám programátorům z těchto číselných množin asi nejmilejší, neboť mají docela přívětivou definici:

Spočitatelné číslo je každé reálné číslo, které lze vypočítat nějakým algoritmem za konečný čas v libovolné přesnosti. Alternativní definice takového algoritmu může být například program, který generuje desetinné číslice takového čísla tak dlouho, dokud ho uživatel nezastaví, a takový program se jinak nikdy nezasekne. Zároveň nejsou kladeny nároky na zdroje, které takový program bude potřebovat, například na paměť či čas pro nalezení další číslice (pokud by takové nároky byly přidány, může to výslednou množinu zúžit).

Ve skutečnosti v podstatě všechna pro nás užitečná čísla jsou spočitatelná. Patří mezi ně čísla konstruovatelná i algebraická i jejich rozšíření pomocí klasických funkcí, a dokonce i konstanty jako e a π. Vše, co stačí nalézt, je algoritmus, který bude spolehlivě vypisovat jejich číslice, a s použitím aproximačních metod se dá takový algoritmus najít i u jinak těžko uchopitelných konstant či funkcí.

Pokud by definice pomocí algoritmu přišla někomu příliš nejednoznačná, je potřeba dodat, že se jedná o algoritmus pro takzvaný Turingův stroj. To je výpočetní model, kterému odpovídá většina programovacích jazyků, zároveň to je momentálně to nejlepší, co dokážeme realizovat (když nepočítám kvantové počítače) a možná to je i to nejlepší, co jde v našem vesmíru. Klidně bych místo Turingova stroje mohl použít klasické programovací jazyky jako C# nebo Luu, nebo třeba lambda kalkulus, ale výsledek bude ekvivalentní a nikdo tak nebude moct nic namítnout.

Spočitatelná čísla jsou z určitého hlediska maximum, co dokážou počítače reprezentovat a s čím dokážou numericky pracovat, protože každé takové číslo je vlastně algoritmus. Cokoliv složitějšího by už muselo být reprezentováno jen symbolicky.

Už asi není tak velkým zklamáním, že spočitatelná čísla, byť v praxi téměř nahrazující reálná, jsou stále stejně velká jako přirozená, protože opět pro definici takového čísla stačí nějaký algoritmus a ten lze reprezentovat přirozeným číslem. Možná to něco vypovídá o zbytku reálných čísel: jejich existence je nutná, ale jejich užitečnost minimální.

Dokážeme najít nějaké nespočitatelné číslo? Ano! Ve skutečnosti nejdůležitější vlastností nějakého programu není jeho výsledek, ale informace, zdali se zastaví nebo poběží navěky (a pokud je pro nás důležitá jiná informace, můžeme ji zakódovat tak, že se nový program v nějakém případě zacyklí a v jiném ne). Taková informace u každého programu nesporně existuje, ale není možné ji nějak spočítat. Jedná se o takzvaný problém zastavení a ten je algoritmicky nerozhodnutelný, takže to nejlepší, co můžeme udělat, je spustit takový program a doufat, že se zastaví.

S touto znalostí můžeme vymyslet číslo, které nějak kóduje tuto informaci o všech programech. Už víme, že každý program má nějaké svoje vlastní přirozené číslo, takže je můžeme pomocí něj seřadit a informaci, jestli se takový program zastaví nebo ne, kódovat jako 0 nebo 1 v desetinném rozvoji našeho čísla.

Podobný přístup využívá tzv. Chaitinova konstanta, což je pravděpodobnost, že se náhodně zkonstruovaný program zastaví. Ani jedno z těchto čísel nelze spočítat, protože takový program by musel rozhodnout problém zastavení a to nejde. Můžeme ho jen změřit (byť to závisí na použitém kódování a jazyce) nebo doufat, že nám ho sdělí Bůh, a pokud bychom ho znali celé, dokázali bychom tím vyřešit v podstatě všechny existující výpočetní problémy.

Čísla definovatelná

Pokud se nemůžeme spolehnout na algoritmus, zbývá nám už jen logika, pomocí které můžeme definovat další čísla. Ve skutečnosti všechny předchozí množiny jsme vlastně pomocí logiky definovali taky, protože jsme stanovili různé termíny, určili kontext, ve kterém se pohybujeme, a našli entity, které vyplývají z nějakých axiomů. Jazyk výrazů nám umožnil definovat konstruovatelná čísla, jazyk polynomů umožnil definovat algebraická čísla a jazyk Turingových strojů umožnil definovat spočitatelná čísla.

Důležité je vždy stanovit, v logice jakého typu se pohybujeme a jaký jazyk používáme. V opačném případě bychom mohli totiž začít definovat věci jako „nejmenší číslo, které nelze definovat pomocí 60 znaků“ (Berryho paradox), protože jsme zaměnili jazyk a metajazyk.

Definovatelnost nějakého čísla se intuitivně dá vyjádřit nějakým pravidlem, kterému vyhovuje pouze to konkrétní reálné číslo a žádné jiné. To, jakou logiku použijeme, ovlivňuje zbytek.

Pokud použijeme logiku 1. řádu a jazyk Peanovy aritmetiky (to je v podstatě axiomatický způsob definování přirozených čísel s operacemi sčítání a násobení), můžeme tak definovat některá reálná čísla, když se nám podaří definovat množinu, na jejíž hranici leží. Těm se říká aritmetická (nebo aritmeticky definovatelná) čísla. Pokud použijeme logiku 2. řádu (ta nám umožní mluvit o množinách prvků jako entitách) a stejný jazyk, dostaneme analytická (či analyticky definovatelná) čísla.

Tento způsob definování ve skutečnosti tvoří hierarchie, podle složitosti kvantifikátorů použitých uvnitř formulí v daných logikách. Už nejnižší úrovně zahrnují vše, co jsme viděli doposud, a zbytek jsou stále složitější úrovně čísel definovaných pomocí stále složitějších úrovní logik konečných i nekonečných řádů, zasahující dál a dál do reálných čísel, ale přesto stále spočetných.

Znamená to, že nikdy nebudeme schopni definovat každé jednotlivé číslo? Z pohledu výše uvedené definice tomu možná tak je, ale pokud je každé reálné číslo jen množina, co takhle se ho pokusit definovat pomocí samotné teorie množin a jejího jazyka? Pokud se budeme pohybovat uvnitř teorie množin, už víme, že nemůžeme definovat všechny prvky nespočetné množiny pomocí spočetné množiny konečných formulí, ale co když se přesuneme mimo teorii množin?

Pokud tak učiníme, potřebujeme napřed určit, v jakém modelu teorie množin se pohybujeme, tedy potřebujeme nějak zkonstruovat interní entity dané teorie z objektů externího světa. A tady narazíme na Skolemův paradox, jeden z nejpozoruhodnějších závěrů teorie množin, který tvrdí, že existuje model teorie množin, který je spočetný. Když se na teorii množin díváme zvenčí, máme plné právo zvolit si, jaký model použijeme, a tedy můžeme použít nějaký spočetný. To ovšem znamená, že každá (interní) množina v takovém modelu má nějaké vlastní přirozené číslo a dá se pomocí něj (externě) identifikovat. Když si tedy sundáme brýle v barvě teorie množin, přes které jsme viděli reálná čísla jako prvky nějaké nespočetné množiny, najednou se z nich stanou pouze prvky jednoho spočetného univerza, dostanou vlastní přirozené číslo a budou definovatelné.

Tento závěr je možná matoucí, ale jen ilustruje, že otázka definovatelnosti není tak jednoduchá, jak by se mohlo zdát, a naznačuje určité neúplnosti, které se dotýkají samotné podstaty matematiky.

Čísla normální

Doposud jsme se snažili posunout hranice známých čísel směrem do ryze reálných, ale co to zkusit obráceně? Když už máme jednou reálná čísla, můžeme zkusit zjistit, co všechno v nich vlastně je?

Je spoustu způsobů, jak reálná čísla členit, ale nejzajímavější z nich je pomocí číslic. Už od doby, kdy šlo spočítat všechny číslice různých iracionálních čísel, si všimli lidé, že v mnoha z nich zdánlivě nejsou žádné vzory, žádné obrazce, a říká se, že třeba v číslicích π se vyskytuje jakákoliv konečná posloupnost číslic, kterou chceme (třeba vaše rodné číslo), ať má jakoukoliv délku (ovšem zatím se to opravdu pouze jen říká).

Normální čísla představují množinu čísel, která je charakterizována trochu silněji: pro jakýkoliv číselný základ platí, že desetinný rozvoj těchto čísel obsahuje každou konečnou posloupnost číslic se stejnou četností, tedy že žádná skupina číslic nepřevažuje nad jinou.

Kupříkladu číslo 0,1234567891011121314151617181920... (Champernownova konstanta), složené z posloupnosti všech přirozených čísel, je normální při základu 10, ale při jiných základech normální není a tedy není (absolutně) normální. Ve skutečnosti jsou normální čísla asi ta nejhorší, která se můžeme snažit najít – vyplňují téměř celá reálná čísla a to takovým způsobem, že nebude přehnané říct, že ostatních čísel je jen 0 % ze všech reálných, ale zároveň se nám ještě nepovedlo žádné zkonstruovat.

S jistotou víme, že racionální čísla nejsou normální. Jejich desetinný rozvoj je buď ukončený (a pak začnou prevažovat nuly), nebo periodický, a tím pádem tam některé posloupnosti nebudou vůbec. Dál už je ale naše neznalost obrovská: víme s jistotou, že existují transcendentální i nespočitatelná čísla, která normální nejsou (třeba Liouvillova konstanta nebo moje zakódování problému zastavení), ale to je tak všechno. Nevíme, zdali π a e jsou normální, i když se to tak jeví. Stejně tak to vypadá, že i všechna iracionální algebraická čísla jsou normální, ale ani v tomto případě zatím žádné důkazy neexistují. Je zajímavé, že u čísel, jichž dokážeme vygenerovat miliony číslic, jsme zatím nebyli schopni dokázat nic o jejich rozložení, zatímco Chaitinova konstanta, nespočitatelné a ve své podstatě nepoznatelné číslo, má číslice naprosto náhodné a je to jediné mě známé normální číslo.

To jsme tedy moc nepochodili ve své snaze zjistit něco víc o reálných číslech. Drtivou většinu tvoří naprosto náhodná a nepopsatelná čísla, která tam musí být, ale jejich exempláře se skoro nedají najít a nevíme ani, jestli něco z toho, co známe, mezi ně patří. Taková už je podstata kontinua.


Tímto přehledem definitivně opouštíme reálná čísla a vydáváme se jinými směry, za hledáním nových číselných oborů a nových způsobů počítání, i když většina z nich i tak bude obsahovat v nějaké formě reálná čísla nebo jejich části, a pokud nějaký z takových systémů bude obsahovat reálná čísla, občas i v něm bude platit rozdělení, které jsme si ukázali, a bude aplikovatelné na všechny prvky takového systému.

Číselný svět, který jsem doteď vytvářel, konečně nabyl finální podoby, protože všechny další jeho podoby budou vzájemně nekompatibilní. Původní les racionálních čísel, mezi nimiž jsme našli čísla reálná, má své hranice. Za nimi je pláž, která postupně přechází do moře. Tam začínají algebraická čísla, pak spočitatelná a nakonec definovatelná a všechny jejich hierarchie. A dál už je jen moře normálních čísel, nestálé a chaotické. Na některých místech je pláž strmá, ale příboj klidný, tam jsou ta spočitatelná čísla, která nejsou normální. Zbytek pobřeží pokrývá mlha, která nám znemožňuje určit, jestli je moře klidné nebo rozbouřené, tam jsou zatím nejistá iracionální algebraická čísla. A jen v dáli, kde už je voda docela hluboká, se houpe na vlnách jedna osamělá bójka: Chaitinova konstanta.

Jsme na ostrově. Ostrově obklopeném nekonečným oceánem chaotických a nepoznatelných čísel.