Tools for Scientific Computing in Ruby

The SciRuby Manifesto

Ruby has for some time lacked libraries implementing the basic tools needed for scientific computing and data visualization.

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-causing crystal of sweetness, induced by no more than the tap of a finger. So it is, we believe, with the need for numeric and visualization libraries in Ruby.

SciRuby logo

We are not the first with this idea, but we are bringing it to life.

Project Status

A few months ago, we shipped our first beta release of NMatrix, the SciRuby linear algebra library. NMatrix includes both dense and sparse matrix storage, and we are working on including full ATLAS and LAPACK support.

Our key goals in the short term are improved visualization software and continued development of our linear algebra software (NMatrix and MDArray). We have several experimental plotting libraries — such as Rubyvis, Plotrb, and Nyaplot — and are interested in improving existing APIs, such as for Gnuplot.

Subscribe to the SciRuby Google Group

To subscribe to our Google Group, please enter your email below.

SciRuby on IRC

Our IRC channel is most active during the months of Google Summer of Code, but generally there are always a few people around. You can find us on in #sciruby.

Getting SciRuby

Word to the wise: These gems have been tested, but are not battle-hardened. If you’re thinking of using NMatrix (or other SciRuby components) to write mission critical code, such as for a self-driving car or controlling an ARKYD 100 satellite, you should expect to encounter a few bugs — and be prepared for them.

Instructions for installing various SciRuby components are available in our docs.

You can find our NMatrix documentation here.


You can find the full roster on our project wiki.

Want to get involved?

Say you have a few hours and are itching to get your hands dirty. The best place to look right now is the NMatrix issue tracker on Github. Pick something that interests you and fork us!

You might also check out the SciRuby issue tracker if matrices don’t interest you much.


SciRuby and NMatrix are available under the BSD three-clause license.