In[]:=
PacletInstall["https://www.wolfr.am/DevWQCF"]​​Needs["Wolfram`QuantumFramework`"]
Out[]=
PacletObject
Name: Wolfram/QuantumFramework
Version: 1.3.7

Measurement operator creates an extra qubit, you can think of it as the Copy operator, which is a
4×2
matrix:
In[]:=
QuantumOperator["Copy"]["Matrix"]//MatrixForm
Out[]//MatrixForm=
1
0
0
0
0
0
0
1
In[]:=
QuantumCircuitOperator[{"NOT","Copy"->{1}->{1,0}}]
Out[]=
This circuit has the same matrix as with the measurement:
In[]:=
QuantumCircuitOperator[{"NOT","Copy"->{1}->{1,0}}]["Matrix"]//MatrixForm
Out[]//MatrixForm=
0
1
0
0
0
0
1
0
When the circuit with measurement is applied, the original or extra qubit has to be traced over:
In[]:=
QuantumCircuitOperator[{"NOT","M","Trace"}]["Diagram","ShowExtraQudits"->True]
Out[]=
In[]:=
QuantumCircuitOperator[{"NOT","M","Trace"->0}]["Diagram","ShowExtraQudits"->True]
Out[]=
In[]:=
ComplexExpand/@QuantumCircuitOperator[{"NOT","M","Trace"}][QuantumState[{α,β}]]["Probabilities"]
Out[]=

ℰ
0

2
β
2
α
+
2
β
,
ℰ
1

2
α
2
α
+
2
β

In[]:=
ComplexExpand/@QuantumCircuitOperator[{"NOT","M","Trace"->0}][QuantumState[{α,β}]]["Probabilities"]
Out[]=
0
2
β
2
α
+
2
β
,1
2
α
2
α
+
2
β

This is done because you may be willing to measure the same qubit more than once:
In[]:=
QuantumCircuitOperator[{"NOT","M","M","M"}]
Out[]=
In[]:=
QuantumCircuitOperator[{"NOT","M","M","M"}][]["ProbabilityPlot"]
Out[]=
Like in this more practical example:
In[]:=
QuantumCircuitOperator["LeggettGarg"]
Out[]=
The tracing is then done automatically when QuantumMeasurement probabilities are extracted:
In[]:=
m=QuantumCircuitOperator[{"NOT","M"}][QuantumState[{α,β}]]
Out[]=
QuantumMeasurement
Target: {1}
Measurement Outcomes: 2

In[]:=
ComplexExpand/@m["Probabilities"]
Out[]=
0
2
β
2
α
+
2
β
,1
2
α
2
α
+
2
β
