PH6605: Exploring Quantum Spin Models using Python

Syllabus

Module 1: Python 101

Lecture hours: 10 · Tutorial hours: 0 · Lab hours: 10

Introduction to the Python interpreter; integer, floating-point, and string objects, Variables and functions; loops, lists, and accessing elements of lists via indexing, if, elif, and else blocks; writing nested compound statements, Data structures including lists, tuples, sets, and dictionaries, File handling and exception handling, Classes and object-oriented programming, numpy and scipy; basic exercises including sorting, differentiation, integration, interpolation and extrapolation, Introduction to plotting using matplotlib .

Module 2: Probing Quantum Spin Models using Python

Lecture hours: 10 · Tutorial hours: 0 · Lab hours: 10

Creating basis and constructing the Hamiltonian, Representations of states; different symmetries, Exact diagonalization, Lanczos method: Krylov space, Lanczos basis and Hamiltonian, programming the Lanczos method, convergence of Lanczos calculations, Computing expectation values of observables, Calculating entanglement measures .

Module 3: Solving Open Quantum Spin Models using Python

Lecture hours: 8 · Tutorial hours: 0 · Lab hours: 8

Introduction to open system dynamics, Lindblad formalism, Solving the Lindblad equation using the fourth-order Runge-Kutta method, Introduction to Qutip for handling open quantum systems .

Study Materials

Textbooks

  1. Computational Studies of Quantum Spin Systems, A. W. Sandvik, Lectures on the Physics of Strongly Correlated Systems XIV, Proceedings of the 14th Training Course in Physics of Strongly Correlated Systems, edited by A. Avella and F. Mancini, AIP Conference Proceedings 1297, 135-338 (2010)
  2. The Theory of Open Quantum Systems, H. P. Breuer and F. Petruccione, Oxford University Press, ISBN: 0-19-852063-8
  3. Scientific Computing in Python 3, Abhijit Kar Gupta, Techno World, ISBN: 978-81-949567-6-1

References

  1. Python Documentation, https://docs.python.org/3/
  2. The Joy of Computing using Python (NPTEL course materials, PH5617)
  3. Qutip Tutorials, https://qutip.org/tutorials.html