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.