Qiskit / qiskit

Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.
https://www.ibm.com/quantum/qiskit
Apache License 2.0
5.3k stars 2.38k forks source link

Append `StabilizerState` natively to a `QuantumCircuit` #12390

Open ShellyGarion opened 6 months ago

ShellyGarion commented 6 months ago

What should we add?

Like the Clifford class (which is also an Operation) and StatePreparation gate, we would like to append StabilizerState natively to a QuantumCircuit.

Note that it should only be appended at the beginning of the circuit.

There are several methods for StabilizerState synthesis. Note that the synthesis is not unique in the sense that several different unitaries may produce the same state.

jakelishman commented 6 months ago

When you say you want to append StabilizerState natively, do you mean with the implication that it would be a state-initialisation operation from the all-zeros state? If so, it might be clearest to produce a wrapper object for it to make those semantics explicit, since the base Python object itself isn't actually a representation of an operator.