HackageDBでnumbersというパッケージを見つけました。この中にData.Number.Difという自動微分のモジュールが含まれていたのですが、これがなかなか面白いです。 サンプルコードを全然見かけないので、いろいろと書いてみます。 自動微分とは 自動微分というのは関数の導関数の値を自動的に求めるということですが、これには「数値的」にやる方法と「記号的」にやる方法があります。数値的にというのは という式のhに適当な微小量を与えて、近似的に導関数の値を求める方法を言います。 一方記号的にというのは の様に、微分公式を使用して具体的に関数を求める方法を言います。 Difモジュールが行うのは後者ですが、Haskellの遅延評価と多相型を生かして非常に使い勝手の良いものになっています。プリプロセッサを通すとかいった手間もありません。 自動微分のアルゴリズムについてはAutomatic d
![自動微分モジュールで遊ぶ - 2007-12-03 - mad日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/555bb98777b9b5ab22475f5cf86111de01dd068f/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2FM%2FMaD%2F20071204%2F20071204053001.jpg)