Calcul symbolique dans R?

27

Je me demandais s'il était possible de faire un calcul symbolique dans R?

Par exemple,

J'espérais obtenir l'inverse d'une matrice de covariance symbolique de distribution gaussienne 3D.

Puis-je également faire l'intégration et la différenciation symbolique dans R?

Tim
la source

Réponses:

22

Oui. Il y a le package Ryacas qui est hébergé sur Google Code ici . Ryacas a récemment été étendu / converti en package rMathpiper qui est hébergé ici . J'ai utilisé Ryacas et c'est simple, mais vous devrez installer Yacas pour que cela fonctionne (Yacas fait tout le travail lourd; Ryacas n'est qu'une interface R pour Yacas).

Il y a aussi le projet rSymPy hébergé sur Google Code ici . Je n'ai pas essayé celui-ci. L'idée est similaire, cependant, au lien avec le CAS sympy qui fait le travail symbolique.


la source
19

Certaines choses sont également dans la base R --- voir help(deriv)ou help(D).

Un exemple simple de cette page d'aide:

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 Eddelbuettel
la source
6

Il est plus logique d'utiliser un "vrai" CAS comme Maxima .

Shige
la source
12
Eh bien, la question initiale concernait R.
Dirk Eddelbuettel