-Index: applications/dmrg/mps/framework/dmrg/models/op_handler.h
-===================================================================
---- applications/dmrg/mps/framework/dmrg/models/op_handler.h	(revision 7816)
-+++ applications/dmrg/mps/framework/dmrg/models/op_handler.h	(revision 7817)
-@@ -143,6 +143,7 @@
-     typedef TagHandler<Matrix, SymmGroup> base;
-     typedef typename OPTable<Matrix, SymmGroup>::tag_type tag_type;
-     typedef typename base::op_t op_t;
-+    typedef typename base::pair_map_it_t pair_map_it_t;
- 
- public:
- 
 Index: applications/dmrg/mps/framework/dmrg/models/op_handler.hpp
 ===================================================================
---- applications/dmrg/mps/framework/dmrg/models/op_handler.hpp	(revision 7815)
-+++ applications/dmrg/mps/framework/dmrg/models/op_handler.hpp	(revision 7816)
+--- 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

-        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)

     }
 
     // compute and register the product, then return the new tag
@@ -167,14 +163,10 @@
 
     // return tag of kronecker product, if already there
     try {
-#if defined(__xlC__) || defined(__FCC_VERSION)
