[Webinar] Scientific Computation and Data Visualization with Ruby

Post on 11-Jan-2017

226 views 2 download

transcript

Scientific Computation and Data Visualization

in Ruby

Sameer Deshmukhgithub.com/v0dro@v0dro

RubyScienceFoundation

www.sciruby.com

@sciruby@sciruby

iruby notebook

Browser based Ruby REPL for interactive computing.

Runs in yourbrowser

Input cell – acceptsRuby code

Output cell – canrender HTML/CSS/JS

nmatrix

n-dimensional array object.

Interface Ruby with high speed C libraries.

require 'nmatrix'

n = NMatrix.new([2,2], [1,2,3,4], dtype: :float32,stype: :dense)

n[0,1] # => 2.0

Data Types:int8 :float32

:int16 :float64

:int32 :complex64

:int64 :complex128

Storage types

Dense Dense matrix.

List Sparse matrix type storing data as a linked list.

Yale Sparse type storing data in the 'New Yale' format.

NMatrix C API

nmatrix

nmatrix-atlas

nmatrix-lapacke

nmatrix-fftw gsl

nmatrix is coming to jruby!

nyaplot

interactive plotting tool for Rubyists.

interactive HTML and JavaScript plots that can be displayed in your

browser.

Mapnya

Nyaplot3D

Bionya

Map visualizations with inbuilt country charts.

Three Dimensional interactive plots.

Biology plots for visualizing relationships of genes.

gnuplotrb

Ruby wrapper over GNU Plot.

Convieniently exposes all GNU Plot functions through Ruby.

require 'gnuplotrb'

plot = GnuplotRB::Plot.new([

[1,2.5,1.5,4], with: 'linespoints'

])

require 'gnuplotrb'

plot = GnuplotRB::Plot.new([

[1,2.5,1.5,4], with: 'linespoints'

],[

[2,3,4.3,3], with: 'lines'

])

statsample

daru(Data Analysis in RUby)

daru ==(Hindi)

दा

library for analysis, cleaning, manipulation and

visualization of data.

Read/write many data sources

Ephemeral statistics functions

Works well with 'wild' data

Data indexing

Acts as glue between other SciRuby libraries.

Daru::VectorHeterogenous Array that can be indexed on any

Ruby object.

Name

Label(0)Label(1)Label(2)

...

Label(n-1)

Daru::DataFrame2D spreadsheet like data structure indexed by

rows or columns.Col0

Label(0)Label(1)Label(2)

...

Label(n-1)

Col1 Col2 Col(n-1)

....

Thank You Twitter: @v0droGitHub: @v0dro

Any questions?