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.14.0.1-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.14.0.1-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.14.0.1-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.14.0.1-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.14.0.1-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.14.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qiskit_aer_gpu_cu11-0.14.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e37941af54e39504d2fe6716a2cb08effd6add79e3858069def9b339c30aa8c6
MD5 1487beaf7521ca41761527afd614c117
BLAKE2b-256 b60cfed0ced2946a09deda5202463d58ba2fd46252a8db1f5e0adbe04bea643f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_aer_gpu_cu11-0.14.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0f2f547d0607757ea70e83507b018353b1f0f4c2eb8f92dddace9c614a71c0cb
MD5 5c3f8b2614d188a8ba6b45c28e4848d7
BLAKE2b-256 b4a3f3a9e88293cd8329f47c15bdd92fb3b8362a7b1cb3e8b1b70abc7cbc6714

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_aer_gpu_cu11-0.14.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b0860ea4f3a4327e0aeed7fa98f357286a27e99959f08fc35fc06d47c8519c10
MD5 bc3b4b6a5b7492bd6950dde7e283fd38
BLAKE2b-256 b907f1f16ef17f685caf6c08d5271bd126c951b3edf5e054efec3c3971c917cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_aer_gpu_cu11-0.14.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0c99829451c57a8c8b90e95b34de0dae472ba12430733f6b76c00fda79f3b991
MD5 c73b7de25c56de1bfc4fa6cb4f67be60
BLAKE2b-256 6327ddb6d50c9902bc58728dc1d2917ef9dbcb73bb3e277c8ca4dde6180ee0d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_aer_gpu_cu11-0.14.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c2432d1f86da1c1d38cb842e314dc35aaeaeffaae14276bb6e079736fb8c2ffc
MD5 da17fda31f926fe294077f3f64b2417b
BLAKE2b-256 71b36c75f3ba37693c38c9de99fe37c6e908907df7dbb74f224d1fd0932adb0c

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