Density-matrix renormalization group code for the one-dimensional
binary Bose-Hubbard model [1]. Usage:

$ octave run.m

Please note that the calculation of the ground state is slow. In
superblock.m the sparse Hamiltonian H is explicitly calculated and
diagonalized. A better way to do it is to construct a function Hfun(x)
that can calculate Hfun(x) = H*x. Then one can MATLAB function
eigs(Hfun, ...)  to calculate the ground state. In Hfun(x), the
contractions are performed by parts, that is first the contractions of
x with the left block are calculated, then the contractions of the
result with the left site, and so on. The explicit superblock is never
constructed. Using this approach, substantially larger block
dimensions would be accessible.

Author: Miroslav Urbanek <mu@miroslavurbanek.com>
Licence: GPL-3+

[1] M. Urbanek, "Binary mixtures in one-dimensional optical lattices",
Diploma thesis (Czech Technical University, Prague, 2008).
