======================================================= 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 Zen of Numpy ------------ * http://technicaldiscovery.blogspot.com/2010/11/zen-of-numpy.html 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