• Stars
    star
    2,241
  • Rank 20,403 (Top 0.5 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PennyLane is a cross-platform Python library for quantum computing, quantum machine learning, and quantum chemistry. Train a quantum computer the same way as a neural network.

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

Train a quantum computer the same way as a neural network.

Key Features

  • Machine learning on quantum hardware. Connect to quantum hardware using PyTorch, TensorFlow, JAX, Keras, or NumPy. Build rich and flexible hybrid quantum-classical models.

  • Just in time compilation. Experimental support for just-in-time compilation. Compile your entire hybrid workflow, with support for advanced features such as adaptive circuits, real-time measurement feedback, and unbounded loops. See Catalyst for more details.

  • Device-independent. Run the same quantum circuit on different quantum backends. Install plugins to access even more devices, including Strawberry Fields, Amazon Braket, IBM Q, Google Cirq, Rigetti Forest, Qulacs, Pasqal, Honeywell, and more.

  • Follow the gradient. Hardware-friendly automatic differentiation of quantum circuits.

  • Batteries included. Built-in tools for quantum machine learning, optimization, and quantum chemistry. Rapidly prototype using built-in quantum simulators with backpropagation support.

Installation

PennyLane requires Python version 3.8 and above. Installation of PennyLane, as well as all dependencies, can be done using pip:

python -m pip install pennylane

Docker support

Docker support exists for building using CPU and GPU (Nvidia CUDA 11.1+) images. See a more detailed description here.

Getting started

For an introduction to quantum machine learning, guides and resources are available on PennyLane's quantum machine learning hub:

You can also check out our documentation for quickstart guides to using PennyLane, and detailed developer guides on how to write your own PennyLane-compatible quantum device.

Tutorials and demonstrations

Take a deeper dive into quantum machine learning by exploring cutting-edge algorithms on our demonstrations page.

All demonstrations are fully executable, and can be downloaded as Jupyter notebooks and Python scripts.

If you would like to contribute your own demo, see our demo submission guide.

Videos

Seeing is believing! Check out our videos to learn about PennyLane, quantum computing concepts, and more.

Contributing to PennyLane

We welcome contributions—simply fork the PennyLane repository, and then make a pull request containing your contribution. All contributors to PennyLane will be listed as authors on the releases. All users who contribute significantly to the code (new plugins, new functionality, etc.) will be listed on the PennyLane arXiv paper.

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

See our contributions page and our developer hub for more details.

Support

If you are having issues, please let us know by posting the issue on our GitHub issue tracker.

We also have a PennyLane discussion forum—come join the community and chat with the PennyLane team.

Note that we are committed to providing a friendly, safe, and welcoming environment for all. Please read and respect the Code of Conduct.

Authors

PennyLane is the work of many contributors.

If you are doing research using PennyLane, please cite our paper:

Ville Bergholm et al. PennyLane: Automatic differentiation of hybrid quantum-classical computations. 2018. arXiv:1811.04968

License

PennyLane is free and open source, released under the Apache License, Version 2.0.

More Repositories

1

qml

Introductions to key concepts in quantum programming, as well as tutorials and implementations from cutting-edge quantum computing research.
Python
526
star
2

pennylane-qiskit

The PennyLane-Qiskit plugin integrates the Qiskit quantum computing framework and IBM Q with PennyLane.
Python
181
star
3

catalyst

A JIT compiler for hybrid quantum programs in PennyLane
Python
91
star
4

pennylane-lightning

The PennyLane-Lightning plugin provides a fast state-vector simulator written in C++ for use with PennyLane
C++
82
star
5

pennylane-cirq

The PennyLane-Cirq plugin integrates Google's Cirq software library with with PennyLane's quantum machine learning capabilities.
Python
49
star
6

pennylane-lightning-gpu

GPU enabled Lightning simulator for accelerated circuit simulation. See https://github.com/PennyLaneAI/pennylane-lightning for all future development of this project.
C++
49
star
7

pennylane-rigetti

This PennyLane plugin allows the Rigetti Forest QPUs, QVM, and wavefunction simulator to optimize quantum circuits.
Python
37
star
8

pennylane-sf

The PennyLane-SF plugin integrates Xanadu's Strawberry Fields photonic quantum simulators and hardware with PennyLane's quantum machine learning capabilities.
Python
37
star
9

pennylane-qulacs

The PennyLane-Qulacs plugin integrates the Qulacs quantum computing framework with PennyLane's quantum machine learning capabilities.
Python
27
star
10

generative-quantum-states

Official code for the paper "Predicting Properties of Quantum Systems with Conditional Generative Models"
Jupyter Notebook
20
star
11

pennylane-honeywell

The PennyLane-Honeywell plugin integrates Honeywell Quantum Solutions' ion-trap quantum computing hardware with with PennyLane's quantum machine learning capabilities.
Python
19
star
12

PennyLane-qsharp

This plugin allows the full state simulator from the Microsoft Quantum Development Toolkit devices to work with PennyLane.
Python
16
star
13

pennylane-pq

Contains the PennyLane ProjectQ plugin. This plugin provides three devices to work with PennyLane - the ProjectQ IBM device, the ProjectQ quantum simulator, and the ProjectQ classical simulator.
Python
16
star
14

pennylane-lightning-kokkos

Kokkos enabled Lightning simulator for accelerated circuit simulation. See https://github.com/PennyLaneAI/pennylane-lightning for all future development of this project.
C++
15
star
15

PennyLane-IonQ

This PennyLane plugin allows IonQ simulators/hardware to be used as PennyLane devices.
Python
9
star
16

plugin-test-matrix

Scheduled integration tests for the official plugins
Python
9
star
17

lightning-on-hpc

"Hybrid quantum programming with PennyLane Lightning on HPC platforms" accompanying data and workloads
Jupyter Notebook
8
star
18

pennylane-aqt

The PennyLane-AQT plugin integrates Alpine Quantum Technologies' ion-trap quantum computing hardware with with PennyLane's quantum machine learning capabilities.
Python
8
star
19

pennylane.ai

The website for PennyLane
HTML
7
star
20

DatasetsSource

Repo containing the datasets source code.
Python
7
star
21

pennylane-orquestra

The PennyLane-Orquestra plugin integrates the Orquestra workflow management system with PennyLane
Python
6
star
22

diastatic-malt

A tool for source-to-source transformations and operator overloading in Python
Python
5
star
23

Lightning-Unification

This repository will host the Lightning unification work.
C++
3
star
24

benchmark

Benchmarks the PennyLane library using airspeed velocity.
Python
3
star
25

pennylane-sphinx-theme

Sphinx theme for PennyLaneAI repositories
Python
2
star
26

pulse-benchmarks

Some basic benchmarks for `pennylane.pulse`
Jupyter Notebook
2
star
27

differentiable-quantum-transforms

Jupyter Notebook
1
star
28

automation

This repository contains automation code for version bumping PL-plugins
Python
1
star