SciPy India 2009

77
SciPy India November 20, 2009

description

Travis Oliphant gives a review of the SciPy India 2009 conference.

Transcript of SciPy India 2009

Page 1: SciPy India 2009

SciPy India

November 20, 2009

Page 2: SciPy India 2009
Page 3: SciPy India 2009

Trivandrum, Kerala, India

Page 4: SciPy India 2009
Page 5: SciPy India 2009
Page 6: SciPy India 2009
Page 7: SciPy India 2009

Organizers and Sponsors

Page 8: SciPy India 2009
Page 9: SciPy India 2009
Page 10: SciPy India 2009
Page 11: SciPy India 2009
Page 12: SciPy India 2009
Page 13: SciPy India 2009
Page 14: SciPy India 2009

Tutorials

Page 15: SciPy India 2009
Page 16: SciPy India 2009
Page 17: SciPy India 2009

My Story of SciPy

Page 18: SciPy India 2009

In the beginning....

Page 19: SciPy India 2009

was Guido....

Version Date0.9.0 Feb. 1991

0.9.4 Dec. 1991

0.9.6 Apr. 1992

0.9.8 Jan. 1993

1.0.0 Jan. 1994

1.2 Apr. 1995

1.4 Oct. 1996

1.5.2 Apr. 1999

http://python-history.blogspot.com/2009/01/brief-timeline-of-python.html

Page 20: SciPy India 2009

Created first Matrix object Released it to the net in 1994 Started getting feedback on Matrix-SIG Convinced Guido to change some syntax

a[0,1] instead of a[(0,1)] a[::2] instead of only a[:] Ellipsis operator Complex numbers

Jim Fulton

Page 21: SciPy India 2009

Jim Hugunin

Page 22: SciPy India 2009

Konrad Hinsen

Contributed complex numbers to Python

Created ScientificPython (a collection of packages for doing a variety of things --- 26 Jul 1999)

Extremely helpful on mailing list in early discussions.

Wrote tutorial to Numeric C-API

Page 23: SciPy India 2009

Paul Dubois

Took over as lead NumPy developer when Jim Hugunin went on to write Jython.

Funded first documentation for Numeric Python.

Created Computing in Science and Engineering special edition devoted to Python.

Page 24: SciPy India 2009

David Ascher

Wrote initial documentation for Numeric Python with funding from LLNL.

Active on mailing lists and in discussions until about 2001.

Became CEO of Mozilla Messaging

Page 25: SciPy India 2009

How did I end up involved with NumPy and SciPy?

Page 26: SciPy India 2009

Early beginnings (1971 - 1989)

N!

k=1

k =N (N + 1)

2

Page 27: SciPy India 2009

!"E = #!B!t

! · D = "

!"H = J +!D!t

! · B = 0

??

