 -        mps = state_mps<Matrix>(state, phys_dims, site_type);
 +        mps = state_mps<Matrix, SymmGroup>(state, phys_dims, site_type);
      }
-
+     
  private:
 @@ -497,7 +497,7 @@
          std::vector<boost::tuple<charge, size_t> > state(mps.length());

-        mps = state_mps<Matrix>(state, phys_rho_dims, site_type);
+        mps = state_mps<Matrix, SymmGroup>(state, phys_rho_dims, site_type);
     }

 private:
@@ -546,7 +546,7 @@
         if (mps.length() != state.size())
             throw std::runtime_error("Size of the initial state does not match the MPS size.");
  
-        mps = state_mps<Matrix>(state, phys_dims, site_type);
+        mps = state_mps<Matrix, SymmGroup>(state, phys_dims, site_type);
         if (mps[mps.length()-1].col_dim()[0].first != right_end)

Index: applications/dmrg/mps/framework/dmrg/models/op_handler.hpp
===================================================================
--- applications/dmrg/mps/framework/dmrg/models/op_handler.hpp	(revision 7814)
+++ applications/dmrg/mps/framework/dmrg/models/op_handler.hpp	(revision 7819)
@@ -94,14 +94,10 @@
 
     // return tag of product, if already there
