  In this paper we give an introduction to the numerical density matrix
renormalization group (DMRG) algorithm, from the perspective of the more
general matrix product state (MPS) formulation. We cover in detail the
differences between the original DMRG formulation and the MPS approach,
demonstrating the additional flexibility that arises from constructing both the
wavefunction and the Hamiltonian in MPS form. We also show how to make use of
global symmetries, for both the Abelian and non-Abelian cases.
