Quantum chemistry requires ever higher computational performance, with more and more sophisticated and dedicated Python scripts being required to solve challenging problems. Although resources for basic use of Python are widely (and often freely) available online and in literature, truly cohesive materials for advanced Python programming skills are lacking.
Qiming Sun, a developer of the popular Python package PySCF, provides a comprehensive, end-to-end practical resource for researchers and engineers who have basic Python programming experiences chiefly in computational chemistry but want to take their use of the software forwards to the next level, the book provides an insightful exploration of Numpy, Pandas, and other data analysis tools. Readers will learn how to manage their Python computational projects in a professional way, with various tools and protocols for computational chemistry research and general scientific computing tasks exhibited and analysed from a technical perspective. Multiple programming paradigms including object-oriented, functional, meta-programming, dynamic, concurrent, and vector-oriented are illustrated in various technology scenarios allowing readers to properly use them to enhance their program projects. Readers will also learn how to use the presented optimization technologies to speed up their Python applications, even to the level as fast as a native C++ implementation. The applications of these technologies are then demonstrated using quantum chemistry Python applications.
Python for Quantum Chemistry: A Full Stack Programming Guide is written primarily for graduate students, researchers and software engineers working primarily in the fields of theoretical chemistry, computational chemistry, condensed matter physics, material modelling, molecular simulations, and quantum computing.
Inhaltsverzeichnis
Part I: Python tools for chemistry research
1. Research environment in Python
2. Data processing
3. Scientific computing tools
4. IO
5. How to communicate with other programs
6. Code generation
7. Workflow and job scheduler
Part II: High performance computing with Python
8. Combining Python with other programming languages
9. Code performance optimization
10. Tensor
11. Parallelism
12. Python with GPU
Part III: Quantum chemistry method development with Python
13. Integral evaluation
14. Numerical optimization methods
15. Mean-filed methods
16. Post-Hartree-Fock methods
17. Molecular properties
18. Symmetry