Numberscape

Open-source awesomeness for computational math

Here's an outline of the talk.

Octave

Open-source MATLAB?

It's just about the same.


  • Octave's syntax matches MATLAB's
  • Differences between Octave and MATLAB are bugs
  • It's GPL. OS ftw!

But. But..


  • Supports C-based operators like ++, --
  • Comments can be defined with # as well as %
  • Strings can be defined with "" as well as ''

R


Like data? Love R.

It's packed.

  • Linear and non-linear modeling
  • Time-series analysis
  • Clustering
  • Machine learning
  • Graphics
  • CRAN

Python & math: State of the Union


  • Numpy, Scipy
  • Matplotlib
  • Pandas
  • CAS - Sympy, Sage

NumPy

  • Linear algebra? Look no further
  • Adds support for multidimensional arrays
  • Also adds a lot ofmath operations for arrays and matrices
  • Works better than MATLAB, unlike Simulink

SciPy

  • Numpy's elder sister you'd want to date
  • More functions for linear algebra
  • Optimization
  • Machine learning
  • Probabilistic programming

Matplotlib

  • Unarguably the best plotting library ever
  • Less code to generate plots
  • API resembles that of MATLAB

Pandas

  • DataFrames for data manipulation with indexing
  • Read/write data to/from different formats
  • Pivoting datasets
  • Merging and joining datasets
  • Time-series analysis
  • Optimized like crazy - combination of Cython and C

SymPy

  • Symbolic computation
  • Polynomials
  • Calculus
  • Equations - linear, simultaneous, differential
  • Discrete math - binomial coefficients, prime numbers, logic
  • Matrix algebra
  • Statistics - distributions, Bayesian methods
  • Kinematics
  • Quantum algebra

Sage

  • Like SymPy, but with a lot more
  • Integrates everything - Maxima, MATLAB, NumPy, SciPy, anything that has anything to do with math, into a single platform
  • One word: powerful

What else?

  • Julia
  • Haskell
  • F#

Julia

  • Relatively new language from MIT
  • Draws inspiration from Scheme, Lisp
  • Meant to serve as a viable alternative to MATLAB, Mathematica, for technical computing

Haskell

  • Pure functional programming language
  • Everything's a function!
  • Hackage features great libraries for probabilistic programming and machine learning

F#

  • Yes, it's from Microsoft. It's open source. It's pretty good.
  • Influenced by ML, Ocaml, Erlang, C#, Python
  • Mixes object-oriented programming with functional programming
  • Ideal for data analysis, creating custom DSLs for modeling.

The IPython architecture

How does it really work?


Mixing Python, Octave & R


  • The IPython Notebook
  • Octave in the Notebook
  • R in the Notebook
  • Mixing it together(demo)

IJulia


  • The Julia kernel for the IPython Notebook
  • How does it work?

IHaskell



IFSharp


Questions?

$ whoami

I'm Rudraksh. I love math, history, snooker, kebabs and vodka. Co-founder at MathHarbor, where we're trying to make computational math and stats easy for anyone to master.

Help us make math more awesome!


Play with our platform. Break it. Improve it. Rinse, repeat. And if you like what we do, join us :)


w: http://mathharbor.com
e: founders@mathharbor.com
t: @mathharbor

Numberscape

By Rudraksh M.K.

Numberscape

  • 2,006