IonQ provider
Tip
First-time users automatically get free $500 (USD) Azure Quantum Credits for use with each participating quantum hardware provider. If you have consumed all the credits and you need more, you can apply to the Azure Quantum Credits program.
IonQ’s quantum computers perform calculations by manipulating the hyperfine energy states of Ytterbium ions with lasers. Atoms are nature's qubits — every qubit is identical within and between programs. Logical operations can also be performed on any arbitrary pair of qubits, enabling complex quantum programs unhindered by physical connectivity. Want to learn more? Read IonQ’s trapped ion quantum computer technology overview.
- Publisher: IonQ
- Provider ID:
ionq
The following targets are available from this provider:
Target name | Target ID | Number of qubits | Description |
---|---|---|---|
Quantum simulator | ionq.simulator | 29 qubits | IonQ's cloud-based idealized simulator. Free of cost. |
IonQ Harmony | ionq.qpu | 11 qubits | IonQ's trapped-ion quantum computer. |
IonQ Aria | ionq.qpu.aria-1 | 23 qubits | IonQ's Aria trapped-ion quantum computer. |
IonQ's targets correspond to a No Control Flow profile. For more information about this target profile and its limitations, see Understanding target profile types in Azure Quantum.
Quantum simulator
GPU-accelerated idealized simulator supporting up to 29 qubits, using the same set of gates IonQ provide on its quantum hardware—a great place to preflight jobs before running them on an actual quantum computer.
- Job type:
Simulation
- Data Format:
ionq.circuit.v1
- Target ID:
ionq.simulator
- Target Execution Profile: No Control Flow
IonQ Harmony quantum computer
The IonQ Harmony is a trapped ion quantum computer and is dynamically reconfigurable in software to use up to 11 qubits. All qubits are fully connected, meaning you can run a two-qubit gate between any pair.
- Job type:
Quantum Program
- Data Format:
ionq.circuit.v1
- Target ID:
ionq.qpu
- Target Execution Profile: No Control Flow
Parameter Name | Type | Required | Description |
---|---|---|---|
shots |
int | No | Number of experimental shots. Defaults to 500. |
System timing
Measure | Average time duration (µs) |
---|---|
T1 | >10^7 |
T2 | 200,000 |
Single-qubit gate | 10 |
Two-qubit gate | 210 |
Readout | 100 |
Register reset | 25 |
Coherence time / gate duration | 1667 |
System fidelity
Operation | Average fidelity |
---|---|
Single-qubit gate | 99.35% (SPAM corrected) |
Two-qubit gate | 96.02% (not SPAM corrected) |
SPAM* | 99.3 - 99.8% |
Geometric mean op | 98.34% |
* State Preparation and Measurement (SPAM): This measurement determines how accurately a quantum computer can set a qubit into its initial state and then measure the result at the end.
IonQ Aria quantum computer
IonQ Aria is IonQ's latest generation of trapped-ion quantum computer. With a 23-qubit dynamically reconfigurable sytem, IonQ Aria is available exclusively on Azure Quantum. For more information, see IonQ Aria (ionq.com) .
- Job type:
Quantum Program
- Data Format:
ionq.circuit.v1
- Target ID:
ionq.qpu.aria-1
- Target Execution Profile: No Control Flow
Parameter Name | Type | Required | Description |
---|---|---|---|
shots |
int | No | Number of experimental shots. |
System timing
Measure | Average time duration |
---|---|
T1 | 10-100 s |
T2 | 1 s |
Single-qubit gate | 135 µs |
Two-qubit gate | 600 µs |
System fidelity
Operation | Average fidelity |
---|---|
Single-qubit gate | 99.95% (SPAM corrected) |
Two-qubit gate | 99.6% (not SPAM corrected) |
SPAM* | 99.61% |
* State Preparation and Measurement (SPAM): This measurement determines how accurately a quantum computer can set a qubit into its initial state and then measure the result at the end.
IonQ Aria is available through Azure Quantum Credits plan and a separate billing plan. For more information, see Azure Quantum pricing.
Native gates support and usage
By default IonQ allows you to specify a quantum circuit using an abstract set of quantum gates, called qis
, which allows flexibility and portability when writing an algorithm without worrying about optimization for the hardware.
However, in some advanced usage cases, you might want to define a circuit directly on native gates in order to be closer to the hardware and bypass optimization. The native gate set is the set of quantum gates that are physically executed in the quantum processor, and they map the circuit to those as part of the execution.
For more information, see Getting Started With Native Gates (ionq.com).
In order to use the native gate set when submitting Qiskit jobs to Azure Quantum, you specify the gateset
parameter when initializing the backend as in the example below:
# Here 'provider' is an instance of AzureQuantumProvider
backend = provider.get_backend("ionq.qpu", gateset="native")
Parameter Name | Type | Required | Description |
---|---|---|---|
gateset |
string | No | Specifies the set of gates that will be used to define a circuit. A value of qis corresponds to the abstract gates (default behavior) and native to the IonQ hardware native gates. |
For more information about Qiskit jobs, see Submit a circuit with Qiskit using an Azure Quantum notebook.
Input format
In Q#, the output of a quantum measurement is a value of type Result
, which can only take the values Zero
and One
. When you define a Q# operation, it can only be submitted to IonQ hardware if the return type is a collection of Result
s, that is, if the output of the operation is the result of a quantum measurement. The reason for this is because IonQ builds a histogram from the returned values, so it restricts the return type to Result
s to simplify creating this histogram.
IonQ's targets correspond to the No Control Flow profile. This profile can't run quantum operations that require the use of the results from qubit measurements to control the program flow.
Note
Currently, you can't submit quantum programs that apply operations on qubits that have been measured in No Control Flow targets, even if you don't use the results to control the program flow. That is, No Control Flow targets don't allow mid-circuit measurements.
For example, the following code can not be run on a No Control Flow target:
operation MeasureQubit(q : Qubit) : Result {
return M(q);
}
operation SampleMeasuredQubit(q : Qubit) : Result {
H(MeasureQubit(q));
return M(MeasureQubit(q));
}
Output format
When you submit a quantum program to the IonQ simulator, it returns the histogram created by the measurements. The IonQ simulator doesn't sample the probability distribution created by a quantum program but instead returns the distribution scaled to the number of shots. This is most apparent when you submit a single shot circuit. You will see multiple measurement results in the histogram for one shot. This behavior is inherent to IonQ simulator, while IonQ QPU actually runs the program and aggregates the results.
Pricing
To see IonQ billing plan, visit Azure Quantum pricing.
Limits & Quotas
IonQ quotas are tracked based on the QPU usage unit, which is qubit-gate-shot (QGS). The resource usage is credited against your account.
Every quantum program consists of $N$ quantum logical gates of one or more qubits, and is executed for a certain number of shots. The number of gate-shots is calculated by the following formula:
$$ QGS = N · C $$
where:
- $N$ is the number of one- or two-qubit gates submitted
- $C$ is the number of execution shots requested
Quotas are based on plan selection and can be increased with a support ticket. To see your current limits and quotas, go to the Credits and quotas blade and select the Quotas tab of your workspace on the Azure portal. For more information, see Azure Quantum quotas.
Note
If you are using an Azure Quantum Credits plan, and not a billing plan, the quotas information maps to your allocated credits. In that case, the quota lists the total number of credits you have received.
IonQ status
For information about IonQ QPU job processing delays, see IonQ status page.
IonQ best practices and connectivity graph
To see recommended best practices for the IonQ QPU, see IonQ Best Practices (ionq.com).
Feedback
Submit and view feedback for