π met 200 decimalen

November 12th, 2017

Met mijn vorige auto heb ik de pi-hecto-kilo-meter stand overschreden, nadat het laatste cijfertje op negen sprong nog ruim twee-en-een-half hecto meter paaltje doorgereden, want de volgende cijfers zijn 2 en 6 wist ik, en toen een foto gemaakt.

pi hectokilometer op de teller

Ergens in de buurt heeft de auto exact pi keer honderd duizend kilometer gereden, maar waar? Waar zou ik het krijtstreepje op de weg moeten zetten… Dan had ik moeten weten hoeveel pi precies is, na de 9 komen een 2 en 6 en daarna weet ik het niet meer. Een rekenmachine of computer geven het normaliter ook op na enkele tientallen getallen achter de komma. Volgens wikipedia zijn er door de jaren heen verschillende methodes gevonden om pi zo goed mogelijk te benaderen. De formule van Leibniz (uit de 14e eeuw) is waarschijnlijk de mooiste en eenvoudigste:

pi = 4 ⋅ ( 1 – ⅓ + ⅕ – ⅐ + ⅑ – ….)

Dit kun je gemakkelijk uit rekenen met een computer met een paar regels code in elke programeer taal. helaas kom je er vrij snel achter dat de meeste compters en programeertalen, normaliter, slechts met getallen kunnen werken met enkele tientallen decimalen, daarna houdt het op, einde oefening.

Nu hebben vele mensen, met wat meer gehannes, pi al uitgerekend tot miljoenen getallen achter de komma, het leek me wel leuk om dit eens zelf op bescheiden schaal te doen. Dus als eerste programmaatje gemaakt wat met getallen met 200 cijfers achter de komma kan omgaan, in Python, staat hier, het is wat naief en nogal langzaam maar werkt.

De rest was eenvoudig, staat hier. Al snel kwam ik er achter dat met de formule van Leibnitz (som van termen die bijna 0 worden) te veel tijd kost, dus overgegaan op de formule van Viète uit de 16de eeuw (product van factoren die bijna 1 worden):

2 / pi = (√(2)/2) ⋅ ((2+√(2))/2) ⋅ ((2+(2+√(2)))/2) ⋅ ….

Dat had wel als nadeel dat ik mijn longFloat class nog moest uitbreiden met een wortel functie, maar daar kwam Newtons’s Method te hulp. Enfin, hieronder het resultaat, pi met 200 getallen achter de komma (eigenlijk 205 maar de laatsten zijn niet betrouwbaar want ik heb ook te maken met wat afrondingsfoutjes…)

pi hectokilometer op de teller

Nog even mijn laatste 10 cijfers (5493038196) gecontroleerd op de Pi-Search Page, en het klopte.

Roken

November 5th, 2017

auto

Mag van mezelf niet meer roken in de nieuwe auto, heck er zit ook geen asbak meer in, doorgeschoten paternalisme. Enfin, op de afsluitdijk rookpauze gehad, en en passant fotootje van autootje zonder asbak gemaakt.

Mislukt…

April 25th, 2017

LecceCathedral_small

Blijft lastig dat fotograferen, zeker als je diafragma ‘s avonds nog op f/11.0 staat. Maar een mislukte foto heeft per ongeluk ook wel eens wat. Dit is trouwens de kathedraal van Lecce in Italië, meer foto’s volgen nog…

Futoshiki

November 4th, 2015

Ik kwam laatst in de krant Sudoku-achtige puzzle tegen, de ‘Futoshiki’. Ondanks dat ik zelf vind dat ik wel goed met getallen ben is het mij nog nooit gelukt een Sudoku op te lossen, te weinig geduld wellicht. Voor het oplossen van Sudoku’s heb ik ooit een een Python programmaatje geschreven, en toen ik de Futoshiki zag heb ik niet eens gebropeerd om de puzzle zelf op te lossen.

futoshiki_krant_foto

Ik ben meteen aan het programmeren geslagen, het resultaat staat hier. Het was weer leuk, twee recursieve functies, strike_through en solve, en nog wat gekkigheid in number_of_possibilities. En passant nog nuttig gebruik gemaakt van het coole keyword yield in de functie best_guesses. Oplossings was btw. het volgende:

futoshiki_krant_foto

(Sommige functies zijn waren wat lastig te testen omdat we de gewenste resultaten nog niet wisten maar voor de andere eerst wat nuttige testen geschreven)

Zeemeermin

June 5th, 2015

zeemeermin

Heb de zeemeermin van Kopenhagen gezien, samen met wat Japanners.

Uitzicht

April 11th, 2015

Een jaar of negen geleden, ben ik in Medemblik komen wonen, tegenover een pand dat er toen al een aantal jaren uitgebrand had gestaan. Terwijl ik mijn huis inrichte, waren slopers bezig om het pand tegenover mijn huis op te ruimen. Cool, ik kreeg een leuk doorkijkje tussen de achterkant van de huizen van de Torenstraat en de oostkant van de Maria Bernadette school. En keek uit op de huisjes van het Achterom en de huizen en bomen op de Westerhaven.

uitzicht

Het braak liggende tereintje was altijd rommelig, soms een illegaal parkeerterrein, soms voetbalveldje maar meestal een omheimd veldje met manshoog onkruid. De plaatselijke woningbouwvereniging gaat er nu een vijftal woningen bouwen en mijn doorkijkje wordt een inkijkje… Nu maar afwachten wie mijn overburen worden.

MagSafe blues

February 11th, 2014