Maxwell’s Equations (1990 -

Page 28: SciPy India 2009

Electrical Engineering

Electromagnetics

Probability Theory Signal Processing

... so I could get a real job!

Page 29: SciPy India 2009

Master’s Degree

Page 30: SciPy India 2009

Transition to Biomedical Engineering 1996

Page 31: SciPy India 2009

Magnetic Resonance Elastography 1997

Raja Muthupillai

Richard Ehman

Armando Manduca

!0 (2"f)2 Ui (a, f) = [Cijkl (a, f)Uk,l (a, f)],j

Page 32: SciPy India 2009

Finding Derivatives of 5-d data

UX (a, f) UY (a, f)

UZ (a, f)

Page 33: SciPy India 2009

Finding Derivatives of 5-d data ! = !"U

!X (a, f) !Y (a, f)

!Z (a, f)

Page 34: SciPy India 2009

Found Python and Numeric in 1997

Loved the expressive syntax of Python Loved the fact that slicing didn’t make copies Loved the existing multiple data-types Loved how much more flexible it was to

extend than MATLAB was Loved that I could read the source code and

extend it

I was a pretty proficient MATLAB user, but it was not memory efficient enough.

Page 35: SciPy India 2009

First problem: Efficient Data Input

“It’s All About the Data”

http://www.python.org/doc/essays/refcnt/

Reference Counting Essay

May 1998

Guido van Rossum

TableIOApril 1998

Michael A. Miller

NumPyIOJune 1998

Page 36: SciPy India 2009

Early pieces of SciPy

cephesmodule fftw wrappers

June 1998 November 1998

stats.py

December 1998Gary

Strangman

Page 37: SciPy India 2009

1999 : Early SciPy emergesDiscussions on the matrix-sig from 1997 to 1999 wanting a complete data analysis environment: Paul Berrett, Joe Harrington, Perry Greenfield, Paul Dubois, Konrad Hinsen, and others. Activity in 1998, led to increased interest in 1999.

In response on 15 Jan, 1999, I posted to matrix-sig a list of routines I felt needed to

be present and began wrapping / writing in earnest. On 6 April 1999, I

announced I would be creating this uber-package which eventually became SciPy

Gaussian quadrature 5 Jan 1999

cephes 1.0 30 Jan 1999

sigtools 0.40 23 Feb 1999

Numeric docs March 1999

cephes 1.1 9 Mar 1999

multipack 0.3 13 Apr 1999

Helper routines 14 Apr 1999

multipack 0.6 (leastsq, ode,

fsolve, quad)

29 Apr 1999

sparse plan described 30 May 1999

multipack 0.7 14 Jun 1999

SparsePy 0.1 5 Nov 1999

cephes 1.2 (vectorize) 29 Dec 1999

Plotting??

GistXPLOTDISLINGnuplot

Helping with f2py

Page 38: SciPy India 2009

Early helpers in 1999

(IPP) Early IPython interactive environment (27 Apr 1999)Matlab file reader (24 Apr 1999)

Hosting of first Multipack CVS repository (June 1999) Amazing makefilesInterface to FITPACKWrote f2py as he watched my brute-force approach (July 1999)

Created windows binaries of multipack, cephesmodule,fftw, and signaltools (June 1999 while still in high school!)

Pearu Peterson

Janko Hauser

Robert Kern

Page 39: SciPy India 2009

Early 2000 : Numeric needs

• Memory mapped arrays

• Rank-0 arrays or scalars

• Handling indirect and masked indexing

• More attributes to N-d arrays

Page 40: SciPy India 2009

2000-2001

Page 41: SciPy India 2009

SciPy 2001

Founded in 2001 with Travis Vaught

stats.py

Eric Jonesweavecluster

GAPearu Petersonlinalg

interpolatef2py

Page 42: SciPy India 2009

Finally... Plotting

John Hunter2001

Page 43: SciPy India 2009

IPython (building on IPP)

Fernando PerezDec 10, 2001

Page 44: SciPy India 2009

Teaching

Research

Page 45: SciPy India 2009

SciPy work at BYU from students

Iterative solvers Special Function

tests Some additions to

Numeric

No time for Numeric overhaul contemplated in early 2000!

Page 46: SciPy India 2009

STSCI leads out with Numarray

Perry GreenfieldJ. Todd MillerRick WhitePaul Barrett

Page 47: SciPy India 2009

Numarray released in 2003

• too slow for small arrays

• incomplete implementation for ufuncs

• minimal Numeric code re-use

• lots of very nice things, though (e.g. memory maps, fast code for large arrays, better sorting algorithms)

Page 48: SciPy India 2009

Split in the community

NumericSciPy

Numarrayndimageothers

Page 49: SciPy India 2009

ndimage

Page 50: SciPy India 2009

NumPyVersion 1.0 October 2006

started January 2005

Special Thanks to:Chuck HarrisRobert KernDavid Cooke

Page 52: SciPy India 2009
Page 53: SciPy India 2009

Transition to Industry in 2007

Page 54: SciPy India 2009

Many essential contributors now...

• Chuck Harris

• David Cournapeau

• Pauli Virtanen

• Stefan van der Walt

• Jarrod Millman

• Dag Sverre Seljebotn

• Matthew Brett

• Anne Archibald

• Josef Perktold

• many, many others... (forgive me)

Page 55: SciPy India 2009

Applications of Python / SciPy

Page 56: SciPy India 2009

MRI simulator and MRI reconstruction

Page 57: SciPy India 2009

Ultrasound Signal Processing

Page 58: SciPy India 2009

Elastography reconstruction

Ehman, et.al.

Page 59: SciPy India 2009

Simple FMRI reconstruction

from http://www.fmrib.ox.ac.uk/fmri_intro/brief.html

Page 60: SciPy India 2009

Scanning Impedance Imaging

Page 61: SciPy India 2009

A little about Enthought...

Page 62: SciPy India 2009

Fluid Characterization -- Microrheology

Page 63: SciPy India 2009

Oil & Gas Shell

Stochastic Seismic Analysis Pore Pressure Analysis

Electromagnetic Analysis Seismic Visualization

Page 64: SciPy India 2009

• Design Drawings• Computational Fluid Dynamics• Parallel Simulation• Data Visualization

VMS – Virtual Mixing System

Page 65: SciPy India 2009

High Speed Signal Integrity Testing

Page 66: SciPy India 2009

Enthought Python Distribution (EPD)

Page 67: SciPy India 2009

Enthought Tool Suite

Page 68: SciPy India 2009

Programming Language Book Market

* Courtesy O’reilly Publishing. Used with permission.

Page 69: SciPy India 2009

SciPy

• A package ...

• A series of conferences

– SciPy US (9th at end of June 2010)

– SciPy Europe (3rd one in July 2010)

– SciPy India

• A community

– scikits

– external packages

– web-page wiki

– documentation efforts

Page 70: SciPy India 2009

SciPy Unique Visits – 2009 (~400K total)

UniversitiesUniversities

Location Visits

MIT 2965

Harvard 1553

Stanford 1534

Cambridge 1214

CalTech 1121

Cornell 1109

U Wash 1011

Berkeley 958

Oxford 811

Univ. BC 795

LabsLabs

Location Visits

NASA 2378

LANL 508

LLNL 420

LBNL 368

ORNL 205

Brookhaven 172

Argonne 158

PNL 100

(first half of)

Page 71: SciPy India 2009

SciPy Unique Visits – 2009 (~400K total)

Tech SamplingTech Sampling

Location Visits

Seagate 1018

Intel 390

Microsoft 246

HP 241

IBM 146

Google 85

Freescale 64

Industrial SamplingIndustrial Sampling

Location Visits

Boeing 286

Caterpillar 205

Airbus 158

P&G 51

Rolls Royce 30

(first half of)

Page 72: SciPy India 2009

SciPy Unique Visits – 2009 (~400K total)

Financial SamplingFinancial Sampling

Location Visits

DE Shaw 693

Citadel 373

JP Morgan 340

Softbank 315

Goldman Sachs 273

AQR Capital 171

Susquehanna 159

UBS 160

Tradelink 129

Deutsche Bank 78

Merrill Lynch 77

CitiGroup 62

Morgan Stanley 40

Renaissance 20

Oil SamplingOil SamplingLocation Visits

Shell 160

Stat Oil 155

Schlumberger 110

Exxon 76

ConocoPhillips 27

Aramco 27

(first half of)

Page 73: SciPy India 2009

In 2009

North America

Page 74: SciPy India 2009

In 2009

Europe

Page 75: SciPy India 2009

In 2009

India

Page 76: SciPy India 2009

Thank You!!!

• Prabhu Ramachandran

• Jarrod Millman

• Vimal Josef (SPACE)

• FOSSEE Team

• National Missionon Education

• Kerala State IT Mission

• SIG-FOSS of CSI

• Asokan Pichai

• All Speakers at Conference

• All Attendees at Conference

Page 77: SciPy India 2009

Scientific Python Classes

Feb 22-26

May 17-21

Aug 23-27

http://www.enthought.com/training

Python for Scientists and Engineers (3 days)Advanced Modules (2 days)Take both together to receive a discount