Scientific Computing for Chemists with Python
An Introduction to Programming in Python with Chemical Applications



Book Details
Author | Charles J. Weiss |
Published | 2025 |
Edition | 1st |
Paperback | 556 pages |
Language | English |
License | Creative Commons Attribution-NonCommercial-ShareAlike |
Book Description
Scientific computing utilizes computers to aid in scientific tasks such as data processing and digital simulations, among others. The well-developed field of computational chemistry is part of scientific computing and focuses on utilizing computing to simulate chemical phenomena and calculate properties. However, there is less focus in the field of chemistry on the data processing side of computing, so this book strives to fill this void by introducing the reader to tools and methods for processing, visualizing, and analyzing chemical data. This book serves as an introduction to coding for chemists. The tools employed in this book are the powerful and popular combination of Jupyter notebooks and the Python programming language. No background beyond first-year college chemistry and occasionally some very basic spectroscopy (for advanced chapters) is assumed for most of this book. This book starts with a brief primer on Jupyter notebooks in chapter 0 and computer programming with Python in chapters 1 and 2. If you already have a background in these tools, feel free to skip ahead. The rest of the book dives into applications of Python to solving chemical problems.
Python and Jupyter were chosen for a variety of reasons, including that they are:
- Relatively easy to use and learn
- Powerful and well-suited for solving chemical problems
- Free, open-source software
- Cross-platform (e.g., runs on Windows, macOS, and Linux)
- Supplemented with numerous, specialized libraries for handling specific types of data or problems (e.g., machine learning)
- Supported by a helpful and welcoming community
Learning to use a number of popular Python scientific libraries to solve chemical problems is one of the themes of this book. A Python library can be thought of as a tool pack with premade functions for performing common tasks in scientific data processing, analysis, and visualization. For example, the matplotlib library provides a variety of functions for creating a wide range of plots, while the scikit-learn library contains functions and resources for machine learning.
This book is available under a Creative Commons Attribution-NonCommercial-ShareAlike license (CC BY-NC-SA), which means that you are free to copy, distribute, and modify it, as long as you credit the original author, don't use it for commercial purposes, and share any adaptations under the same license.
If you enjoyed the book and would like to support the author, you can purchase a printed copy (hardcover or paperback) from official retailers.