Magie récursive : définition de e^x et de fonctions trigonométriques avec des générateurs infinis en Python

2025-04-21
Magie récursive : définition de e^x et de fonctions trigonométriques avec des générateurs infinis en Python

Cet article présente une astuce ingénieuse utilisant des générateurs infinis Python pour définir des fonctions mathématiques de manière récursive. En définissant récursivement un générateur pour les entiers positifs et en tirant parti des développements en séries de Taylor, l’auteur montre comment générer les coefficients de développement en séries de Taylor pour e^x, sin x et cos x de manière récursive, en se basant uniquement sur leurs relations intégrales sans prédéfinir leurs expressions. L’article inclut également une optimisation utilisant un décorateur memoize pour améliorer les performances et éviter les limites de profondeur de récursion.

Lire plus

Une aventure curieuse dans l'implémentation d'un générateur de nombres aléatoires et de la fonction cosinus dans Nix purement fonctionnel

2025-04-15
Une aventure curieuse dans l'implémentation d'un générateur de nombres aléatoires et de la fonction cosinus dans Nix purement fonctionnel

Cet article détaille l'expérience de l'auteur lors de l'implémentation d'un générateur de nombres aléatoires et d'une fonction cosinus dans NixOS, une distribution Linux basée sur le langage Nix. La nature purement fonctionnelle de Nix pose des défis lorsqu'il s'agit de travailler avec l'aléatoire du système et les fonctions mathématiques standard. L'auteur explore différentes approches, notamment l'utilisation de `runCommandLocal` de Nix et des implémentations personnalisées de listes infinies, surmontant finalement les problèmes de mise en cache et d'appels de fonctions pour atteindre l'objectif. Le parcours met en lumière la flexibilité et la puissance de Nix, mais expose également certaines limitations de ses fonctionnalités.

Lire plus
Développement