microsoft / QuantumLibraries

Q# libraries for the Quantum Development Kit
https://docs.microsoft.com/quantum
MIT License
543 stars 179 forks source link

The DumpRegister function document is inconsistent with the output of the terminal when quantum entanglement occurs #671

Open AidPaike opened 1 year ago

AidPaike commented 1 year ago

When I create a bell state using two qubits and use DumpRegister to dump one of the qubit states, there is nothing in the console. However, the documentation mentioned that If the given qubits are entangled with some other qubit and their state cannot be separated, it just reports that the qubits are entangled.

namespace TEST {
    open Microsoft.Quantum.Diagnostics;
    open Microsoft.Quantum.Intrinsic;
    open Microsoft.Quantum.Canon;

    @EntryPoint()
    operation main() : Unit {
        use control = Qubit();
        use target = Qubit();
        H(control);
        CNOT(control, target);
        DumpRegister((), [target]);//nothing
        // DumpRegister((), [control, target]); will print correctly.
        //DompMachine(); will print correctly.
        Reset(target);
        Reset(control);
    }
}

The program returns as:

Null value