Online Simulation

And More

Top 25 Tags (all tags)

  1. algorithms
  2. carbon nanotubes
  3. circuits
  4. course lecture
  5. cyberinfrastructure
  6. devices
  7. education/outreach
  8. experiments
  9. material science
  10. molecular electronics
  11. nano/bio
  12. nanobio applications
  13. nano electro-mechanical systems
  14. nanoelectronics
  15. nanomedicine
  16. nanophotonics
  17. nano-transistors
  18. nanowires
  19. NEGF
  20. quantum dots
  21. research seminar
  22. SURI
  23. tutorial
  24. uIllinois
  25. uiuc

Other

Trouble Report

For immediate assistance browse through our support center. You can find answers to many questions in just a few minutes.

If still experiencing problems, send us a report.

Sending report ...

Scientific Computing with Python

This resource has a 9.7 Ranking

Ranking is calculated from a formula comprised of user reviews and usage statistics. Learn more ›

Usage Stats
Last 12 Months: updated 01 May, 2008
Users: 261
Reviews & Citations
Google/IEEE: updated 22 May, 2007
Avg. Review: 5.0 out of 5 stars
Citations: 1

2 reviews (Review this)

1 citation

Contributor(s) Eric Jones
Enthought

Travis Oliphant
Brigham Young University
Abstract

Python

INSTRUCTORS: Eric Jones and Travis Oliphant.

Sunday, October 24, 9:00 a.m. - 5:00 p.m.
Room 322, Stewart Center

Python has emerged as an excellent choice for scientific computing because of its simple syntax, ease of use, and elegant multi-dimensional array arithmetic. Its interpreted evaluation allows it to serve as both the development language and the command line environment in which to explore data. Python also excels as a "glue" -- a common need in the scientific arena.

The first half of the tutorial introduces the Python programming language to scientists. The pace is fast and geared toward individuals already comfortable with a programming language such as Matlab, C, or Fortran. Attendees will learn the basic constructs of the language and how to do basic numerical analysis with Python. The 3rd section covers the SciPy library (www.scipy.org) that provides modules for linear algebra, signal processing, optimization, statistics, genetic algorithms, interpolation, ODE solvers, special functions, etc. We also cover scientific plotting with python.

This 2nd half of the tutorial covers advanced topics in scientific computing such as integrating Python with other languages and parallel programming. Wrapping Fortran, C, and C++ codes, either for optimized speed or for accessing legacy code bases is covered in the middle section. Tools such as SWIG, f2py, and Boost Python are all discussed along with common pitfalls and good design practices. The final session covers parallel programming with an emphasis on pyMPI. This tutorial is a companion class to a morning session that introduces Python to the scientific community. A Windows version of Python (Enthought Edition) will be available on CD for attendees to install and use during the tutorial. The installation includes Python, Numeric, SciPy, wxPython, and VTK as well as other packages useful for scientific computing.

Morning Session:
9:00 a.m. Introduction to the Python Language
10:00 a.m. Array Arithmetic with Numeric
10:45 a.m. Break
11:00 a.m. Scientific algorithms with SciPy
12:00 p.m. 2D visualization and plotting
12:15 p.m. Lunch (On your own at a local restaurant)
Afternoon Session:
1:45 p.m. Introduction to Python as "glue"
2:00 p.m. Wrapping Fortran
2:30 p.m. Wrapping Legacy C/C++
3:15 p.m. Break
3:30 p.m. Parallel Programming
5:00 p.m. Adjourn

The Python Tutorial presentations can be downloaded below.

For each section, two formats of materials are available: the notes (Notes link) are available as an Adobe Acrobat PDF or a Microsoft PowerPoint Presentation file, and a video stream in Microsoft Media Player (Video Only link).

Topic Video Only Lecture Notes (PDF) (PPS)
Part 1 pdf 1.5M  pps 2.9M
Introduction Video Only  
Introduction to the Python Language Video Only  
Array Arithmetic with Numeric Video Only  
Scientific algorithms with SciPy, Part 1
Overview, Polynomials, FFTs, Optimization
Video Only  
Scientific algorithms with SciPy, Part 2
Special Functions, Statistics, Interpolation, Integration, Signal Processing, Image Processing, LTD Systems, Optimization, Genetic Algorithms & Clustering, 2D Plotting & Visualization
Video Only  
Part 2 pdf 350K   pps 1.3M
Python as "glue", Wrapping FORTRAN Video Only  
Wrapping C/C++
WEAVE, SWIG
Video Only  
Parallel Programming and MPI Video Only  
3D Visualization using VTK Video Only  

Additional Resources:
www.python.org
www.scipy.org - SciPy, Scientific tools for Python
Python 2.3.3 for Windows - Enthought Edition (Includes a number of additional packages).

Biography

Eric Jones
Eric Jones is the President of Enthought, a scientific computing company based in Austin, Texas. Enthought leads the development of SciPy (www.scipy.org), a large open source library of numerical algorithms for Python. Prior to co-founding Enthought, Eric worked in the fields of numerical electromagnetics and genetic optimization in the Department of Electrical Engineering at Duke University. He has taught numerous courses about Python and how to use it for scientific computing and also serves as a member of the Python Software Foundation. Eric holds M.S. and Ph.D. degrees from Duke University in Electrical Engineering and a B.S.E. in Mechanical Engineering from Baylor University.

Travis Oliphant
Travis became infatuated with Python for numerical and scientific programming while completing his Ph.D. in Biomedical Engineering at the Mayo Clinic from 1996-2000. An early contributor to the documentation for Numeric Python, he has submitted several bug-fixes and enhancements to Numeric. He is now the de-facto maintainer of the Numeric source. SciPy grew out of a collaboration with Eric Jones and Pearu Peterson to collect the disparate tools they had all been working on into one package. As an assistant professor of Electrical and Computer Engineering at Brigham Young University, Travis enjoys working on novel biomedical imaging methods and general inverse problems. He lives in Spanish Fork, UT with his wife and 4 (nearly 5) children.

Cite this work

If you reference this work in a publication, please cite as follows:

  • Jones, Eric; Oliphant, Travis (2004), "Scientific Computing with Python", http://www.nanohub.org/resources/99/, accessed on 2008-05-17 02:23:56.

    BibTex | EndNote

Date posted 24 Oct, 2004
Time 2004-10-24
Type Online Presentations
Tags

Citations

The following are publications that have cited this resource, separated by their affiliation to the NCN.

Non-affiliated authors

Reviews

The following are reviews of this resource from other site members.

Write a review

  1. 5.0 out of 5 stars 

    Posted on 25 June, 2006 by Alex Liberzon

  2. 5.0 out of 5 stars 

    Posted on 13 April, 2006 by Laurent Pierron