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.providers.fake_provider import FakeManilaV2

# 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 noisy simulator backend from an IBMQ backend
# This simulator backend will be automatically configured
# using the device configuration and noise model
backend = FakeManilaV2()
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.2-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.2-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.2-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.2-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.2-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.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qiskit_aer_gpu_cu11-0.13.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 26a7157888c80d5277d7b6c9286b948206bf1f5910b9468cd7bcd05eade1acb5
MD5 66a32db3c95d3c67905847ed55bb9e85
BLAKE2b-256 089a03667e1216ac97c19408f410d286d59884270f532d533bcd34ceda08532b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_aer_gpu_cu11-0.13.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8b2d65744a49d0b3e5daf61ca97c67515323327b8fffd83db8f7415a09c9bee3
MD5 846da0387cf753859973db1c1f2af671
BLAKE2b-256 1fb3481b945a094fe50830219e00f350fbff82f8a8d2852f4247988b7e53964c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_aer_gpu_cu11-0.13.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b09d4cd9e00f8a0e2beffa7a5f5accfe988599a8fb1a727c4ec07346698aea0
MD5 8eea09e3f3cdad78cf839718a3358035
BLAKE2b-256 5285655f7598388788d361ae67eec8485ca9d605ac19ef4308483b7db2ef467d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_aer_gpu_cu11-0.13.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5030e6daf190877d0f6b98b15ef7d3174445c0d80e1d16d694a353e0719358f7
MD5 d24192d9060dd07f71f439aa6e585773
BLAKE2b-256 5f9aea81f8f5e927774655b78e1445abc5495b43719ca3aa7a8004a066b28a5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_aer_gpu_cu11-0.13.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 12ff13eb37c5b6918b1791d2579959c67fdb35233641181aae90cbf0e402dd87
MD5 0f43c1bea21621c4c67bb1928c47613d
BLAKE2b-256 0cedd8ea79ae0e9ccdcb4514352afa52b8133767a0d4c1452926df69ed7750da

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