何かの理論式をもとにJupyter notebook上で計算をしていて、例えば
S = (2 * A * L**2 / a) * (2 * np.exp(-2*a*L) * np.sin(2*a*L) - 1 + np.exp(-4*a*L)) / (2 * np.exp(-2*a*L) * np.cos(2*a*L) - 1 - np.exp(-4*a*L))
のような複雑な計算があるときに、Pythonのコード上ではパッと見てコードがこれで合っているのか確認するのは大変です。
そこで、このような計算コードを
$$
S = \frac{2AL^2}{a}\frac{2e^{-2aL}\sin(2aL)-1+e^{-4aL}}{2e^{-2aL}\cos(2aL)-1-e^{-4aL}}
$$
のようなLaTeXの数式に変換して表示してくれるライブラリを探していたら、見つかったので紹介します。
latexify
リンク
- GitHubリポジトリ (スター数5k超え!)
- 公式ドキュメント
- colabのexample notebook
インストール方法
Python3.7以上でサポートされています。
pip install latexify-py
使い方
Jupyter notebookのセルに@latexify.function
と書いた後に、数式として表示したい計算コードを関数として定義します。
例:
@latexify.function
def S(A, L, a):
return (2 * A * L**2 / a) * (2 * np.exp(-2*a*L) * np.sin(2*a*L) - 1 + np.exp(-4*a*L)) / (2 * np.exp(-2*a*L) * np.cos(2*a*L) - 1 - np.exp(-4*a*L))
S
print(S)
おまけ
@latexify.function(use_math_symbols=True)