Skip to main content

An open source quantum circuit simulator to be run locally with the Amazon Braket SDK

Project description

Amazon Braket Default Simulator

Latest Version Supported Python Versions Build Status codecov Documentation Status Code Style: Black

The Amazon Braket Default Simulator is a Python open source library that provides an implementation of a quantum simulator that you can run locally. You can use the simulator to test quantum tasks that you construct for the Amazon Braket SDK before you submit them to the Amazon Braket service for execution.

Setting up Amazon Braket Default Simulator Python

You must have the Amazon Braket SDK installed to use the local simulator. Follow the instructions in the README for setup.

Checking the version of the default simulator

You can check your currently installed version of amazon-braket-default-simulator with pip show:

pip show amazon-braket-default-simulator

or alternatively from within Python:

>>> from braket import default_simulator
>>> default_simulator.__version__

Usage

The quantum simulator implementations StateVectorSimulator and DensityMatrixSimulator plug into the LocalSimulator interface in Amazon Braket SDK, with the backend parameters as "braket_sv" and "braket_dm", respectively. Alternatively, to use StateVectorSimulator, you can instantiate LocalSimulator with no arguments or with backend="default":

Executing a circuit using the default simulator

from braket.circuits import Circuit
from braket.devices import LocalSimulator

device = LocalSimulator()

bell = Circuit().h(0).cnot(0, 1)
print(device.run(bell, shots=100).result().measurement_counts)

Documentation

Detailed documentation, including the API reference, can be found on Read the Docs

To generate the API Reference HTML in your local environment

First, install tox:

pip install tox

To generate the HTML, first change directories (cd) to position the cursor in the amazon-braket-default-simulator-python directory. Then, run the following command to generate the HTML documentation files:

tox -e docs

To view the generated documentation, open the following file in a browser: ../amazon-braket-default-simulator-python/build/documentation/html/index.html

Testing

If you want to contribute to the project, be sure to run unit tests and get a successful result before you submit a pull request. To run the unit tests, first install the test dependencies using the following command:

pip install -e "amazon-braket-default-simulator-python[test]"

To run the unit tests:

tox -e unit-tests

You can also pass in various pytest arguments to run selected tests:

tox -e unit-tests -- your-arguments

For more information, please see pytest usage.

To run linters and doc generators and unit tests:

tox

To run the performance tests:

tox -e performance-tests

These tests will compare the performance of a series of simulator executions for your changes against the latest commit on the main branch. Note: The execution times for the performance tests are affected by the other processes running on the system. In order to get stable results, stop other applications when running these tests.

License

This project is licensed under the Apache-2.0 License.

Project details


Download files

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

Source Distribution

Built Distribution

File details

Details for the file amazon-braket-default-simulator-kshitijc-1.11.2.dev0.tar.gz.

File metadata

File hashes

Hashes for amazon-braket-default-simulator-kshitijc-1.11.2.dev0.tar.gz
Algorithm Hash digest
SHA256 4aed02e0d5997654cc3f5c2ec49b1668c0e097a4886e793ea82b0df06426ec69
MD5 e7e1160009c46c257c1cc3d21b02fecb
BLAKE2b-256 6303cc60a3add389cf15afc6bbe317bf5250e77deab5a96216b8a6bac1ef410d

See more details on using hashes here.

File details

Details for the file amazon_braket_default_simulator_kshitijc-1.11.2.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for amazon_braket_default_simulator_kshitijc-1.11.2.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 debf8d7ee79b949f3dddf7b58012374f498b689c3397b5828bdf9dd77f8d4d6f
MD5 e417f0aeffa91b64d6b0e8e54bd08432
BLAKE2b-256 4732a195485747109f2969321b023d57b84176254011f9e4fd3babff9ef18fe2

See more details on using hashes here.

Supported by

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