Create

Sign in to ReadmeX

or

How we handle your data: Privacy Policy

ReadmeX

Your AI reading companion

What would you like to catch up on?

Pick a briefing, or ask your own question.

Your community and people briefings stay personal to you.

qiskit

qiskit: An open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.

What problem it solves

Quantum programs require circuits, measurements or observables, and execution through primitives. Preparing those programs for real quantum hardware also requires rewriting circuits to account for hardware basis gates and connectivity.

Key features

  • Quantum circuit construction — Build quantum programs with circuits and standard quantum gates using the Python API.

    Source: README

  • Sampler and Estimator primitives — Use Sampler to sample circuit outcomes and Estimator to calculate expectation values for circuits and observable operators.

    Source: README

  • Circuit transpilation — Map circuits to specified basis gates, coupling maps, and hardware targets through a transpiler that includes synthesis, optimization, mapping, and scheduling passes.

    Source: README

  • Quantum information toolbox — Create advanced quantum operators, including observable operators represented with the `SparsePauliOp` class.

    Source: README

  • Hardware and provider interfaces — Connect compatible hardware and simulator providers through backend abstractions and runtime primitive interfaces.

    Source: README

Quick start

Copied verbatim from the project's README.

pip install qiskit
import numpy as np
from qiskit import QuantumCircuit

# 1. A quantum circuit for preparing the quantum state |000> + i |111> / √2
qc = QuantumCircuit(3)
qc.h(0)             # generate superposition
qc.p(np.pi / 2, 0)  # add quantum phase
qc.cx(0, 1)         # 0th-qubit-Controlled-NOT gate on 1st qubit
qc.cx(0, 2)         # 0th-qubit-Controlled-NOT gate on 2nd qubit
# 2. Add the classical output in the form of measurement of all qubits
qc_measured = qc.measure_all(inplace=False)

# 3. Execute using the Sampler primitive
from qiskit.primitives import StatevectorSampler
sampler = StatevectorSampler()
job = sampler.run([qc_measured], shots=1000)
result = job.result()
print(f" > Counts: {result[0].data['meas'].get_counts()}")

Who it may suit

This may suit developers, researchers, and information-technology practitioners who want to create quantum circuits, work with operators and primitives, or connect quantum programs to compatible hardware and simulator providers.

Topics to discuss

  • Which transpiler passes are most useful for preparing circuits for common hardware constraints?

  • How should providers implement the BackendV2 and runtime primitive interfaces for different execution workflows?

  • What examples or documentation would help newcomers understand the difference between Sampler and Estimator?


Written by ReadmeX AI from the project's README, source and public GitHub data; it may contain mistakes.

Read the original README https://github.com/Qiskit/qiskit#readme

ReadmeX opened this community for a trending project; it is not run by the project. Maintainers can claim it from the community page.

github.comhttps://github.com/Qiskit/qiskit

Comments

…