R で SymPy を使う方法として https://blog.goo.ne.jp/r-de-r/e/679bfb0e59b6ff26332e0cd214d36db3 をあげたが,(最近?)以下のようなやり方もあるそうだ。
reticulate パッケージを使うことで,Python の sympy を R から利用できる。
reticulate パッケージをインストール(まだインストールしていない場合)
# install.packages("reticulate")
sympy を Python 環境にインストール(まだインストールしていない場合)
# library(reticulate)
# py_install("sympy")
使用例
library(reticulate)
sympy <- import("sympy")
# 変数の定義
x <- sympy$Symbol("x")
# 式の定義
expr <- x^2 + 2*x + 1
# 微分
diff_expr <- sympy$diff(expr, x)
print(diff_expr)
2.0*x**1.0 + 2.0
# 積分
int_expr <- sympy$integrate(expr, x)
print(int_expr)
1.0*x**2 + 1.0*x + 0.333333333333333*x**3.0
# 方程式の解
sol <- sympy$solve(expr, x)
print(sol)
[[1]]
-1.00000000000000