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.
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
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 Freenode.net 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.
Developers
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.
License
SciRuby and NMatrix are available under the BSD three-clause license.
Acknowledgements
-
Google Summer of Code 2013, 2014 and 2015, Google’s Open Source Programs Office, and all of our wonderful students and mentors.
- Brighter Planet for their sponsorship of our first ever SciRuby Summer of Code in 2012.
- JetBrains has kindly provided our project with an open source license for RubyMine.
- The Ruby Association generously awarded us with a rather large grant to fund a couple of SciRuby fellows in 2012. Thanks, Ruby Association!
- The Ruby Association Grant 2014 awarded to @domitry for The Mikon Project.
- The Ruby Association Grant 2015 awarded to @v0dro for further development of NMatrix plugins.
-
Symora Networks gave a major portion of the funding toward our eventual application for 501(c)(3) (U.S. educational charity) status.
- Masahiro Tanaka, the creator of NArray, without which NMatrix would not be possible.
- The several individual donors to our project.