Skip to content

Symbolic Computation in R

Marlin NȺ edited this page Dec 25, 2017 · 6 revisions

This page has moved to https://github.com/rstats-gsoc/gsoc2018/wiki/SymEngine.R:-Symbolic-Computation-in-R

Background

SymEngine is a standalone fast C++ symbolic manipulation library, which provides a fast computer_algebra_system , which is a lack in R. It has wrappers in several other languages, namely C, Python, Ruby, Julia and Haskell.

Related work

  • RSymPy is a R package that link the sympy python library using rJava and Jython. It is relative hard to install, and the interface is not transparent enough for R users.

The project is expected to provide a fast computer algebra system and a seamless interface within R.

Details of your coding project

  1. Build a low level interface using Rcpp and the C-wrapper of symengine.
  2. Provide friendly user-interfacing functions and methods (e.g. the groupGenerics for math functions and binary operators).
  3. Write documentation, vignettes and unit tests.

Expected impact

The resulting package is expected to provide a solid base of symbolic computation in R.

Mentors

  • Isuru Fernando <isuruf@gmail.com> is willing to mentor on symengine side.
  • Need another R mentor who may be familiar with Rcpp.

Tests

You’ll have to store a pointer to SymEngine objects. For the test assume a SymEngine object is like below,

typedef struct {
    double A;
    double B;
} CStruct;

Come up with a solution to create a struct, update the struct, delete the struct and showing the contents of the struct from R.

Solutions of tests

Students, please post a link to your test results here.

Clone this wiki locally