Eikels zijn het… daar bij Apple, met hun eigenwijze think different. Een half jaar geleden begon het gedoe, m’n zeven jaar oude MacBook ging moeilijk doen over zijn stroom aansluiting. Ik moest de magnetische stekker, de MagSafe, meerdere malen plaatsen en dan nog wat aan het snoer freubelen en soms ging dan het lichtje aan ten teken dat er verbinding was. Het herplaatsen en freubelen begon steeds langer te duren. Als ik dan eindelijk eens groen of amber licht van de stekker had gekregen kwam het zo nu en dan voor dat na een paar uurtjes aangesloten te zijn geweest de stekker ongezond heet aanvoelde. Tijd voor een onderzoek…

De MagSafe stekker had allemaal gesmolten prut dat uit de behuizing kwam en op het metalen gedeelte van de stekker was gaan zitten. Het MagSafe stopcontact op de MacBook was er niet veel beter aan toe, ook een gesmolten massa. Beide waren goed schoon te maken door wat te pulken met een paperclip, de stekker zag er daarna weer goed uit maar het contact aan de MacBook kant was een ander verhaal. De vijf contacten horen volgens een plaatje van WikiPedia keurig in een plastic piefje te zitten, nou dat was bij mij niet meer het geval, het plastic om de buitenste contacten was helemaal weggebrand, zie foto:

2013-02-11-MagSafe

Op zich is de MagSafe een coole uitvinding, maar het irriteerd me mateloos dat, dat het zo ielig en flimsy is uitgevoerd dat het uiteindelijk wel problemen moet geven, en dat je dan zit met een MacBook waar je niks meer mee kunt omdat de freaking stroom er niet meer in wil. Heb ondertussen een nieuwe labtop, maar wou de MacBook nog een nuttige oude dag geven als web/file-server ter vervanging van mijn DS-106e. Maar dan moet ik nog wel het stroom toevoer probleem op één of andere manier oplossen.

Update:

Bij MacDemolition voor weinig een 2e hands MagSafe socket gekocht, had ook al wat smelt-sporen op de buitenste contacten maar zag er nog stukken beter uit dan die van mij. Op IFIXIT een gedetaileerde handleiding gevonden, mouwen opgestroopt en aan de slag gegaan. Schroefjes netjes op volgorde houden, het zijn er een stuk of dertig en bijna allemaal met verschillenden maten. De waarschuwing bij Step 6 begreep ik niet: screws that strip easily, proefondervindelijk kwam ik er snel achter wat dat betekende. De schroef in de hoek had ik al snel dolgedraaid omdat die goed vast zat en je de schroevendraaier er alleen onder een hoek op kon zetten. Paniek….. Tijdens een kopje thee een plan bedacht. Door de kop van het schroefje goed schoon te maken kon ik er een paperclip aan vast solderen en hem een kwartslag draaien, na een aantal keren herhalen kon ik de schroef loskrijgen. Verder ging de procedure soepel, alleen het terugplaatsen van het keyboard lintkabeltje (veelst te kort), Step 12 achtersevoren) vereiste nog wat geduld en zen-like concentratie doordat je door het manouvreren van je vingers de bovenkant van je hand het toetsen bord omhoog drukte en daardoor het lintkabeltje tussen je vingers uittrok… maar dat is na wat krachttermen ook weer gelukt. Enfin m’n MacBook zit weer inelkaar en heeft weer stroom, staat in de meterkast en is hardwarematig verantwoordelijk voor deze blog.

http://xkcd.com/356/

July 10th, 2013

Als zijnde een nerd, kon ik het niet laten om de puzzle uit XKCD/356 op te lossen. Een puur analytische oplossing gaf ik al na een paar seconden op, dan maar een numerieke oplossing met behulp van m’n favorite tool zijnde Python/NumPy. De eerste versie, een naïeve, eenvoudige iteratieve oplossing was, met wat bochten afsnijden, snel gemaakt. Oplossing was by the way ongeveer 0.77Ω.

Een half jaar later ruisde het liedje “Wat heb heb ik nu aan algebra nu ik voor de keuken sta” door m’n hoofd. Dat liedje lijkt na wat wat google-en niet te bestaan maar een fraai voorbeeld van een mondegreen. Toen dit lied een hit was, ergens begin jaren zeventig, bevatte mijn vocalbuaire waarschijnlijk al wel ‘keuken’ maar nog geen ‘keuze’. (liedje staat op YouTube ). Het woord ‘algebra’ bewoog me om de XKCD/356 puzzle nog eens beter oplossen met behulp van lineaire agebra in plaats van voorgaande methode. Enfin, het script verbouwd zodat het meeste werk door de functie numpy.linalg.solve wordt gedaan. Het resulterende script is beter, fraaier, korter, maar…. trager.

Dus als laatste maar eens grof geschut uit de kast gehaald: scipy.sparse.linalg.spsolve, iets meer gedoe, maar lightning fast vergeleken met voorgaande versies. Voor de liefhebber een linkje naar het laatste script.
xkcd356.png

Vakanties 2012, bergen

January 10th, 2013

Kim naar Goat Fell

Bergen

Ondergaande zon op bergen

In januari, reflecterend op het afgelopen jaar, telde ik maar liefst drie vakanties in 2012! Waren woestijnen eerder favoriet, afgelopen jaar heb ik voornamelijk (kleine) bergen opgezocht. Voor de foto’s: Schotland, Turkije en Marokko.

 

Jumbo Jet

March 7th, 2012

2012-03-07-boeing747.jpg

Op het vliegveld stond de bus die ons naar ons vliegtuig zou brengen pal voor een echte Boeing 747, dat blijft toch een mooi en herkenbaar vliegmasien.