1000×1000 determinant oplossen met Python

Vandaag wilde ik mijn algoritme voor het oplossen van een determinant eens testen, geïmplementeerd in Python. Voor een 100×100 determinant werd het binnen de seconde opgelost.

Dan maar eens proberen om dat voor 1000×1000 matrix te doen. Op mijn MacBook (2Ghz en 2GB ram) resulteerde dat in een een computer die volledig vastliep en die geforceerd moest afgesloten worden. Volgende stap: eens zien hoe een Mac Pro met 14GB en een 8-core 2.8Ghz het er vanaf brengt…

Na enkele minuten 1 core aan volle 100% te benutten gaf Python het op: RuntimeError: maximum recursion depth exceeded while calling a Python object

Python gebruikte op het einde 10GB ram op mijn Mac Pro.

 

Het algoritme is een recursief algoritme dat een determinant oplost door deze eerst rij te herleiden (enkel voor de eerste kolom) en deze determinant uit te rekenen met Laplace.