[ PROMPT_NODE_26294 ]
cirq
[ SKILL_DOCUMENTATION ]
# Cirq - Python 量子计算
Cirq 是 Google Quantum AI 的开源框架,用于在量子计算机和模拟器上设计、模拟和运行量子电路。
## 安装
bash
uv pip install cirq
硬件集成:
bash
# Google Quantum Engine
uv pip install cirq-google
# IonQ
uv pip install cirq-ionq
# AQT (Alpine Quantum Technologies)
uv pip install cirq-aqt
# Pasqal
uv pip install cirq-pasqal
# Azure Quantum
uv pip install azure-quantum cirq
## 快速入门
### 基础电路
python
import cirq
import numpy as np
# 创建量子比特
q0, q1 = cirq.LineQubit.range(2)
# 构建电路
circuit = cirq.Circuit(
cirq.H(q0), # 对 q0 执行 Hadamard 门
cirq.CNOT(q0, q1), # 以 q0 为控制位,q1 为目标位的 CNOT 门
cirq.measure(q0, q1, key='result')
)
print(circuit)
# 模拟
simulator = cirq.Simulator()
result = simulator.run(circuit, repetitions=1000)
# 显示结果
print(result.histogram(key='result'))
### 参数化电路
python
import sympy
# 定义符号参数
theta = sympy.Symbol('theta')
# 创建参数化电路
circuit = cirq.Circuit(
cirq.ry(theta)(q0),
cirq.measure(q0, key='m')
)
# 扫描参数值
sweep = cirq.Linspace('theta', start=0, stop=2*np.pi, length=20)
results = simulator.run_sweep(circuit, params=sweep, repetitions=1000)
# 处理结果
for params, result in zip(sweep, results):
theta_val = params['theta']
counts = result.histogram(key='m')
print(f"θ={theta_val:.2f}: {counts}")
## 核心功能
### 电路构建
有关构建量子电路的全面信息(包括量子比特、门、操作、自定义门和电路模式),请参阅:
- **[references/building.md](references/building.md)** - 电路构建完整指南
常见主题:
- 量子比特类型 (GridQubit, LineQubit, NamedQubit)
- 单量子比特门和双量子比特门
- 参数化门和操作
- 自定义门分解
- 使用时刻 (moments) 组织电路
- 标准电路模式 (Bell 态, GHZ, QFT)
- 导入/导出 (OpenQASM, JSON)
- 使用 qudits 和可观测算符
### 模拟
有关模拟量子电路的详细信息(包括精确模拟、含噪声模拟、参数扫描和量子虚拟机),请参阅:
- **[references/simulation.md](references/simulation.md)** - 量子模拟完整指南
常见主题:
- 精确模拟 (状态向量, 密度矩阵)