  Current descriptions of the ab initio DMRG algorithm use two superficially
different languages: an older language of the renormalization group and
renormalized operators, and a more recent language of matrix product states and
matrix product operators. The same algorithm can appear dramatically different
when written in the two different vocabularies. In this work, we carefully
describe the translation between the two languages in several contexts. First,
we describe how to efficiently implement the ab-initio DMRG sweep using a
matrix product operator based code, and the equivalence to the original
renormalized operator implementation. Next we describe how to implement the
general matrix product operator/matrix product state algebra within a pure
renormalized operator-based DMRG code. Finally, we discuss two improvements of
the ab initio DMRG sweep algorithm motivated by matrix product operator
language: Hamiltonian compression, and a sum over operators representation that
allows for perfect computational parallelism. The connections and
correspondences described here serve to link the future developments with the
past, and are important in the efficient implementation of continuing advances
in ab initio DMRG and related algorithms.
