Skip to main content

Microsoft Quantum Development Kit backend for PennyLane

Project description

Read the Docs

The PennyLane Q# plugin integrates the Q# quantum computing framework with PennyLane’s quantum machine learning capabilities.

The Microsoft Quantum Development Kit is an open-source library for quantum programming using the .NET Q# quantum programming language. Resulting quantum programs can be executed using built in local simulators, or via the cloud-based Azure quantum simulator.

PennyLane is a cross-platform Python library for quantum machine learning, automatic differentiation, and optimization of hybrid quantum-classical computations.

The documentation can be found here.

Features

  • Provides a Microsoft QDK device to be used with PennyLane: microsoft.QuantumSimulator. This provides access to the local full state simulator.

  • All provided devices support all core qubit PennyLane operations and observables.

  • Provides custom PennyLane operations to cover additional Q# operations, including T, S, ISWAP, CCNOT, PSWAP, and many more. Every custom operation supports analytic differentiation.

  • Combine Microsoft Azure quantum simulators with PennyLane’s automatic differentiation and optimization.

Installation

Installation of this plugin, as well as all dependencies, can be done using pip:

$ python -m pip install pennylane-qsharp

Make sure you are using the Python 3 version of pip.

Alternatively, you can install PennyLane Q# from the source code by navigating to the top directory and running

$ python setup.py install

Dependencies

PennyLane Q# requires the following libraries be installed:

as well as the following Python packages:

If you currently do not have Python 3 installed, we recommend Anaconda for Python 3, a distributed version of Python packaged for scientific computation.

Software tests

To ensure that PennyLane Q# is working correctly after installation, the test suite can be run by navigating to the source code folder and running

$ make test

Documentation

To build the HTML documentation, go to the top-level directory and run

$ make docs

The documentation can then be found in the doc/_build/html/ directory.

Contributing

We welcome contributions - simply fork the PennyLane-Q# repository, and then make a pull request containing your contribution.

All contributers to PennyLane-Q# will be listed as authors on the releases.

We also encourage bug reports, suggestions for new features and enhancements, and even links to cool projects or applications built on PennyLane and the Microsoft QDK.

Authors

PennyLane-Q# is the work of many contributors.

If you are doing research using PennyLane and PennyLane-Q#, please cite our paper:

Ville Bergholm, Josh Izaac, Maria Schuld, Christian Gogolin, M. Sohaib Alam, Shahnawaz Ahmed, Juan Miguel Arrazola, Carsten Blank, Alain Delgado, Soran Jahangiri, Keri McKiernan, Johannes Jakob Meyer, Zeyue Niu, Antal Száva, and Nathan Killoran. PennyLane: Automatic differentiation of hybrid quantum-classical computations. 2018. arXiv:1811.04968

Support

If you are having issues, please let us know by posting the issue on our Github issue tracker, or by asking a question in the forum.

License

PennyLane-Q# is free and open source, released under the Apache License, Version 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 Distribution

PennyLane-qsharp-0.19.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

PennyLane_qsharp-0.19.0-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file PennyLane-qsharp-0.19.0.tar.gz.

File metadata

  • Download URL: PennyLane-qsharp-0.19.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for PennyLane-qsharp-0.19.0.tar.gz
Algorithm Hash digest
SHA256 933e41ade0761c6c49995db29af8f7512922092eaf5b5c82e8edc38579441f66
MD5 093c8d736e349a7deafd8484d6e5b586
BLAKE2b-256 62ee008272b3aa77ebe8b9ab3dec589a49e3106e527ff5fabb63743a4832d36d

See more details on using hashes here.

File details

Details for the file PennyLane_qsharp-0.19.0-py3-none-any.whl.

File metadata

  • Download URL: PennyLane_qsharp-0.19.0-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for PennyLane_qsharp-0.19.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b66e9af1098d94607dae4cf2b9225d65b1149f361fd755e8b71f9b0a696ac7c7
MD5 36ce67933b125e80c0d69dc7cdba282d
BLAKE2b-256 4fa3807719279af870936e6bbfcaca88db3523bf23a3b33faaa9135f5fc42745

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