GSL interface for Ruby with Numo::NArray
- GSL - GNU Scientific Library - version >=2.0 and <=2.3.
- Pre-alpha version under development.
- Call for help! - writing tests and examples.
Implemented Modules:
-
Numo::GSL -- Mathematical Functions
- (Modules/Classes below are defined in Numo::GSL module, e.g., Const => Numo::GSL::Const)
- Const -- Constants
- Poly -- Polynomials
- Sf -- Special Functions
- Rng -- Random Number Generation
- Stats -- Statistics
- Histogram -- Histograms
- Spline -- Interpolation
- Wavelet -- Wavelet Transforms
- Fit -- Linear regression
- SpMatrix -- Sparse Matrices
More modules will be implemented.
Naming convention
[C] GSL function/constant => [Ruby] Numo::GSL function/constant
* Constants
M_2_PI => Numo::GSL::M_2_PI
GSL_CONST_MKSA_ANGSTROM => Numo::GSL::Const::MKSA_ANGSTROM
* Module function
gsl_acosh() => Numo::GSL.acosh()
gsl_sf_bessel_J0() => Numo::GSL::Sf.bessel_J0()
* Class method
gsl_rng_alloc() => Numo::GSL::Rng.new
gsl_rng_get() => Numo::GSL::Rng#get
* Subclass
gsl_rng_type *gsl_rng_mt19937; => Numo::GSL::Rng::Mt19937 < Numo::GSL::Rng
* Exception
gsl_ran_gaussian_pdf() => Numo::GSL::Pdf.gaussian
gsl_ran_gaussian() => Numo::GSL::Rng#gaussian (Rng includes Numo::GSL::Ran)
Installation
-
Install Numo::NArray
-
Install GSL - GNU Scientific Library version between 2.0 and 2.3.
-
Install Numo::GSL
$ gem install numo-gsl
Quick start
If you're familiar with Docker, the following commands should work in most cases:
git clone https://github.com/ruby-numo/numo-gsl
cd gsl
docker build -t numogsl .
docker run -d -p 8888:8888 numogsl start-notebook.sh --NotebookApp.token=''
and open a web browser to http://localhost:8888 .
Our Docker image is based on Minimal Jupyter Notebook Stack. See https://github.com/jupyter/docker-stacks/tree/master/minimal-notebook for more details on the Docker command options.