Perhitungan simbolik dalam R?

27

Saya bertanya-tanya apakah mungkin untuk melakukan perhitungan simbolik dalam R?

Sebagai contoh,

Saya berharap untuk mendapatkan kebalikan dari matriks kovarian simbolik dari distribusi Gaussian 3D.

Dapatkah saya melakukan integrasi simbolik dan diferensiasi dalam R?

Tim
sumber

Jawaban:

22

Iya nih. Ada paket Ryacas yang di-host di Google Code di sini . Ryacas baru-baru ini telah diperluas / dikonversi ke paket rMathpiper yang di-host di sini . Saya telah menggunakan Ryacas dan itu mudah, tetapi Anda harus menginstal Yacas agar bisa berfungsi (Yacas melakukan semua pekerjaan berat; Ryacas hanyalah antarmuka R ke Yacas).

Ada juga proyek rSymPy yang dihosting di Google Code di sini . Saya belum mencoba yang ini. Namun, idenya serupa dengan tautan ke sympy CAS yang melakukan pekerjaan simbolis.


sumber
19

Beberapa hal juga ada di basis R --- lihat help(deriv)atau help(D).

Contoh sederhana dari halaman bantuan itu:

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

Lebih masuk akal untuk menggunakan CAS "nyata" seperti Maxima .

Shige
sumber
12
Yah pertanyaan aslinya adalah tentang R.
Dirk Eddelbuettel