Rekursive Magie: Definition von e^x und trigonometrischen Funktionen mit unendlichen Python-Generatoren

2025-04-21
Rekursive Magie: Definition von e^x und trigonometrischen Funktionen mit unendlichen Python-Generatoren

Dieser Beitrag zeigt einen cleveren Trick, der unendliche Python-Generatoren verwendet, um mathematische Funktionen rekursiv zu definieren. Durch die rekursive Definition eines Generators für positive ganze Zahlen und die Nutzung von Taylorreihenentwicklungen wird gezeigt, wie die Taylorreihenkoeffizienten für e^x, sin x und cos x rekursiv generiert werden können, wobei nur auf deren Integralbeziehungen zurückgegriffen wird, ohne deren Ausdrücke vorzudefinieren. Der Beitrag enthält auch eine Optimierung mit einem Memoize-Decorator, um die Leistung zu verbessern und Rekursionstiefengrenzen zu vermeiden.

Mehr lesen

Ein kurioses Abenteuer bei der Implementierung eines Zufallszahlengenerators und der Kosinusfunktion in rein funktionalem Nix

2025-04-15
Ein kurioses Abenteuer bei der Implementierung eines Zufallszahlengenerators und der Kosinusfunktion in rein funktionalem Nix

Dieser Beitrag beschreibt die Erfahrungen des Autors bei der Implementierung eines Zufallszahlengenerators und einer Kosinusfunktion in NixOS, einer Linux-Distribution, die auf der Nix-Sprache basiert. Die rein funktionale Natur von Nix stellt Herausforderungen dar, wenn man mit Systemzufälligkeit und Standard-Mathematikfunktionen arbeitet. Der Autor untersucht verschiedene Ansätze, darunter die Verwendung von Nix' `runCommandLocal` und benutzerdefinierte Implementierungen unendlicher Listen, und überwindet schließlich die Eigenheiten von Caching und Funktionsaufrufen, um das Ziel zu erreichen. Die Reise hebt die Flexibilität und Leistung von Nix hervor, zeigt aber auch einige Einschränkungen seiner Funktionen auf.

Mehr lesen
Entwicklung