Tools for Scientific Computing in Ruby

The SciRuby Manifesto

Ruby is a great choice for scientific computing and data visualization. Even though other languages have more libraries - and we can not do without them - Ruby has its own place in Science and it is always a pleasure to write software in Ruby. But there is only one way to find out and that is by writing code!

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, it is with numeric and visualization in Ruby.

SciRuby logo

Project Status

We have released NMatrix, the SciRuby linear algebra library. NMatrix includes both dense and sparse matrix storage. We have great visualisation tools and tools, for example, for machine learning and linear mixed modelling. Recently we added support for tensors

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 and Matrix

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.