qrisp.QuantumCircuit.to_gate#

QuantumCircuit.to_gate(name: str | None = None) Operation[source]#

Similar to to_op but raises an exception if self contains classical bits (like the Qiskit equivalent).

Parameters:
namestr, optional

A name for the resulting gate. The default is None.

Returns:
Operation

The QuantumCircuit turned into an Operation instance.

Raises:
ValueError

Tried to turn a circuit including classical bits into unitary gate

Examples

We create a QuantumCircuit and turn it into an Operation which we append to another QuantumCircuit:

>>> from qrisp import QuantumCircuit
>>> qc_0 = QuantumCircuit(4)
>>> qc_0.x(qc_0.qubits)
>>> gate = qc_0.to_gate(name="converted_gate")
>>> qc_1 = QuantumCircuit(4)
>>> qc_1.append(gate, qc_1.qubits)
>>> print(qc_1)
        ┌─────────────────┐
qb_167: ┤0                ├
        │                 │
qb_168: ┤1                ├
        │  converted_gate │
qb_169: ┤2                ├
        │                 │
qb_170: ┤3                ├
        └─────────────────┘