Tools for Scientific Computing in Ruby

We believe that the time for a Ruby science and visualization package has come. Sometimes when a solution of sugar and water becomes super-saturated, from it precipitates a pure, delicious, and diabetes-inducing crystal of sweetness, induced by no more than the tap of a finger. So it is today with numeric and visualization libraries for Ruby.

The SciRuby project is oriented towards providing computational research infrastructure for the Ruby Programming Language. SciRuby consists of a fairly large number of gems, including statsample, statsample-glm, statsample-timeseries, distribution, minimization, integration, rubyvis, plotrb, Nyaplot, MDArray, Publisci, Ruby-Band, daru, and NMatrix.

NMatrix has been awarded grants by the Ruby Association in 2012 and 2015, and has a goal of supplying Ruby with a robust, versatile linear algebra library with support for both dense and sparse matrices. Statsample and its related packages aim to provide Ruby with statistical analysis packages, while daru, nyaplot and gnuplotrb take care of data analysis and visualization. Nyaplot was also awarded the Ruby Association Grant in 2014.

A major portion of our gems have been written by GSoC students — including Nyaplot, daru, plotrb, PubliSci, Ruby-Band, statsample-timeseries, and statsample-glm. Others, like minimization, integration and nmatrix, have been overhauled over the course of Summer of Code projects.

Working on SciRuby is a chance to get involved at the ground floor on a project which is viewed as critical by many Rubyists, including Ruby's creator, Matz. Further, since we are a science-related project, we expect that successful student projects could lead to publications. Better yet, students might get to see their code go into orbit, or used to save lives in biomedical research.

lightbulb_outline View ideas list


  • ruby
  • c programming
  • jruby
  • c/c++


comment IRC Channel
email Mailing list
mail_outline Contact email

Ruby Science Foundation 2016 Projects

  • Lokesh Sharma
    Categorical data support for Daru, Statsample and Statsample-glm
    In Data Science acquiring insight from data is what matters and any good data analysis tool must have the key functionalities required to extract...
  • gaurav_tamba
    Create a Ruby Wrapper for NASA's SPICE Toolkit
    NASA's SPICE toolkit is a collection of subroutines and functions designed to interpret and perform numerical computations on archived data returned...
  • prasunanand
    Port Nmatrix to JRuby
    NMatrix for MRI has become a fairly well-established project. However with JRuby+Truffle+Graal becoming very fast compared to MRI, a lot of ruby...
  • Rajith Vidanaarachchi
    Ruby Wrappers for SymEngine
    The work proposed is to extend the already available, but limited SymEngine's Ruby interface. This project will greatly increase the computational...