PHY 546: Python for Scientific Computing

PHY 546: Python for Scientific Computing#

xkcd

(from https://xkcd.com)

Why python?#

  • Python is a very high-level language

    • it provides many complex data-structures (lists, dictionaries, …)

    • your code is shorter than a comparable algorithm in a compiled language

  • Many powerful libraries to perform complex tasks

    • Parse structured inputs files

    • send e-mail

    • interact with the operating system

    • make plots

    • make GUIs

    • do scientific computations

  • Python makes it easy to prototype new tools

  • Python is cross-platform and Free

Language Features#

Some of the language features are:

  • Dynamical typing

  • Object-oriented foundation

  • Extensible (easy to call Fortran, C/C++, …)

  • Automatic memory management (garbage collection)

  • Ease of readability (whitespace matters)

Scientific python#

Perhaps most importantly, and why we are here:

Python has been widely adopted in the scientific community.