Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Scientific Computing in Ruby. RDRC 2016.

Scientific Computing in Ruby. RDRC 2016.

Talk on Scientific Computing in Ruby at Red Dot Ruby Conf 2016, Singapore.

Sameer Deshmukh

June 24, 2016
Tweet

More Decks by Sameer Deshmukh

Other Decks in Programming

Transcript

  1. Sameer Deshmukh
    github.com/v0dro
    @v0dro

    View full-size slide

  2. Incredible India

    View full-size slide

  3. City of Pune.
    Population: 6 million.
    Oxford of the East.

    View full-size slide

  4. Dr. Gopal
    Deshmukh
    Sameer
    Desmukh
    Dr. Hemchandra
    Deshmukh
    Dr. Satish
    Deshmukh

    View full-size slide

  5. www.soundcloud.com/catkamikazee
    Sameer

    View full-size slide

  6. Ruby
    Science
    Foundation
    www.sciruby.com
    @sciruby
    @sciruby

    View full-size slide

  7. Scientific
    Computing In
    Ruby

    View full-size slide

  8. iruby notebook

    View full-size slide

  9. Browser based Ruby REPL
    for interactive computing.

    View full-size slide

  10. Runs in your
    browser
    Input cell – accepts
    Ruby code
    Output cell – can
    render HTML/CSS/JS

    View full-size slide

  11. n­dimensional array object.
    Interface Ruby with
    high speed C libraries.

    View full-size slide

  12. require 'nmatrix'
    n = NMatrix.new(
    [2,2],
    [1,2,3,4],
    dtype: :float32,
    stype: :dense
    )
    n[0,1] # => 2.0

    View full-size slide

  13. Data Types
    :int8 :float32
    :int16 :float64
    :int32 :complex64
    :int64 :complex128

    View full-size slide

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

    View full-size slide

  15. NMatrix C API

    View full-size slide

  16. nmatrix
    nmatrix­
    atlas
    nmatrix­
    lapacke
    nmatrix­
    fftw
    gsl

    View full-size slide

  17. nmatrix is coming to jruby!

    View full-size slide

  18. interactive plotting
    tool for Rubyists.

    View full-size slide

  19. interactive
    HTML and JavaScript plots
    that can be displayed in your
    browser.

    View full-size slide

  20. Mapnya
    Nyaplot3D
    Bionya
    Map visualizations with inbuilt country charts.
    Three Dimensional interactive plots.
    Biology plots for visualizing relationships of genes.

    View full-size slide

  21. daru
    (Data Analysis in RUby)

    View full-size slide

  22. daru ==
    (Hindi)
    ददार

    View full-size slide

  23. library for
    analysis, cleaning, manipulation and
    visualization
    of data.

    View full-size slide

  24. Read/write many data sources
    Ephemeral statistics functions
    Works well with 'wild' data
    Data indexing

    View full-size slide

  25. Acts as glue between other
    SciRuby libraries.

    View full-size slide

  26. Daru::Vector
    Heterogenous Array that can be indexed on
    any Ruby object.
    Name
    Label(0)
    Label(1)
    Label(2)
    ...
    Label(n-1)

    View full-size slide

  27. Daru::DataFrame
    2D spreadsheet like data structure indexed by
    rows or columns.
    Col0
    Label(0)
    Label(1)
    Label(2)
    ...
    Label(n-1)
    Col1 Col2 Col(n-1)
    ....

    View full-size slide

  28. Cool SciRuby Stickers

    View full-size slide

  29. Thank You
    Red Dot Ruby Conf

    View full-size slide

  30. I will answer your questions
    in my own childish ways.

    View full-size slide