qiskit
Qiskit Terra[edit]
The element Terra is the foundation on which the rest of Qiskit is built. Qiskit Terra provides tools to create quantum circuits at or close to the level of quantum machine code.[16] It allows the processes that run on quantum hardware to be explicitly constructed in terms of quantum gates. It also provides tools to allow quantum circuits to be optimized for a particular device, as well as managing batches of jobs and running them on remote-access quantum devices and simulators.
The following shows a simple example of Qiskit Terra. In this, a quantum circuit is created for two qubits, which consists of the quantum gates required to create a Bell state. The quantum circuit then ends with quantum measurements, which extract a bit from each qubit.
from
qiskit
import
QuantumCircuit
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0,1], [0,1])
Qiskit Aer[edit]
The element Aer provides high-performance quantum computing simulators with realistic noise models. In the near-term, development of quantum software will depend largely on simulation of small quantum devices. For Qiskit, this is provided by the Aer component. This provides simulators hosted locally on the user's device, as well as HPC resources available through the cloud.[17] The simulators can also simulate the effects of noise for simple and sophisticated noise models.[18]
Continuing with the previous example: Once the quantum circuit has been created, it can be run on a backend (either quantum hardware or a simulator). In the following example, a local simulator is used.
from
qiskit
import
Aer, execute
backend = Aer.get_backend("qasm_simulator")
job = execute(qc, backend)
result = job.result()
print(result.get_counts(qc))
The final print statement here will show the results returned by the backend. This is a Python dictionary that describes the bit strings obtained from multiple runs of the quantum circuit. In the quantum circuit used in this example, the bit strings
'00'
and '11'
should be the only possible results, and should occur with equal probability. The full results will therefore typically have the samples split approximately equally between the two, such as {'00':519, '11':505}
.Experiments done on quantum hardware using Qiskit have been used in many research papers,[19] such as in tests of quantum error correction,[20][21] generation of entanglement[22] and simulation of far-from-equilibrium dynamics.[23]
Qiskit Ignis[edit]
As of version 0.7.0, released on 6th December 2021, Qiskit Ignis has been deprecated and superseded by the Qiskit Experiments project.[24]
The element Ignis provides tools for quantum hardware verification, noise characterization, and error correction. Ignis is a component that contains tools for characterizing noise in near-term devices, as well as allowing computations to be performed in the presence of noise. This includes tools for benchmarking near-term devices, error mitigation and error correction.[25]
Ignis is meant for those who want to design quantum error correction codes, or who wish to study ways to characterize errors through methods such as tomography, or even to find a better way for using gates by exploring dynamical decoupling and optimal control.
Qiskit Aqua[edit]
As of version 0.9.0, released on 2nd April 2021, Qiskit Aqua has been deprecated with its support ending and eventual archival being no sooner than 3 months from that date.
The element Aqua provided a library of cross-domain algorithms upon which domain-specific applications can be built. However, the Qiskit 0.25.0 release included a restructuring of the applications and algorithms. What previously has been referred to as Qiskit Aqua, the single applications and algorithms module of Qiskit, is now split into dedicated application modules for Optimization, Finance, Machine Learning and Nature (including Physics & Chemistry). The core algorithms and opflow operator functionality were moved to Qiskit Terra.
Additionally, to the restructuring, all algorithms follow a new unified paradigm: algorithms are classified according to the problems they solve, and within one application class algorithms can be used interchangeably to solve the same problem. This means that, unlike before, algorithm instances are decoupled from the problem they solve.[26]
New features of the Qiskit Trebugger | by Harshit Gupta | Qiskit | Aug, 2023 | MediumWhy quantum learners should study quantum-safe cryptography | by Qiskit | Qiskit | Aug, 2023 | Medium[2210.16195] CNOT circuits need little help to implement arbitrary Hadamard-free Clifford transformations they generateplatypus/notebooks at main · Qiskit/platypus textbookQiskit EcosystemQuantum Error Suppression and Mitigation, IBM Qiskit Runtime, and Dynamic Circuits — Enabing Technologies documentationhttps://qiskit.org/documentation/stable/0.41/apidoc/aer_noise.htmlQiskit-Extensions/circuit-knitting-toolbox: Tools for knitting quantum circuitsPage title...- Giscus
Last update: 2023-9-11