Om at udregne enkeltstående hexadecimaler i tallet pi I 996 var det en sensation, da det kom frem, at det var lykkedes D. Bailey, P. Borwein og S. Plouffe at finde en formel for tallet π, med hvilken man kan udregne en vilkårlig hexadecimal i pi uden først at skulle udregne de tidligere hexadecimaler. Her skal det lige nævnes, at hexadecimal-talsystemet er det samme som 6-talsystemet. Indtil da, havde man antaget, at arbejder med at bestemme en given hexadecimal var lige så stort som arbejdet med at udregne den pågældende hexadecimal samt alle de tidligere. Formlen blev sjovt nok fundet ved hjælp af en computer: Man anvendte den såkaldte LLL-algoritme (Lenstra-Lenstra-Lovacs), som kan bruges til at finde lineære heltalsrelationer mellem hele tal! Den fundne formel er: () 4 π = 6 i i 8i+ 8i+ 4 8i+ 8i+ 6 = 0 Formlen er i øvrigt ikke kompliceret at bevise, når først man har fundet den. Jeg vil dog ikke gennemføre beviset her, men henvise den interesserede læser til [] eller []. I stedet vil jeg i denne note koncentrere mig om at forklare, hvordan formlen kan bruges til at bestemme en given enkeltstående hexadecimal i pi. For læsere, som ikke er så bekendte med talsystemer med en anden basis end tallet 0, vil jeg henvise til afsnittet umiddelbart nedenfor. Læsere, som er bekendt med konvertering mellem talsystemer, kan springe direkte til næste afsnit. Hexadecimal talsystemet Et tal i Hexadecimal talsystemet, også kaldet 6-talsystemet, kan i princippet skrives på følgende form: aa n n a0, a a, hvor ai { 0,,,}. Det kan skabe en del forvirring at anvende to decimal-cifre til at repræsentere ét hexadecimal-ciffer, blandt andet må man anvende skilletegn, som forklarer hvilke decimal-cifre, som hører sammen. For at undgå dette indfører man bogstaver til at repræsentere de to-cifrede hexadecimal-cifre : A= 0, B=, C =, D=, E = 4, F =. Tallet 8A,F7 i 6-talsystemet er for eksempel det samme som følgende tal i 0-talsystemet: 0 8 6 + 0 6 + 6 + 6 + 7 6 + 6 = 8, 47880 4 At konvertere den anden vej er lidt vanskeligere: Antag for eksempel, at man ønsker decimaltallet 7 opskrevet i 6-talsystemet. Da starter man med at finde den højeste heltallige potens af 6, som resulterer i et tal, der er mindre end 7. Man kan prøve sig frem: 6 = 6 ; 6 = 4096. Svaret er altså. Hvis man ikke kan lide denne prøven sig frem, kan man også gå mere systematisk til værks og anvende logaritmen med basis 6. Den kan nemlig udtrykkes ved den naturlige logaritme:
ln(7) log 6(7) = =,99 ln(6) hvorefter man tager heltalsdelen, som giver. For at finde cifferet til 6 divideres 6 op i 7, hvilket giver,6 C = er altså det første hexadecimal-ciffer. Træk nu 6 fra 7 og få 4. Herefter gentages proceduren på 4: Bestem den højeste heltallige potens af 6, som resulterer i et tal, der er mindre end 4, etc... Man ender med i 0-talsystemet at have opskrevet 7 på formen 7 = 6 + 9 6 + 6 0 Tallets hexadecimaler bliver derfor C9. Vi er hermed rede til at forklare, hvorfor formel () kan bruges til at bestemme enkeltstående hexadecimaler i pi. Hexadecimaler i pi Før vi går videre vil jeg lige indføre to operationer på tal: Funktionen floor er defineret ved, at den runder kommatal ned til nærmeste hele tal, også for negative tal, dvs. for eksempel er fl oor(,9) = og floor( 4,) =. Funktionen frac giver derimod brøkdelen af et tal, dvs. for eksempel er fr ac(,86) = 0,86 og frac(,) = 0,. Vi søger et udtryk for den n te hexadecimal i hexadecimaltalfremstillingen af π. Da vi er vant til at arbejde i titalsystemet, vil jeg først forklare, hvordan man finder et udtryk for den n te decimal i decimaltalfremstillingen for π. Dette vil lette forståelsen. Lad os endda starte med at antage, at n er lig med 6. I titalsystemet har π som bekendt fremstillingen π =,49 6 Hvis man ganger med 0 fås 0 π = 49, 6 og tages brøkdelen heraf fås frac(0 π ) = 0, 6 Der ganges nu med 0: og endeligt tager man heltalsdelen hertil: 0 frac(0 π ) =, 6 floor(0 frac(0 π )) =
Vi har dermed fundet et udtryk for den 6 te decimal i decimaltalfremstillingen for π. Vi kan nemt generalisere til, at følgende udtryk må give den n te decimal i decimaltalfremstillingen for π: floor(0 frac(0 n π)). Hvis vi i stedet går over til hexadecimaltal- systemet, så er det ikke svært at se, at følgende udtryk giver den n te hexadecimal i hexadecimaltalfremstillingen for π: () n floor(6 frac(6 π )) Lad os sige, at vi vil finde den 4. hexadecimal i π ved hjælp af () og (). Da skal vi blandt andet have udregnet brøkdelen af 6 π. For det første ser vi af (), at () k 4 6 π = 6 6 8k+ 8k+ 4 8k+ 8k+ 6 k = 0 6 6 6 6 = 4 8k+ 8k+ 4 8k+ 8k+ 6 k= 0 k= 0 k= 0 k= 0 Det er ikke svært at overbevise sig om, at frac er noget, der minder om lineær: For hele tal a, a, an gælder: (4) frac( ax + ax + + a x ) = frac[ afrac( x) + afrac( x ) + + afrac( x )] n n n n hvilket indses, hvis man husker på, at forskellen på x og frac( x) er et helt tal. Detaljerne overlades til læseren. Bruges dette på ovenstående formel () fås () 6 6 frac(6 π ) = frac 4 frac frac k= 0 8k+ k= 0 8k+ 4 6 6 frac frac 8k+ 8k+ 6 k= 0 k= 0 Da de fire frac-led udregnes efter samme principper, vil jeg nøjes med at forklare, hvordan det første frac-led behandles. Brøkdelen til den første sum deles i to led: (6) 6 6 6 frac = frac + 8k+ 8k+ 8k+ k= 0 k= 0 k= 4 6 mod (8k + ) 6 = frac + k= 0 8k+ k= 4 8k+ Bemærk, at for k = 0 til k = giver 6 et helt tal, og sidste lighedstegn fås, idet man ser, at det ikke gør noget at operere modulus (8k + ), eftersom det svarer til at fjerne et helt tal i den firkantede parentes, hvilket jo ikke berører brøkdelen.
4 6 Den første endelige sum er nem at udregne: 0 + + +. I den endelige sum behøver 9 7 vi kun at tage hensyn til k = 4 og k = viser det sig, idet man ret nemt kan vise, at den resterende uendelige sum for k > er så lille, at den ikke kommer til at bidrage til floor(6 frac(6 π )) og derfor kan fjernes. Altså fjernes der en tilstrækkelig lille del fra frac (6 π), så vil det ikke påvirke udtrykket, idet heltalsdelen tages til sidst. De eneste bidrag, vi behøver at tage hensyn til i den uendelige sum, er altså k = 4 og k =, hvilket giver: + 6 6 4 Alt i alt er det væsentlige bidrag fra det første frac-led altså lig med: 4 + 6 + + + 6 9 7 6 4 Tilsvarende findes væsentlige bidrag fra de øvrige tre frac-led, og man indsætter dem i (), hvilket giver: 4 6 frac(6 π ) = frac 4 + + + + 9 7 6 6 4 4 6 + + + + 0 8 6 6 6 44 (7) 9 6 + + + + + 9 6 7 6 4 4 4 6 + + + + + 6 4 0 6 8 6 46 460970888489 = frac 4064788700 = 0,96076 Heraf fås: floor(6 0,96076 ) = floor(, 46 ) = = F. Så den 4. hexadecimal i π er altså F: π hex =,4 F 6A888A08D
Litteratur [] Gert Almkvist. Att räkna ut den 0 0 :e hexadecimalen av π utan att räkna ut de tidigere. Nordisk Matematisk Tidskrift, hæfte, 000, siderne 49. [] David Bailey, Peter Borwein, Simon Plouffe. On the rapid computation of various polylogarithmic constants. Kan downloades fra www.lacim.uqam.ca/plouffe.