PennyLane

0.44.1 · active · verified Wed Apr 15

PennyLane is a cross-platform Python library for differentiable programming of quantum computers, quantum machine learning, and quantum chemistry. It enables users to build, optimize, and deploy hybrid quantum-classical applications by seamlessly integrating with popular machine learning frameworks like NumPy, PyTorch, TensorFlow, and JAX. The library is under active development, with new versions and features released every few months, aiming to make quantum computing accessible for research and application development.

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to define a quantum device, create a quantum circuit (QNode) with parameters, execute it, and compute gradients using PennyLane's automatic differentiation capabilities. This is a fundamental workflow for variational quantum algorithms.

import pennylane as qml
from pennylane import numpy as np

# Define a quantum device
dev = qml.device("default.qubit", wires=2)

# Define a QNode (quantum function)
@qml.qnode(dev)
def circuit(phi, theta):
    qml.RX(phi[0], wires=0)
    qml.RY(phi[1], wires=1)
    qml.CNOT(wires=[0, 1])
    qml.RX(theta, wires=0)
    return qml.expval(qml.PauliZ(0))

# Define parameters with automatic differentiation enabled
phi_params = np.array([0.54, 0.12], requires_grad=True)
theta_param = np.array(0.9, requires_grad=True)

# Execute the circuit
result = circuit(phi_params, theta_param)
print(f"Circuit output: {result}")

# Compute gradients
grad_fn = qml.grad(circuit)
gradients = grad_fn(phi_params, theta_param)
print(f"Gradients: {gradients}")

view raw JSON →