| 804 | |
| 805 | template <typename data_t> |
| 806 | std::complex<double> DensityMatrix<data_t>::trace() |
| 807 | { |
| 808 | double val_real = 0.; |
| 809 | double val_imag = 0.; |
| 810 | |
| 811 | for (size_t k = 0; k < m_rows; ++k) |
| 812 | { |
| 813 | val_real += std::real(VectorMatrix<data_t>::m_data[k * m_rows + k]); |
| 814 | val_imag += std::imag(VectorMatrix<data_t>::m_data[k * m_rows + k]); |
| 815 | } |
| 816 | |
| 817 | return std::complex<double>(val_real, val_imag); |
| 818 | } |
| 819 | |
| 820 | template class QPanda::DensityMatrix<double>; |
| 821 | template class QPanda::DensityMatrix<float>; |
no test coverage detected