Symbolische Berechnung in R?

27

Ich habe mich gefragt, ob es möglich ist, symbolische Berechnungen in R?

Beispielsweise,

Ich hatte gehofft, die Umkehrung einer symbolischen Kovarianzmatrix der 3D-Gauß-Verteilung zu erhalten.

Kann ich auch symbolische Integration und Differenzierung in R machen?

Tim
quelle

Antworten:

22

Ja. Es ist das Ryacas Paket , das auf Google Code gehostet wird hier . Ryacas wurde kürzlich auf das hier gehostete rMathpiper-Paket erweitert / konvertiert . Ich habe Ryacas verwendet und es ist unkompliziert, aber Sie müssen Yacas installieren , damit es funktioniert (Yacas erledigt das ganze schwere Heben; Ryacas ist nur eine R-Schnittstelle zu Yacas).

Es besteht auch die rSymPy Projekt gehostet auf Google Code hier . Ich habe diesen nicht ausprobiert. Die Idee ähnelt jedoch der des Sympy CAS, das die symbolische Arbeit leistet.


quelle
19

Einige Dinge sind auch in der Basis R --- siehe help(deriv)oder help(D).

Ein einfaches Beispiel von dieser Hilfeseite:

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> 
Dirk Eddelbüttel
quelle
6

Sinnvoller ist es, ein "echtes" CAS wie Maxima zu verwenden .

Shige
quelle
12
Nun, die ursprüngliche Frage betraf allerdings R.
Dirk Eddelbuettel