Computação simbólica em R?

27

Eu queria saber se é possível fazer computação simbólica em R?

Por exemplo,

Eu esperava obter o inverso de uma matriz de covariância simbólica da distribuição 3D Gaussiana.

Também posso fazer integração e diferenciação simbólicas em R?

Tim
fonte

Respostas:

22

Sim. Há o pacote Ryacas que está hospedado no Google Code aqui . Ryacas foi recentemente expandido / convertido para o pacote rMathpiper que está hospedado aqui . Eu usei o Ryacas e é simples, mas você precisará instalar o Yacas para que ele funcione (o Yacas faz todo o trabalho pesado; o Ryacas é apenas uma interface R para o Yacas).

Há também o projeto rSymPy hospedado no Google Code aqui . Eu não tentei este. A ideia é semelhante, no entanto, ao link do CAS sympy que faz o trabalho simbólico.


fonte
19

Algumas coisas também estão na base R - veja help(deriv)ou help(D).

Um exemplo simples dessa página de ajuda:

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
fonte
6

Faz mais sentido usar um CAS "real" como o Maxima .

Shige
fonte
12
Bem, a pergunta original era sobre R embora.
precisa saber é o seguinte