Christian Hill

#Python
#Chemists
#Chemistry
#NumPy
#Thermodynamic
#Jupyter
#Matplotlib
#Linear_Algebra
#Algebra
This accessible and self-contained guide provides a comprehensive introduction to the popular programming language Python, with a focus on applications in chemistry and chemical physics. Ideally suited to students and researchers of chemistry learning to employ Python for problem-solving in their research, this fast-paced primer first builds a solid foundation in the programming language before progressing to advanced concepts and applications in chemistry.
The required syntax and data structures are established, and then applied to solve problems computationally. Popular numerical packages are described in detail, including NumPy, SciPy, Matplotlib, SymPy, and pandas. End of chapter problems are included throughout, with worked solutions available within the book. Additional resources, datasets, and Jupyter Notebooks are provided on a companion website, allowing readers to reinforce their understanding and gain confidence applying their knowledge through a hands-on approach.
Table of Contents
1. Introduction
2. Basic Python Usage
3. Strings
4. Lists and Loops
5. Comparisons and Flow Control
6. Functions
7. Data Structures
8. File Input/Output
9. Basic NumPy
10. Graph Plotting with Matplotlib
11. The Steady-State Approximation
12. Liquid-Vapor Equilibrium
13. Jupyter Notebook
14. LaTeX
15. Chemistry Databases and File Formats
16. More NumPy and Matplotlib
17. Thermodynamic Cycles
18. Vectors, Matrices and Linear Algebra
19. Linear Least Squares Fitting I
20. Linear Least Squares Fitting II
21. Numerical Integration
22. Optimization with scipy.optimize
23. Vibrational Spectroscopy
24. The Morse Oscillator
25. Solving Ordinary Differential Equations
26. The Oregonator
27. Root-Finding with scipy.optimize
28. Rotational Spectroscopy
29. Peak Finding
30. Fitting the Vibrational Spectrum of CO
31. pandas
32. Simulating a Powder Diffraction Spectrum
33. The Huckel Approximation
34. Nonlinear Fitting and Constrained Optimization
35. SymPy
36. Molecular Orbital Theory for H2+
37. Approximations of the Helium Atom Electronic Energy
38. Computational Chemistry with Psi4 and Python
39. Atomic Structure
40. Solutions
‘This book is a very useful addition to the library of python books, and is squarely directed at chemists, covering all the main aspects of python that they will find useful, without getting bogged down in programming detail. The clear focus on chemistry examples from the start means that students will be able to quickly perform useful, Python-based tasks without having to invest time in learning abstract syntax. Python for chemists will be a valuable resource for chemists who wish to add an element of programming to their skills base.’ John McGrady, University of Oxford
‘I used the author’s previous book, ‘Learning Scientific Programming with Python’ as the textbook for my course for senior undergraduate and beginning graduate students in chemistry. This new book is targeted specifically towards chemistry and includes many new and useful examples and applications. The least squares optimization examples are particularly well-suited to advanced physical chemistry spectroscopy experiments and I like the way the individual topics are split into manageable bite-sized chapters. Overall, this will be a very useful book as a reference for researchers and instructors, advanced undergraduates and graduate students who need to learn modern numerical computation, data analysis, and graphical presentation techniques.’ Trevor Sears, Stony Brook University
‘The ability to write code is becoming an essential skill for chemistry students. Python is widely used in chemistry research and is increasingly taught in undergraduate courses, but it has lacked a comprehensive textbook tailored to chemistry students. Python for Chemists addresses this need by providing detailed coverage of the basics of the Python language and presenting a range of practical examples across the standard chemistry syllabus. This book will be useful for undergraduate and graduate students interested in learning and using Python in their studies and research and for instructors looking to teach Python in a chemistry context.’ Benjamin J. Morgan, University of Bath
Book Description
Accessible and self-contained guide to the programming language, Python, with a focus on applications in chemistry and chemical physics.
About the Author
Christian Hill is a physicist and physical chemist with over twenty-five years' experience in scientific programming, data analysis and database design in atomic and molecular physics. Currently the Head of the Atomic and Molecular Data Unit at International Atomic Energy Agency, Vienna, he has previously held positions at the University of Cambridge, the University of Oxford, and University College London.









