INNER CODE UNIT · C++

unaffectedMask

aromanro/QCSim · QCSim/DensityMatrixTests.cpp:223

    const size_t unaffectedMask = (nrBasisStates - 1) ^ operatedMask;

    Eigen::MatrixXcd embedded =
        Eigen::MatrixXcd::Zero(static_cast<Eigen::Index>(nrBasisStates), static_cast<Eigen::Index>(nrBasisStates));
    for (size_t row = 0; row < nrBasisStates; ++row)
        for (size_t col = 0; col < nrBasisStates; ++col)
        {
            if ((row & unaffectedMask) != (col & unaffectedMask))
                continue;

            size_t localRow = 0;
            size_t localCol = 0;
            for (size_t localQubit = 0; localQubit < qubits.size(); ++localQubit)
            {
                localRow |= ((row >> qubits[localQubit]) & 1ULL) << localQubit;
                localCol |= ((col >> qubits[localQubit]) & 1ULL) << localQubit;
            }
            embedded(static_cast<Eigen::Index>(row), static_cast<Eigen::Index>(col)) =

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…