# Future of Python and NumPy for array-oriented computing¶

## Author¶

- Travis Oliphant (http://twitter.com/teoliphant)
- Made NumPy

## Why Python?¶

- Fits your brain
- Doesn’t get in your way
- Software engineering is more about neuroscience than code.
- Fibonacci is just an Unstable Infinite Impulse Response linear filter
- Shows numpy example, which is fast, but wraps hardware integer
- Wants to make Python faster than C, as in a GPU or FPGA

## Conway’s Game of Life¶

Interesting excercies

Shows an example of it

Array oriented

- APL

- Grandfather of most array oriented languages
- J,K,Matlab are descendents
- Numpy is a descendent
- Unicode glyphs
Game of Life is one line in APL

Array-oriented programming deals with arrays as a block

Shows numpy example

## Numpy/Scipy History¶

Numeric around ~1994

- More features for array oriented computing

- a[0,1], a[::2]
- Ellipsis object
- Complex numbers
Syntax matters

Aside: We need more numpy/scipy and core collaboration

Derivative Calculations in 1997

Came from MATLAB, but it wasn’t memory efficient enough

Iterative update loop made Python nice

1999 Scipy emerges

Python was better language than MATLAB, but lacked scientific libraries

- Community Effort

- Mostly from academics
Numpy emerged from Numeric in 2005

## Numpy¶

- Data types

- Collections of objects
- Arrays
Statistics functions

- Arbitrary Arrays

- Column oriented calculations

## Scipy¶

- Stats
- Data fitting
- Interpolation
- Brownian Motion

## Pypy¶

- Let’s not chase C, let’s chase Fortran 90.
- Example where Fortran 90 is 7 times faster than Numpy and Pypy

## Question¶

- Coolest thing seen with NumPy?

- Implant surgery planning tool
- CT Scans, 3d vis