Numerics

Most of the time I prefer to use Mathematica. The benefit is that it’s interactive, which means you can debug any time when you are coding, especially when my calculation does not deal with huge data.

If you are a beginner to Mathematica, I suggest you start with the fast introduction here.

 

Numerical Methods:


1. The Gross-Pitaevskii Equation solver


A test code for solving the 3D GP equation can be found here. 3DGPEwithVortex.nb


2. Density Matrix Renormalization Grup (DMRG)


A typical DMRG calculation consists of (1) an infinite DMRG to grow the blocks to the desired system size and (2) a following finite DMRG to convergence.

(1) Infinite DMRG
In an infinite DMRG, one always considers a left/right block which is in fact a left/right system mapped to a reduced Hilbert space. The Hamiltonian can be shown as:

The Hamiltonian $H$ consists of a left block $i_1$, a single site $i_2$, $i_3$, and a right block $i_4$.

For each sweep, one runs the following steps:

  • Find the ground state of $H$: $\psi(i_1,i_2,i_3,i_4)$.
  • Form the reduced density matrix of left system: $\rho(i_1,i_2;i_{1}’,i_{2}’)=\sum_{i_3,i_4}\psi^*(i_1,i_2,i_3,i_4)\psi(i_{1}’,i_{2}’,i_3,i_4)$.
  • Diagonalize $\rho$ to find $m$ largest eigenvectors $u_m$.
  • Grow $i_1$ site by one and transform the operators to new basis: $\tilde{O}=UOU^\dagger$ with $U=[u_1,u_2,\cdots,u_m]^T$.

Grow the sites until it equals to your system size.

(2) Finite DMRG
A finite DMRG sweep can be illustrated as follows:

The finite DMRG sweep.

The energy converges quickly in the finite sweep. For tough systems one needs to increase bond dimension $m$.

Refs: S. R. White, Phys. Rev. Lett. 69, 2863 (1992); Phys. Rev. B 48, 10345 (1993).


3. Quantum Monte Carlo (QMC)


A simple DMC code for the ground state of the harmonic oscillator can be found here. DMC.nb

Full text copyright © jxu@ustb.edu.cn