GSL interface for Ruby with Numo::NArray

GitHub | RubyGems

Numo::GSL API document

Implemented Modules:

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

$ 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.