Skip to content

Tutorials

Introduction to Exact Diagonalization using XDiag

Supporting material for lecture held at Quant24 master's school at MPI PKS. Consists of a Jupyter notebook and a sample lattice file describing the \(N=12\) site triangular lattice Heisenberg model:

This notebook uses the Julia verision of XDiag and covers the basic functionality:

  • How to define a Hilbert space
  • How to define an operator
  • How to perform a full diagonalization
  • How to use \(S^z\) conservation
  • How to use translational symmetry
  • How to use iterative algorithms for sparse diagonalization
  • How to compute ground state observables

Basic examples

  • Hello World


    Prints out a greeting containing information on the version of the code.

    source

  • Groundstate energy


    Computes the ground state energy of a simple Heisenberg spin \(S=1/2\) chain

    source

Distributed examples

  • \(t\)-\(J\) time evolution


    Computes the time evolution of a state in the \(t\)-\(J\) model with distributed parallelization

    source

CMakeLists.txt for applications

  • Normal XDiag


    Template CMakeLists.txt which can be used to compile applications with the normal XDiag library.

    source

  • Distributed XDiag


    Template CMakeLists.txt which can be used to compile applications with the distributed XDiag library.

    source