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.
Numo::GSL API document
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 – Interpolarion
- 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
shell
$ 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.