Circuit Composer concepts

The concepts described here provide a consistent and common language for using Circuit Composer.

Circuit Composer lets you create quantum circuits by dragging and dropping quantum instructions onto quantum wires. You can send jobs to various backends with a specified number of shots. Your circuit is automatically transpiled to run optimally on your choice of backend.

Quantum circuit

A quantum circuit is a visual representation of a quantum computation in Circuit Composer. The editor allows you to add quantum instructions (or simply instructions) selected from the quantum instruction palette representing elementary operations in quantum computing. Elementary operations include Hadamard, Pauli-X, and measurement instructions. Instructions are dropped onto quantum wires to visually construct computations. A quantum wire represents a single qubit. Measurements are read onto classical wires, the wire at the bottom of the circuit.

quantum circuit

A quantum circuit.

Quantum instructions

A quantum instruction is a basic computation construct of Circuit Composer. You add instances of the instructions from the built-in quantum instruction palette to perform specific operations. All instructions have input signals and output signals. Some instructions have parameters that you use to specify their behavior. Whether an instruction has parameters and the nature of those parameters is specific to each instruction. To learn more about each built-in instruction, refer to the instruction glossary.

quantum instruction palette

The quantum instruction palette.

Quantum wires

The lines from left to right are called quantum wires. A quantum wire represents a single qubit. The term “wire” and the way it’s drawn looks like the qubit is moving through space. But it’s often helpful to instead think of left-to-right as representing the passage of time.

quantum and classical wires

Quantum and classical wires.

Parameters

Some instructions have parameters that you use to specify its behavior, such as the U3 instruction. Whether an instruction has parameters and the nature of those parameters is specific to each instruction. To specify quantum instruction parameters, drag an instruction from the palette, drop it on a quantum wire, and then either double-click the instruction or select the pencil icon that appears directly to the right of the instruction upon dropping it.

editing instruction parameters

Block parameter editor.

Transpilation

Transpilation is the process where a quantum circuit is translated into a new quantum circuit that performs the same task, but is restructured to be compatible with the physical layout of a particular quantum system (quantum computer) and, where possible, optimize its performance.

Backend

The term backend can refer to either a quantum system or a high-performance classical simulator of a quantum system.

Shots

Because the measurement of a qubit in a superposition state seems random — the outcome is sometimes 0 and sometimes 1 — you must repeat the measurement multiple times to determine the likelihood that a qubit is in a particular state. When performing the experiment, you will be asked how many shots (executions) to run in order to determine the qubit state probabilities.

Job

A job ties together all of the relevant information about a computation on IBM Quantum Experience: a quantum circuit, choice of backend, the choice of how many shots to execute on the backend, and the results upon executing the quantum circuit on the backend.