-
Notifications
You must be signed in to change notification settings - Fork 80
Scientific projects in Ruby
SciRuby isn't the only project dealing with scientific applications in Ruby. In this page, we'll maintain a list of gems with similar purposes or with a specific goal in mind. Also, we'll include bindings for important projects.
The creosote gem provides two distinct functionalities that aid in using mathematics Ruby extensions. Firstly, creosote can provide awareness between unrelated mathematical libraries (such as GMP and Msieve), allowing data to be passed between them. Secondly, creosote can install prerequisite C libraries that certain Rubygems might need (inspired by RVMs same ability). For example, if one wishes to install the gmp_ecm gem, but do not have the ecm library, or its prerequisites installed, creosote can help.
Creosote was selected by the Ruby Association in their 2012 Grant, together with SciRuby. It's objective is different than ours, but seems very useful and active.
BioRuby project provides an integrated environment in bioinformatics for the Ruby language. This project is supported by University of Tokyo (Human Genome Center), Kyoto University (Bioinformatics Center) and the Open Bio Foundation.
It's a library with a very narrow (arguably) scope, but it seems pretty advanced too. There's documentation, both in japanese and in english, a plugin system, a videocast and other things. Unfortunately, the repository appears to be not very active.
The license for each file is different, but it's very flexible in general. We could reuse some parts of its code, e.g. the format converters. There's probably something in there that's useful for a wider audience.
AI4R is a collection of ruby algorithms implementations, covering several Artificial intelligence fields, and simple practical examples using them. A Ruby playground for AI researchers.
This library is pretty neat, with implementations of various common algorithms. I think its style is not very good, idiomatic ruby and there are some places I'd simply rewrite. It's a nice perspective for SciRuby, NMatrix in particular: to make implementing these algorithms much faster and easier, with matrix/vector operations built-in.
It's also a good alternative when we need some AI algorithm and don't have enough time to implement it with SciRuby's tools (or they don't cover a topic yet).
OpenCV is an open source library for computer vision with lots of features, widely used and well documented. There's a Python API (which I've used and is very good) and I think we should have one as well.
There isn't much documentation and the install process should be improved, but it's a nice and useful gem nonetheless.
Bindings to use FANN (Fast Artificial Neural Networks), a C library that implements multilayer neural networks. If you're into this kind of research, it's very useful.