R中的符号计算?

机器算法验证 r
2022-02-07 08:59:29

我想知道是否可以在 R 中进行符号计算?

例如,

我希望得到 3D 高斯分布的符号协方差矩阵的逆。

我也可以在 R 中进行符号积分和微分吗?

3个回答

是的。这里有托管在 Google Code 上Ryacas 包Ryacas 最近已扩展/转换为托管在此处的 rMathpiper 包。我使用过 Ryacas,它很简单,但是您需要安装Yacas才能使其工作(Yacas 完成所有繁重的工作;Ryacas 只是 Yacas 的 R 接口)。

这里还有托管在 Google Code 上的 rSymPy 项目这个我没试过。但是,这个想法是相似的,链接到执行符号工作的 sympy CAS。

有些东西也在基础 R 中——参见help(deriv)or help(D)

该帮助页面中的一个简单示例:

R> trig.exp <- expression(sin(cos(x + y^2)))
R> ( D.sc <- D(trig.exp, "x") )
-(cos(cos(x + y^2)) * sin(x + y^2))
R>      all.equal(D(trig.exp[[1]], "x"), D.sc)
[1] TRUE
R> 

使用像Maxima这样的“真实”CAS 更有意义。