INNER CODE UNIT · C++

eps

aromanro/QCSim · QCSim/DensityMatrixTests.cpp:120

                                   double eps = 1E-9)
{
    const Eigen::MatrixXcd expected = reg.getDensityMatrix();
    const Eigen::MatrixXcd &got = dm.getDensityMatrix();

    if (expected.rows() != got.rows() || expected.cols() != got.cols())
    {
        std::cout << "Density matrix dimensions mismatch for " << nrQubits << " qubits" << std::endl;
        return false;
    }

    for (int i = 0; i < expected.rows(); ++i)
        for (int j = 0; j < expected.cols(); ++j)
            if (!approxEqual(expected(i, j), got(i, j), eps))
            {
                std::cout << "Density matrix element (" << i << ", " << j << ") mismatch for " << nrQubits
                          << " qubits: " << expected(i, j) << " (statevector) vs " << got(i, j) << " (density matrix)"
                          << std::endl;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…