Python for Matlab Users

Python for Matlab Users

Python for Matlab Users Thomas Hauser Director of Research Computing [email protected] Monte Lunacek HPC Application Specialist [email protected] CU Research Computing: University of Colorado Boulder Who are we? CU Research Computing: University of Colorado Boulder 2/30 What is Python? CU Research Computing: University of Colorado Boulder 3/30 What is Python? · Flexible, powerful programming language ­ Object oriented ­ Runs everywhere ­ Testing framework · Easy, clean syntax · Very readable code · Balanced high level programming with low­level optimization ­ Pyrex, Cython ­ F2py · Large community of support ­ Modular system, large number of libraries · Free as in free beer · Free as in free speech CU Research Computing: University of Colorado Boulder 4/30 Minimum packages for computational science · python: the base language · numpy: arrays, fast operations on arrays · scipy: higher level computational routines · matplotlib: plotting · ipython: notebooks, flexible shell, and parallel · pandas: data analysis CU Research Computing: University of Colorado Boulder 5/30 What can you do with Python? · OS support: manage files and directories · Glue existing applications · LAPACK and BLAS: access powerful C and Fortran libraries · Parallel · Data Analysis · Visualization · GUI programming · Scrape websites · Build websites · Anything! CU Research Computing: University of Colorado Boulder 6/30 Outline Part One · Python Overview (30 minutes) ­ IPython and Notebook ­ Functions, lists, and Dictionaries · Lab (10 minutes) · Break (10 minutes) Part Two · Numpy (20 minutes) · Plotting with Matplotlib (10 minutes) · Lab (10 minutes) · Data Analysis (20 minutes) CU Research Computing: University of Colorado Boulder 7/30 Python Overview · Test driving three ways to interact with Python · Functions, lists, dictionaries Hello World #!/Users/mlunacek/anaconda/bin/python PYTHON def say_hello(): print 'hello world' say_hello() What do you notice about this code? CU Research Computing: University of Colorado Boulder 9/30 Three ways to run CU Research Computing: University of Colorado Boulder 10/30 Terminal $ ls hello_world.py BASH hello_world.py $ python hello_world.py hello world $ ./hello_world.py hello world bash-mac$ CU Research Computing: University of Colorado Boulder 11/30 IPython shell · OS support · Formatted print · Tab Completion · %run ­ Persistence · History · Introspection (?,??) · %paste and %cpaste CU Research Computing: University of Colorado Boulder 12/30 Quick Introduction to Python · Functions · Lists · Dictionaries How · IPython terminal · Notebook CU Research Computing: University of Colorado Boulder 13/30 To import a notebook, drag the file onto the listing below or click here. /Users/mlunacek/Documents/tutorials/python/python_hpc/Python4Matlab data_analysis dictionary_and_lab functions_and_lists matplotlib numpyTutorial python4matlab CU Research Computing: University of Colorado Boulder 14/30 Lab and Break Dictionaries CU Research Computing: University of Colorado Boulder 15/30 Endthought http://www.enthought.com/ CU Research Computing: University of Colorado Boulder 16/30 Anaconda https://store.continuum.io/cshop/anaconda CU Research Computing: University of Colorado Boulder 17/30 Github https://github.com/ResearchComputing/python_hpc CU Research Computing: University of Colorado Boulder 18/30 Lab · Go to the directory where you dowloaded the code · unzip the file · Navigate to Python4Matlab · Launch IPython Notebook ­ ipython notebook ­ dictionary_and_lab CU Research Computing: University of Colorado Boulder 19/30 To import a notebook, drag the file onto the listing below or click here. /Users/mlunacek/Documents/tutorials/python/python_hpc/Python4Matlab data_analysis dictionary_and_lab functions_and_lists matplotlib numpyTutorial python4matlab CU Research Computing: University of Colorado Boulder 20/30 Numpy and Matplotlib CU Research Computing: University of Colorado Boulder 21/30 To import a notebook, drag the file onto the listing below or click here. /Users/mlunacek/Documents/tutorials/python/python_hpc/Python4Matlab data_analysis dictionary_and_lab functions_and_lists matplotlib numpyTutorial python4matlab CU Research Computing: University of Colorado Boulder 22/30 Lab 2 Numpy and Matplotlib CU Research Computing: University of Colorado Boulder 23/30 To import a notebook, drag the file onto the listing below or click here. /Users/mlunacek/Documents/tutorials/python/python_hpc/Python4Matlab data_analysis dictionary_and_lab functions_and_lists matplotlib numpyTutorial python4matlab CU Research Computing: University of Colorado Boulder 24/30 Pandas Data Analysis CU Research Computing: University of Colorado Boulder 25/30 To import a notebook, drag the file onto the listing below or click here. /Users/mlunacek/Documents/tutorials/python/python_hpc/Python4Matlab data_analysis dictionary_and_lab functions_and_lists matplotlib numpyTutorial python4matlab CU Research Computing: University of Colorado Boulder 26/30 What did we learn? · Python's syntax is clean · Notebook, IPython terminal · Data structures ­ Lists, dictionaries, ­ numpy arrays ­ pandas DataFrame · Ways to act on these containers · Plotting with matplotlib CU Research Computing: University of Colorado Boulder 27/30 What's next? CU Research Computing: University of Colorado Boulder 28/30 Links · Scientific Programming: scipy · Parallel Computing ­ IPython Parallel ­ mpi4py · Performance ­ profiling ­ f2py ­ cython ­ ctypes · Templates: jinja2 · SQL database: sqlalchemy · Websites: django · Hardware Raspbery Pi CU Research Computing: University of Colorado Boulder 29/30 References · Python Scripting for Computational Science · Python Snakes Its Way Into HPC · Andy Terrel: Getting Started with Python in HPC · Python Tutorial · Think Python · Enthought · Anaconda · Data Analysis with Python Thank you! CU Research Computing: University of Colorado Boulder 30/30.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    30 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us