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.
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
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 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, 2015, 2016-2019, 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.
- The Ruby Association Grant 2016 awarded to @v0dro for further development of Rubex.
- The Ruby Association Grant 2017 awarded to @prasunanand for development of GPU-accelerated Ruby libraries for handling large datasets.
- The Ruby Association Grant 2019 awarded to @alishdipani for development of Rubyplot: An advanced plotting library for Ruby.
- The Ruby Association Grant 2020 awarded to @uditgulati for NumRuby and Ruby-Sparse improvements. .
-
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.