189 std::set<size_t> bond_used_dims;
190 for (
typename Vector::iterator it = pm1.begin(); it != pm1.end(); ++it)
192 bond_used_dims.insert(get<1>(*it));
193 for (
typename Vector::iterator it = pm2.begin(); it != pm2.end(); ++it)
195 bond_used_dims.insert(get<0>(*it));
197 std::map<size_t, size_t> compression_map;
199 for (set<size_t>::iterator it = bond_used_dims.begin();
200 it != bond_used_dims.end(); ++it)
201 compression_map[*it] = c++;
203 for (
typename Vector::iterator it = pm1.begin(); it != pm1.end(); ++it)
204 if (compression_map.count(get<1>(*it)) > 0)
205 get<1>(*it) = compression_map[get<1>(*it)];
206 for (
typename Vector::iterator it = pm2.begin(); it != pm2.end(); ++it)
207 if (compression_map.count(get<0>(*it)) > 0)
208 get<0>(*it) = compression_map[get<0>(*it)];