This book aims to demystify quantum chemistry and computing, discuss the future of quantum technologies based on current limitations, demonstrate the usefulness and shortcomings of the current implementations of quantum theory, and share our love of the topic.
This book is not a traditional presentation of quantum chemistry nor quantum computing, but rather an explanation of how the two topics intertwine through the illustration of the postulates of quantum mechanics, particularly with Python code and open-source quantum chemistry packages.
Quantum chemistry has many applications in industry, from pharmaceutical design to energy creation and the development of quantum computing in recent years. With adequate knowledge of quantum chemistry and the postulates of quantum mechanics, we can overcome some of the major hurdles humanity faces and achieve positive impacts. We hope that you can learn sufficient details to be a part of the new and productive solutions moving forward.
Readers we target
All kinds of readers are welcome. However, the people who will benefit the most are those interested in chemistry and computer science at the early stages of learning; advanced high school and early college students, or professionals wanting to acquire a background in quantum chemistry as it relates to computing, both from an algorithm and hardware standpoint. We also summarize useful mathematics and calculus as it relates to solving chemistry problems. The topics will appeal to people of various industry verticals who are interested in a career in quantum computational chemistry and computing.
You will be at the forefront of exciting state-of-the-art opportunities to expand your ideas and start experimenting with your simulations.
A fast path to using quantum chemistry
We chose to write this book in such a way as to demystify the fundamentals of quantum concepts for a curious audience. This book introduces the basics of quantum chemical concepts by describing the five postulates of quantum mechanics, including how these concepts relate to quantum information theory, including basic programming examples of atomic and molecular systems with Python, SimPy [Simpy], QuTiP [QuTiP], and open-source quantum chemistry packages PySCF [PySCF], ASE [ASE_0], PyQMC [PyQMC], Psi4 [Psi4_0], and Qiskit [Qiskit] code. An introductory level of understanding Python is sufficient to read the code, and a browser is all that is required to access the Google Colaboratory and run the companion Jupyter notebooks we provide in the cloud. Each chapter includes an artistic rendering of quantum concepts related to historical quotes.
Through the 1990s, 2000s, and 2010s, there has been amazing progress in the development of computational chemistry packages and, most recently, Qiskit Nature [Qiskit_Nature] [Qiskit_Nat_0]. We outline and introduce basic quantum chemical concepts that are discussed in a modern fashion and relate these concepts to quantum information theory and computation. We use Python, PySCF, and Qiskit Nature for illustrative purposes.
The fundamentals of quantum mechanics and the five postulates directly impact material research and computational chemistry for finding new drugs and catalysts, enabling efficient and cleaner processes for converting chemicals from one form to another. Quantum chemistry is also essential for designing future quantum computers that use the properties of atoms and/or ions. However, quantum chemistry remains an elusive topic that seemingly takes many years to master.
We think that the traditionally long-term achievement of literacy of the topic is directly related to the perceived complexity of the topic and historical approximations made to increase accessibility and usability with conventional computing. With approximation in place and wide acceptance by the scientific community as the only way forward, some fundamental concepts are often overlooked, misunderstood, and eliminated from the disciplines depending on these ideas. We see this as an opportunity to share our love of quantum chemistry in its full potential to enhance the friendliness of and approachability of the topic.
We will share sufficient details so that you understand the limitations that were historically established. For instance, we present a general formulation of the Pauli exclusion principle for all elementary particles that also holds for composite particles, which many textbooks do not adequately explain.
There is more to the quantum story but too much to be included as a first book for the curious. Therefore, we plan to write a following book that expands cutting-edge quantum ideas that are not yet widely used in the scientific community.
How to navigate the book
We advise you to follow the sequential ordering of chapters and gradually master the concepts, methods, and tools that will be useful later in the book.
- Chapter 1, Introducing Quantum Concepts, presents a history of quantum chemistry and quantum computing, and introduces the fundamental building blocks of nature, particles and matter, light and energy, and quantum numbers.
- Chapter 2, Postulates of Quantum Mechanics, gives a non-expert in quantum physics the concepts, definitions, and notation of quantum mechanics and quantum information theory necessary to grasp the content of this book.
- Chapter 3, Quantum Circuit Model of Computation, introduces the quantum circuit model of computation and Qiskit Nature, an open-source framework that provides tools for computing ground state energy, excited states, and dipole moments of molecules.
- Chapter 4, Molecular Hamiltonians, presents the molecular Hamiltonian, modeling the electronic structure of a molecule and fermions to qubit mappings.
- Chapter 5, Variational Quantum Eigensolver (VQE) Algorithm, shows a process for solving the ground state of a molecule, focusing on the Hydrogen molecule, illustrated with the Variational Quantum Eigensolver (VQE) algorithm using Qiskit Nature.
- Chapter 6, Beyond Born-Oppenheimer, gives a glimpse of the beyond Born-Oppenheimer approaches that have not yet been popularized.
- Chapter 7, Conclusion, is the opening to the next book.
- Chapter 8, References, provides a consolidated list of all the references given at the end of each chapter.
- Chapter 9, Glossary, provides a convenient way to look up terms.
- Appendix A, Readying Mathematical Concepts, introduces concepts with illustrations in Python code.
- Appendix B, Leveraging Jupyter Notebooks in the Cloud, explains how to use free environments on the cloud to run the companion Jupyter notebooks we provide.
- Appendix C, Trademarks, lists all the trademarks of the products used in this book.
To get the most out of this book
Download the example code files
You can download the example code files for this book from GitHub at https://github.com/PacktPublishing/Quantum-Chemistry-and-Computing-for-the-Curious. If there's an update to the code, it will be updated in the GitHub repository.
To download the full version of the companion notebooks you can scan the following QR code or go to the provided link to download them.
We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!
There are a number of text conventions used throughout this book.
Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "There is no loop in a quantum circuit, but we can have a classical loop that appends a quantum sub-circuit. In Qiskit we use the
QuantumRegister class to create a register of qubits and the
QuantumCircuit class to create a quantum circuit."
A block of code is set as follows:
q = QuantumRegister(2) qc = QuantumCircuit(q) qc.h(q) qc.cx(q, q) qc.draw(output='mpl')
Any command-line input or output is written as follows:
Mo: 1s² 2s² 2p⁶ 3s² 3p⁶ 4s² 3d¹⁰ 4p⁶ 5s² 4d⁴
Get in touch
Feedback from our readers is always welcome.
General feedback: If you have questions about any aspect of this book, email us at email@example.com and mention the book title in the subject of your message.
Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata and fill in the form.
Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at firstname.lastname@example.org with a link to the material.
If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.
[ASE_0] Atomic Simulation Environment (ASE), https://wiki.fysik.dtu.dk/ase/index.html
[NumPy] NumPy: the absolute basics for beginners, https://numpy.org/doc/stable/user/absolute_beginners.html
[Psi4_0] Psi4 manual master index, https://psicode.org/psi4manual/master/index.html
[PyQMC] PyQMC, a python module that implements real-space quantum Monte Carlo techniques, https://github.com/WagnerGroup/pyqmc
[PySCF] The Python-based Simulations of Chemistry Framework (PySCF), https://pyscf.org/
[Qiskit] Qiskit, https://qiskit.org/
[Qiskit_Nat_0] Qiskit_Nature, https://github.com/Qiskit/qiskit-nature/blob/main/README.md
[Qiskit_Nature] Introducing Qiskit Nature, Qiskit, Medium, April 6, 2021, https://medium.com/qiskit/introducing-qiskit-nature-cb9e588bb004
[QuTiP] QuTiP, Plotting on the Bloch Sphere, https://qutip.org/docs/latest/guide/guide-bloch.html
[Simpy] SimPy Discrete event simulation for Python, https://simpy.readthedocs.io/en/latest
Share Your Thoughts
Once you've read Quantum Chemistry and Computing for the Curious, we'd love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.
Your review is important to us and the tech community and will help us make sure we're delivering excellent quality content.