# What is the IF_ELSE basis gate of the processor type Falcon r5.11 on the IBM Quantum platform?

I am master student currently working on a project using the IBMQ platform with qiskit. We are using the available quantum hardware with the processor type Falcon r5.11.

We would like to have a better understanding of the circuits we have composed and how it is really implemented onto the quantum computers. For the processor mentioned above, the basis gates are:

CX, ID, IF_ELSE, RZ, SX, and X.

Since we are able to compose in qiskit any quantum gate, I believe that these 6 gates complete a universal set, and therefore any gate can be composed by a combination of the basis gates above.

Can anyone please tell me what this IF_ELSE basis gate is? What does it look like in matrix form?

Any input is appreciated, thank you in advance!

It is not a quantum gate operation and therefore does not have a unitary gate representation; instead it is an entirely classical operation. The term that IBMQ uses to refer to this circuit type is "dynamic circuits". These operations are supported in OpenQASM3. This youtube video from Qiskit gave a clear explanation of how to use dynamic circuits.

The key thing is that the operation is classical, but it can impact the circuit; you can specify if bit X==1, do A, otherwise do B. Basic control flow, but the classical computation is based on a classical bit of information. Meaning that you need to measure the state of a qubit, or qubits, into a classical register, and then use this classical conditional to potentially influence how the circuit is executed from that point onward.

The if_else gate would be something like this: Where $$|q_1\rangle$$ is the condition parameter, $$|\lambda\rangle$$ the output from the circuit and the controlled-U gates the if ($$U_1$$) and else ($$U_2$$) statement

Futhermore, note the matrix of the if_else gate is variable because is dependent of $$U_1$$ and $$U_2$$

Take a look at the Qiskit documentation:

IF_ELSE is a circuit operation which executes a program if a provided condition evaluates to true, and optionally evaluates another program otherwise.