再帰の魔法:無限Pythonジェネレータを使ったe^xと三角関数の定義

2025-04-21
再帰の魔法:無限Pythonジェネレータを使ったe^xと三角関数の定義

この記事では、無限Pythonジェネレータを使って数学関数を再帰的に定義する巧妙なテクニックを紹介しています。正の整数のジェネレータを再帰的に定義し、テイラー級数展開を利用することで、e^x、sin x、cos xのテイラー級数係数を、それらの式を事前に定義することなく、積分関係のみに基づいて再帰的に生成する方法を示しています。また、メモ化デコレータを使った最適化も紹介されており、パフォーマンスの向上と再帰深度の制限回避を実現しています。

続きを読む

純粋関数型Nixにおける乱数生成器とコサイン関数の奇妙な冒険

2025-04-15
純粋関数型Nixにおける乱数生成器とコサイン関数の奇妙な冒険

この記事では、Nix言語をベースとしたLinuxディストリビューションであるNixOSにおいて、乱数生成器とコサイン関数をどのように実装したかの体験が記されています。Nixの純粋関数型という性質から、システムの乱数生成器や組み込みの数学関数の使用には課題がありました。筆者は、Nixの`runCommandLocal`関数や独自の無限リスト実装など、様々なアプローチを試み、最終的にキャッシングや関数呼び出しの問題を克服し、目標を達成しました。この経験は、Nixの柔軟性と強力さを示す一方、その機能のいくつかの限界も明らかにしています。

続きを読む
開発