自動微分を二重数でしてみるライブラリ。
numpy があれば動く。推奨されていない numpy.matrix
を使っているのでバージョンによっては今後動かなくなるかも。
pipenv で環境を作成します。pipenv の使い方は公式ドキュメントを参照してください。
pip install pipenv
export PIPENV_VENV_IN_PROJECT=true # .bashrc に書いておくと良い
pipenv install --dev
有理関数を定義します。
def f(x): return x ** 2 + x
このx = 2における微分は次のように計算できます。
deriv(f, 2) # 5
他にもexpとかsinとかの微分も求まります(参照)。
二重数を無理やり演算から実装してもいいですが,次の事実を用いました(証明してみよう)。
(命題)
(
pytestを使います。テストは以下のように実行できます。
pipenv run pytest --doctest-modules