# scientific computing

Python tools for science and data analysis

If you want to go beyond the basics in Python, and use Python as a serious tool for number crunching, either for the natural sciences (e.g. Biology, Chemistry, Physics, etc) or the social sciences (Anthropology, Sociology, etc.) the following packages may be worth investigating further.

- numpy: Adds an
`array`

type to Python that makes working with numerical data (especially matrices) more straightforward - scipy: Adds routines useful for scientific computation, such as computing integrals numerically, solving differential equations, optimization, and sparse matrices.
- matplotlib: Plotting and Graphing tools
- Anaconda: The most relevant Python software for data analysis all in one package
- Jupyter notebooks (formery known as iPython notebooks): a web platform for communicating scientific computing results, not just in Python, but other languages as well.

# Learning numpy,scipy,matplotlib

For UC students, a variety of helpful books on a variety of computing topics can be found if you access the following site from either an on campus network address, or use the VPN for your campus (e.g. the UCSB VPN:

At that site, search for any topic related to computing. A search on numpy brought up this just on the first screen of results. Each of those is a link to a full-text ebook:

Here’s a link to the first one listed: SciPy and NumPy