Символьные вычисления в R?

27

Мне было интересно, если это возможно сделать символьные вычисления в R?

Например,

Я надеялся получить обратную символическую ковариационную матрицу трехмерного гауссовского распределения.

Также я могу сделать символическую интеграцию и дифференцирование в R?

Тим
источник

Ответы:

22

Да. Существует пакет Ryacas , который размещается на Google Code здесь . Ryacas недавно был расширен / преобразован в пакет rMathpiper, который находится здесь . Я использовал Ryacas, и он прост, но вам нужно установить Yacas, чтобы он работал (Yacas выполняет всю тяжелую работу; Ryacas - это просто интерфейс R для Yacas).

Существует также проект rSymPy размещается на Google Code здесь . Я не пробовал это. Идея похожа, однако, ссылка на симпозиальный CAS, который выполняет символическую работу.


источник
19

Некоторые вещи также находятся в базе R --- см. help(deriv)Или 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> 
Дирк Эддельбюттель
источник
6

Имеет больше смысла использовать «настоящий» CAS, такой как Maxima .

Shige
источник
12
Ну, оригинальный вопрос был о R, хотя.
Дирк Эддельбюттель