Skip to main content

PennyLane plugin for Orquestra by Xanadu Inc.

Project description

GitHub Workflow Status (branch) GitHub Workflow Status (branch) Codecov coverage CodeFactor Grade Read the Docs PyPI PyPI - Python Version

❗ This plugin will not be supported in newer versions of PennyLane. It is compatible with versions of PennyLane up to and including 0.33❗

The PennyLane-Orquestra plugin integrates the Orquestra workflow management system for quantum computing with PennyLane’s quantum machine learning capabilities.

PennyLane is a cross-platform Python library for differentiable programming of quantum computers.

Orquestra is a workflow management system for quantum computing.

Features

  • Provides four devices to be used with PennyLane: orquestra.forest, orquestra.ibmq, orquestra.qiskit and orquestra.qulacs. These devices provide access to the various backends and simulators, including hardware devices like the IBM hardware, which is accessible through the cloud.

  • Allows computing expectation values by submitting and processing Orquestra workflows.

  • Supports a wide range of PennyLane operations.

  • Combines Orquestra’s execution capabilities to submit batches of circuits that can be executed in parallel.

Installation

Folder structure of the plugin

The source folder of the plugin contains sub-folders for both server and client-side code:

  1. Server-side: the steps subfolder contains the functions used in generated workflows as steps and the src subfolder contains further server-side auxiliary code (if any). Orquestra imports the main branch of the pennylane-orquestra repository on each workflow submission, so server-side changes merged into the main branch take effect immediately.

  2. Client-side: the pennylane_orquestra subfolder contains client-side code making up the PennyLane-Orquestra plugin.

Installation and tests

This plugin requires Python version 3.6 and above. PennyLane and the Quantum Engine CLI are also required. Installation of this plugin, as well as all dependencies, can be done using pip:

pip install pennylane-orquestra

To test that the PennyLane-Orquestra plugin is working correctly you can run

make test

in the source folder. Tests that involve submitting Orquestra workflows to test the end-to-end integration of the plugin can be run with make test-e2e.

Further test cases for the steps used by the PennyLane-Orquestra plugin are located in steps/tests. To run these, Python version 3.9 and above is required along with the dependencies contained in the steps/requirements_for_tests.txt. Once these are available, running make test-steps will run the steps test suite.

Please refer to the plugin documentation as well as to the PennyLane documentation for further reference.

Contributing

We welcome contributions - simply fork the repository of this plugin, and then make a pull request containing your contribution. All contributers to this plugin 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.

Authors

PennyLane-Orquestra is the work of many contributors.

If you are doing research using PennyLane and PennyLane-Orquestra, 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

The PennyLane orquestra plugin 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 Distributions

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

Built Distribution

PennyLane_Orquestra-0.33.0-py3-none-any.whl (29.8 kB view details)

Uploaded Python 3

File details

Details for the file PennyLane_Orquestra-0.33.0-py3-none-any.whl.

File metadata

File hashes

Hashes for PennyLane_Orquestra-0.33.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dcad5e97749bc38da381c9f007634d62c93859f4b47236fcec1d8ac1369aff7c
MD5 94d1d8c2565ce717c89f0c90c681ea8a
BLAKE2b-256 1167dd94a52e1f0292e6aa16aa8a165d3a54dfa10af6bb3ca6224bfda761b574

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