TRIQS/triqs_cthyb 4.0.0
A TRIQS application
Loading...
Searching...
No Matches
density_matrix.hpp
1/*******************************************************************************
2 *
3 * TRIQS: a Toolbox for Research in Interacting Quantum Systems
4 *
5 * Copyright (C) 2014, P. Seth, I. Krivenko, M. Ferrero and O. Parcollet
6 *
7 * TRIQS is free software: you can redistribute it and/or modify it under the
8 * terms of the GNU General Public License as published by the Free Software
9 * Foundation, either version 3 of the License, or (at your option) any later
10 * version.
11 *
12 * TRIQS is distributed in the hope that it will be useful, but WITHOUT ANY
13 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
15 * details.
16 *
17 * You should have received a copy of the GNU General Public License along with
18 * TRIQS. If not, see <http://www.gnu.org/licenses/>.
19 *
20 ******************************************************************************/
21#pragma once
22#include "../qmc_data.hpp"
23
24namespace triqs_cthyb {
25
26 struct measure_density_matrix {
27 qmc_data const &data;
28 std::vector<matrix_t> &block_dm; // density matrix of each block
29 mc_weight_t z = 0;
30
31 measure_density_matrix(qmc_data const &data, std::vector<matrix_t> &density_matrix);
32 void accumulate(mc_weight_t s);
33 void collect_results(mpi::communicator const &c);
34 };
35}