  We show that the time-dependent variational principle provides a unifying
framework for time-evolution methods and optimisation methods in the context of
matrix product states. In particular, we introduce a new integration scheme for
studying time-evolution, which can cope with arbitrary Hamiltonians, including
those with long-range interactions. Rather than a Suzuki-Trotter splitting of
the Hamiltonian, which is the idea behind the adaptive time-dependent density
matrix renormalization group method or time-evolving block decimation, our
method is based on splitting the projector onto the matrix product state
tangent space as it appears in the Dirac-Frenkel time-dependent variational
principle. We discuss how the resulting algorithm resembles the density matrix
renormalization group (DMRG) algorithm for finding ground states so closely
that it can be implemented by changing just a few lines of code and it inherits
the same stability and efficiency. In particular, our method is compatible with
any Hamiltonian for which DMRG can be implemented efficiently and DMRG is
obtained as a special case of imaginary time evolution with infinite time step.
