ProjectQ
ProjectQ copied to clipboard
How we use Reset Qubits without using measurement in Project Q?
Hi everyone,
I would like to know if there is a way to reset a qubit to the |0⟩ state in ProjectQ without performing a measurement. The reason is that after measuring, I am unable to use the compute-uncompute pattern. like that
with Compute(eng):
All(H) | k0
All(H) | k1
All(X) | k0
All(X) | k1
with Control(eng, k0[0:4]):
with Control(eng, k1[0:-1]):
Z | k1[-1]
Uncompute(eng) #
Any guidance on this would be appreciated.
You want to use a measurement within the with Compute section?
A reset or measurement of a qubit within the compute section is not possible (compiler would need to automatically generate an inverse for the uncompute section which is not possible in general, i.e., unknown quantum state before reset or measurement)
Ancilla qubits can be allocated with the compute section and deallocated if they are returned to 0 deterministically. See doc
For more advanced use cases there is always the option to specify the uncompute section with a CustomUncompute