Skip to main content

Aer - High performance simulators for Qiskit

Project description

Aer - high performance quantum circuit simulation for Qiskit

License Build Tests

Aer is a high performance simulator for quantum circuits written in Qiskit, that includes realistic noise models.

Installation

We encourage installing Aer via the pip tool (a python package manager):

pip install qiskit-aer

Pip will handle all dependencies automatically for us, and you will always install the latest (and well-tested) version.

To install from source, follow the instructions in the contribution guidelines.

Installing GPU support

In order to install and run the GPU supported simulators on Linux, you need CUDA® 11.2 or newer previously installed. CUDA® itself would require a set of specific GPU drivers. Please follow CUDA® installation procedure in the NVIDIA® web.

If you want to install our GPU supported simulators, you have to install this other package:

pip install qiskit-aer-gpu

The package above is for CUDA&reg 12, so if your system has CUDA® 11 installed, install separate package:

pip install qiskit-aer-gpu-cu11

This will overwrite your current qiskit-aer package installation giving you the same functionality found in the canonical qiskit-aer package, plus the ability to run the GPU supported simulators: statevector, density matrix, and unitary.

Note: This package is only available on x86_64 Linux. For other platforms that have CUDA support, you will have to build from source. You can refer to the contributing guide for instructions on doing this.

Simulating your first Qiskit circuit with Aer

Now that you have Aer installed, you can start simulating quantum circuits with noise. Here is a basic example:

$ python
import qiskit
from qiskit_aer import AerSimulator
from qiskit_ibm_runtime import QiskitRuntimeService

# Generate 3-qubit GHZ state
circ = qiskit.QuantumCircuit(3)
circ.h(0)
circ.cx(0, 1)
circ.cx(1, 2)
circ.measure_all()

# Construct an ideal simulator
aersim = AerSimulator()

# Perform an ideal simulation
result_ideal = aersim.run(circ).result()
counts_ideal = result_ideal.get_counts(0)
print('Counts(ideal):', counts_ideal)
# Counts(ideal): {'000': 493, '111': 531}

# Construct a simulator using a noise model
# from a real backend.
provider = QiskitRuntimeService()
backend = provider.get_backend("ibm_kyoto")
aersim_backend = AerSimulator.from_backend(backend)

# Perform noisy simulation
result_noise = aersim_backend.run(circ).result()
counts_noise = result_noise.get_counts(0)

print('Counts(noise):', counts_noise)
# Counts(noise): {'101': 16, '110': 48, '100': 7, '001': 31, '010': 7, '000': 464, '011': 15, '111': 436}

Contribution Guidelines

If you'd like to contribute to Aer, please take a look at our contribution guidelines. This project adheres to Qiskit's code of conduct. By participating, you are expected to uphold this code.

We use GitHub issues for tracking requests and bugs. Please use our slack for discussion and simple questions. To join our Slack community use the link. For questions that are more suited for a forum, we use the Qiskit tag in the Stack Exchange.

Next Steps

Now you're set up and ready to check out some of the other examples from the Aer documentation.

Authors and Citation

Aer is the work of many people who contribute to the project at different levels. If you use Qiskit, please cite as per the included BibTeX file.

License

Apache License 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

qiskit_aer_gpu_cu11-0.13.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

qiskit_aer_gpu_cu11-0.13.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

qiskit_aer_gpu_cu11-0.13.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

qiskit_aer_gpu_cu11-0.13.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

qiskit_aer_gpu_cu11-0.13.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file qiskit_aer_gpu_cu11-0.13.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qiskit_aer_gpu_cu11-0.13.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a94544893eaf457786daeb13349af5691fc7ee08920ed1c73de2243c66f99d25
MD5 3a7523a525d7890167a6b6f5e171e44e
BLAKE2b-256 8f209ba39fad7708423037f7d2087f8080e2b9d976dbd90cb4769e884db375e8

See more details on using hashes here.

File details

Details for the file qiskit_aer_gpu_cu11-0.13.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qiskit_aer_gpu_cu11-0.13.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0f7fefd7912a5c0d10b4d77e1bb512262d5f385b26608689d7dffb2000a4dbb8
MD5 7ae4dd83b7953fc2d7341e4c2dd48fd4
BLAKE2b-256 9321688c4a7463dfe62fd83e4e3366aac80d9f0b1d3f299448209cdf67eafc27

See more details on using hashes here.

File details

Details for the file qiskit_aer_gpu_cu11-0.13.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qiskit_aer_gpu_cu11-0.13.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 374ac90e0e21e77acef7b91a447ad5a3174e204b121e570f2c1892e9218ccc76
MD5 4db6f3933a389449aefb53c4a5da6193
BLAKE2b-256 2143ddb8477a95ae908a1970ee32bfe2597cf41d1139e8a9bb70fe049124ef80

See more details on using hashes here.

File details

Details for the file qiskit_aer_gpu_cu11-0.13.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qiskit_aer_gpu_cu11-0.13.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1b11aa2fa90289e45c5113fe697a6cb2c80f07204acdfd75cbc15099fce53f14
MD5 82a3b043df4e9a984b3d414a5c272b22
BLAKE2b-256 2d2a4bd7ae947080bdde2d4573b4488b0a39e8ac4fe1c1a3280697cf81c35fac

See more details on using hashes here.

File details

Details for the file qiskit_aer_gpu_cu11-0.13.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qiskit_aer_gpu_cu11-0.13.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37ec1a5c1b44103a9908ca86e8b1baee8c512ed58912e81e4a6799475c1e6731
MD5 5ced0c961502bd978b29642d9eec20bb
BLAKE2b-256 3f4bd4841734961f588902c61fb301770a45d15b431fe213337bb67a0e873933

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page