[ PROMPT_NODE_26986 ]
devices_backends
[ SKILL_DOCUMENTATION ]
# PennyLane 中的设备与后端
## 目录
1. [内置模拟器](#built-in-simulators)
2. [硬件插件](#hardware-plugins)
3. [设备选择](#device-selection)
4. [设备配置](#device-configuration)
5. [自定义设备](#custom-devices)
6. [性能优化](#performance-optimization)
## 内置模拟器
### default.qubit
通用状态向量模拟器:
python
import pennylane as qml
# 基本初始化
dev = qml.device('default.qubit', wires=4)
# 带 shots(采样模式)
dev = qml.device('default.qubit', wires=4, shots=1000)
# 指定量子比特标签
dev = qml.device('default.qubit', wires=['a', 'b', 'c', 'd'])
### default.mixed
用于含噪量子系统的混合态模拟器:
python
# 支持密度矩阵模拟
dev = qml.device('default.mixed', wires=2)
@qml.qnode(dev)
def noisy_circuit():
qml.Hadamard(wires=0)
# 应用噪声
qml.DepolarizingChannel(0.1, wires=0)
qml.CNOT(wires=[0, 1])
# 幅度阻尼
qml.AmplitudeDamping(0.05, wires=1)
return qml.expval(qml.PauliZ(0))
### default.qubit.torch, default.qubit.tf, default.qubit.jax
具有更好集成性的框架专用模拟器:
python
# PyTorch
dev = qml.device('default.qubit.torch', wires=4)
# TensorFlow
dev = qml.device('default.qubit.tf', wires=4)
# JAX
dev = qml.device('default.qubit.jax', wires=4)
### lightning.qubit
高性能 C++ 模拟器:
python
# 比 default.qubit 更快
dev = qml.device('lightning.qubit', wires=20)
# 高效支持更大规模系统
@qml.qnode(dev)
def large_circuit():
for i in range(20):
qml.Hadamard(wires=i)
for i in range(19):
qml.CNOT(wires=[i, i+1])
return qml.expval(qml.PauliZ(0))
### default.clifford
针对 Clifford 电路的高效模拟器:
python
# 仅支持 Clifford 门 (H, S, CNOT 等)
dev = qml.device('default.clifford', wires=100)
@qml.qnode(dev)
def clifford_circuit():
qml.Hadamard(wires=0)
qml.CNOT(wires=[0, 1])
qml.S(wires=1)
# 不能使用 RX, RY, RZ 等
return qml.expval(qml.PauliZ(0))
## 硬件插件
### IBM Quantum (Qiskit)
bash
# 安装插件
uv pip install pennylane-qiskit
python
import pennylane as qml
# 使用 IBM 模拟器
dev = qml.device('qiskit.aer', wires=2)
# 使用 IBM 量子硬件
dev = qml.device(
'qiskit.ibmq',
wires=2,
backend='ibmq_manila', # 指定后端
shots=1024
)