QuantumComputing
QubitPopulationsPlot
plot the populations of the qubits in a quantum state
Calling Sequence Parameters Description
Examples
Calling Sequence
QubitPopulations(state)
Parameters
state
-
polynom or Array; quantum state in Dirac notation (polynom) or as a multidimensional Array (Array)
Description
The QubitPopulationsPlot command accepts a quantum state.
The command returns a plot of the populations of the qubits in the quantum state.
The population of a qubit is defined as the fraction of the qubit in its up state.
First we load the QuantumChemistry package
with⁡QuantumChemistry:
Next we load the QuantumComputing subpackage
withQuantumComputing;
ConvertDirac,Gate,InitialState,MeasureState,PrepareState,QubitPopulations,QubitPopulationsPlot
We can initialize a state of 4 qubits on our simulated quantum computer with the InitialState command
state0 ≔ InitialState4;
state0≔Ψ0,0,0,0
The initial wave function has each of its 4 qubits in the lower state of the qubit, denoted by 0. To illustrate preparing a state on the quantum computer, let's use a product of gates (unitary transformations), known as a circuit, to prepare a Schrodinger cat state in which the state of all qubits down becomes entangled with the state of all qubits up. In QCT the circuit is readily assemble as a Maple list of equations. The left side of an equation indicates the qubit or qubits on which the gate acts and the right side provides the gate itself.
circuit ≔ 1= GateH,seqi,i+1=GateCNOT, i=1..3;
circuit≔1=222222−22,1,2=1000000100100100,2,3=1000000100100100,3,4=1000000100100100
To prepare the new state, we act on the initial state state0 with our circuit
state2 ≔ PrepareStatecircuit,state0;
state2≔2⁢Ψ0,0,0,02+2⁢Ψ1,1,1,12
The new state entangles a state of 4 "down" qubits with a state of 4 "up" qubits. Like Schrodinger's cat, our state is half up and half down.
The probability of being "up" in each qubit is 1/2 as we can see from the QubitPopulationsPlot command
QubitPopulationsPlotstate2;
See Also
QuantumChemistry QuantumComputing
Download Help Document