多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

Cirq 量子计算实战指南:电路构建、模拟与硬件执行全解析(基于 agentic-awesome-skills 技能文档)

Cirq 量子计算实战指南:电路构建、模拟与硬件执行全解析(基于 agentic-awesome-skills 技能文档) AI 技能AI 插件【免费下载链接】agentic-awesome-skillsAAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,445 agentic skills. Includes CLI, local MCP, catalog, plugins, and Workbench.项目地址https://gitcode.com/gh_mirrors/an/agentic-awesome-skills点击查看免费下载导读本文以 agentic-awesome-skills 仓库中 cirq 技能文档 为骨架系统讲解 Google Quantum AI 开源框架 Cirq 在量子电路设计、模拟、变换与硬件执行方面的完整用法。读完本文你将掌握用 Python 编写并模拟含参量子电路、接入 Google/IonQ/Azure 等真实量子后端以及用变分算法、噪声研究等模板搭建可复用的量子实验工作流的实战能力。该技能在 AAS 目录中被归类为science类别风险等级为critical同时支持 Codex 与 Claude 两类 Agent 目标见 catalog.json 与 skills_index.json 中的 cirq 条目安装方式为免配置setup type 为none。适用场景Cirq 是 Google Quantum AI 的开源框架用于在量子计算机和模拟器上设计、模拟与运行量子电路。以下场景适合启用该技能你正在使用 Cirq 生态体系设计、模拟或执行量子电路你需要 Google Quantum AI 风格的量子原语、参数化电路或cirq-google、cirq-ionq等硬件集成扩展你正在 Python 环境中进行量子工作流的原型开发或教学需要可直接运行的具体电路示例。安装与硬件后端配置基础安装只需一行命令uv pip install cirq如果需要在真实量子硬件上运行需要按后端分别安装对应的集成包# 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其中cirq-google面向 Google 的 Sycamore、Weber 等处理器cirq-ionq面向离子阱量子计算机cirq-aqt对接 Alpine Quantum Technologiescirq-pasqal对接中性原子量子计算机而azure-quantum则通过 Azure Quantum 云服务统一访问 IonQ 与 HoneywellQuantinuum等后端。安装时建议在虚拟环境中使用uv或pip管理依赖确保 NumPy、SciPy、SymPy 等科学计算依赖版本兼容。快速上手从基本电路到参数扫描基本电路Hadamard CNOT以下代码创建两个量子比特构建一个贝尔态制备式的基本电路并执行 1000 次测量采样import cirq import numpy as np # Create qubits q0, q1 cirq.LineQubit.range(2) # Build circuit circuit cirq.Circuit( cirq.H(q0), # Hadamard on q0 cirq.CNOT(q0, q1), # CNOT with q0 control, q1 target cirq.measure(q0, q1, keyresult) ) print(circuit) # Simulate simulator cirq.Simulator() result simulator.run(circuit, repetitions1000) # Display results print(result.histogram(keyresult))逐段解读cirq.LineQubit.range(2)创建编号为 0、1 的两个一维线性量子比特。Cirq 还提供GridQubit二维网格拓扑贴合超导芯片布局与NamedQubit任意命名的抽象比特等类型应根据目标器件拓扑选择cirq.H(q0)在 q0 上施加 Hadamard 门将 |0⟩ 变为叠加态 (|0⟩|1⟩)/√2cirq.CNOT(q0, q1)以 q0 为控制位、q1 为目标位施加受控非门从而在 q0、q1 之间建立纠缠cirq.measure(q0, q1, keyresult)用描述性键result标记测量便于后续从结果中按键取出直方图cirq.Simulator()是精确态矢量模拟器run(..., repetitions1000)做 1000 次采样result.histogram(keyresult)返回各测量结果的频数分布。参数化电路与参数扫描量子变分类算法如 VQE、QAOA的核心是参数化电路。Cirq 使用 SymPy 符号定义可调参数并用Linspace等扫描器批量求值import sympy # Define symbolic parameter theta sympy.Symbol(theta) # Create parameterized circuit circuit cirq.Circuit( cirq.ry(theta)(q0), cirq.measure(q0, keym) ) # Sweep over parameter values sweep cirq.Linspace(theta, start0, stop2*np.pi, length20) results simulator.run_sweep(circuit, paramssweep, repetitions1000) # Process results for params, result in zip(sweep, results): theta_val params[theta] counts result.histogram(keym) print(fθ{theta_val:.2f}: {counts})这里cirq.ry(theta)(q0)生成绕 Y 轴旋转 θ 的单比特门θ 是 SymPy 符号cirq.Linspace(theta, start0, stop2*np.pi, length20)在 [0, 2π] 上均匀取 20 个点simulator.run_sweep(circuit, paramssweep, repetitions1000)一次性完成 20 组参数的并行采样比逐个run更高效。输出按 θ 值打印对应的测量直方图可直接观察旋转角与测量概率之间的周期关系。核心能力全景该技能文档将 Cirq 的核心能力划分为六大模块覆盖从电路设计到实验分析的完整链路。电路构建Circuit Building电路构建是 Cirq 的根基涉及以下主题量子比特类型GridQubit、LineQubit、NamedQubit分别对应芯片网格拓扑、线性链拓扑与抽象命名场景单比特与双比特门如 H、X、Y、Z、Rx/Ry/Rz、CNOT、CZ、SWAP 等参数化门与操作通过 SymPy 符号把角度等参数注入门操作供后续扫描或经典优化器迭代自定义门分解通过定义 Gate/Operation 子类并实现_decompose_把高层门展开为底层原生门集合用 Moment 组织电路cirq.Circuit内部按时序切片Moment组织操作同一 Moment 内的操作互不依赖、可并行执行这是 Cirq 电路模型的独有优势标准电路模板贝尔态、GHZ 态、量子傅里叶变换QFT等经典模式导入导出支持 OpenQASM、JSON 等格式便于与其他工具链互操作qudit 与可观测量除 qubit 外还支持更高维度的 qudit以及cirq.PauliSum等可观测量定义。模拟Simulation模拟是硬件资源稀缺时代验证算法正确性的首选手段核心主题包括精确模拟态矢量模拟纯态复杂度 O(2ⁿ)与密度矩阵模拟混合态、噪声场景复杂度 O(2²ⁿ)采样与测量run()返回采样结果simulate()返回最终态矢量等完整状态信息参数扫描支持单参数与多参数联合扫描Linspace、Zip、Product等扫描器噪声模拟DensityMatrixSimulator结合噪声模型模拟含噪声电路态直方图与可视化对测量结果做统计与绘图分析量子虚拟机QVM模拟真实硬件的延迟、保真度与拓扑约束实现写一次、处处运行的硬件对齐开发体验期望值与可观测量通过simulate_expectation_values直接计算 Pauli 算符期望值性能优化根据电路特性选择最优模拟器如 Clifford 电路可用 stabilizer 模拟器大幅提速。电路变换Circuit Transformation变换框架用于电路的优化、编译与改写主题包括Transformer 框架cirq.transformers提供可组合、可复用的电路变换原语门分解将非原生门递归展开为目标门集电路优化合并相邻门MergeSingleQubitGates、弹出 Z 门EjectZ、丢弃可忽略的微小操作DropNegligible等面向硬件的编译把电路编译到特定器件的原生门集与拓扑上量子比特路由与 SWAP 插入通过cirq_google.optimized_for_xmon等工具处理芯片连通性限制自定义 Transformer 与变换流水线通过Transformer协议组合多个变换步骤形成可复用的编译管线。硬件集成Hardware Integration在真实硬件上运行电路是 Cirq 的最终价值所在文档列出的受支持后端包括Google Quantum AIcirq-googleSycamore、Weber 处理器IonQcirq-ionq离子阱量子计算机Azure Quantumazure-quantumIonQ 与 Honeywell 后端AQTcirq-aqtAlpine Quantum TechnologiesPasqalcirq-pasqal中性原子量子计算机。涉及的主题包括设备表示、量子比特选择、认证鉴权、作业管理与面向硬件的电路优化。噪声建模Noise Modeling含噪量子计算NISQ时代噪声建模是评估真实性能的前提主题包括噪声信道退极化depolarizing、振幅阻尼amplitude damping、相位阻尼phase damping等噪声模型恒定噪声、门特指噪声、比特特指噪声、热噪声等可从cirq.NoiseModel派生自定义模型向电路注入噪声如circuit.with_noise(...)便捷方法读出噪声模拟测量阶段错误噪声表征随机基准测试randomized benchmarking、交叉熵基准XEB等噪声可视化以热力图等形式呈现噪声分布纠错与缓解技术误差缓解error mitigation手段降低硬件噪声对结果的污染。量子实验Quantum Experiments将以上能力组织成可复现的实验主题包括实验设计模式清晰划分数据生成、采集与分析三个阶段参数扫描与数据采集批量扫描参数并规范记录结果ReCirq 框架结构Google 维护的可复现量子实验框架强调实验的可重复性与元数据完备性常见算法VQE变分量子本征求解器、QAOA量子近似优化算法、QPE量子相位估计数据分析与可视化对采样数据做统计处理与绘图统计分析与保真度估计从有限采样中估计态保真度与置信区间并行数据采集对相互独立的任务并行化缩短实验总时长。常用实战模板技能文档提供了三个可直接改造使用的模板是搭建量子应用的最佳起点。变分算法模板VQE/QAOA 骨架import scipy.optimize def variational_algorithm(ansatz, cost_function, initial_params): Template for variational quantum algorithms. def objective(params): circuit ansatz(params) simulator cirq.Simulator() result simulator.simulate(circuit) return cost_function(result) # Optimize result scipy.optimize.minimize( objective, initial_params, methodCOBYLA ) return result # Define ansatz def my_ansatz(params): q cirq.LineQubit(0) return cirq.Circuit( cirq.ry(params[0])(q), cirq.rz(params[1])(q) ) # Define cost function def my_cost(result): state result.final_state_vector # Calculate cost based on state return np.real(state[0]) # Run optimization result variational_algorithm(my_ansatz, my_cost, [0.0, 0.0])该模板的核心思想是由经典优化器此处为 SciPy 的COBYLA适合无梯度黑盒优化反复调用量子模拟器把参数 → 电路 → 目标函数值闭环起来。实战中my_ansatz可以替换为任意层数的纠缠参量线路my_cost可以替换为哈密顿量期望值等真实目标函数。硬件执行模板def run_on_hardware(circuit, providergoogle, device_nameweber, repetitions1000): Template for running on quantum hardware. if provider google: import cirq_google engine cirq_google.get_engine() processor engine.get_processor(device_name) job processor.run(circuit, repetitionsrepetitions) return job.results()[0] elif provider ionq: import cirq_ionq service cirq_ionq.Service() result service.run(circuit, repetitionsrepetitions, targetqpu) return result elif provider azure: from azure.quantum.cirq import AzureQuantumService # Setup workspace... service AzureQuantumService(workspace) result service.run(circuit, repetitionsrepetitions, targetionq.qpu) return result else: raise ValueError(fUnknown provider: {provider})该模板展示了统一接口调用多后端的能力Google 侧通过get_engine()→get_processor(name)获取处理器并提交作业IonQ 侧通过Service().run(..., targetqpu)提交到 QPUAzure 侧则通过AzureQuantumService(workspace)连接云工作区后以targetionq.qpu指定后端。注意真实运行前需要完成各平台的认证配置API Key、凭据或 Azure 工作区参数且应先在模拟器上验证电路再提交硬件。噪声对比研究模板def noise_comparison_study(circuit, noise_levels): Compare circuit performance at different noise levels. results {} for noise_level in noise_levels: # Create noisy circuit noisy_circuit circuit.with_noise(cirq.depolarize(pnoise_level)) # Simulate simulator cirq.DensityMatrixSimulator() result simulator.run(noisy_circuit, repetitions1000) # Analyze results[noise_level] { histogram: result.histogram(keyresult), dominant_state: max( result.histogram(keyresult).items(), keylambda x: x[1] ) } return results # Run study noise_levels [0.0, 0.001, 0.01, 0.05, 0.1] results noise_comparison_study(circuit, noise_levels)模板用circuit.with_noise(cirq.depolarize(pnoise_level))按不同退极化率注入噪声再以密度矩阵模拟器能刻画混合态逐级测量最后统计各噪声水平下的主导测量态。噪声水平从 0 逐步增加到 0.1可以直观看到纠缠态随噪声退相干、保真度下降的过程是评估算法噪声鲁棒性的通用工具。最佳实践清单技能文档归纳了六大类最佳实践值得在工程中逐条落实电路设计按目标拓扑选择合适的量子比特类型保持电路模块化、可复用将 ansatz 封装为可调用函数用描述性键标记测量如keyresult避免结果混淆在提交执行前用器件约束校验电路合法性。模拟纯态优先用态矢量模拟更高效仅当需要混合态或噪声时才用密度矩阵模拟用参数扫描替代逐点运行减少调度开销监控大系统内存态矢量规模按 2ⁿ 增长极易撑爆内存。硬件执行始终先在模拟器上验证依据校准数据挑选最优量子比特将电路优化到目标硬件的原生门集生产级运行必须配合误差缓解硬件结果昂贵取回后立即持久化保存。电路优化优先使用内建的高层 Transformer按序串联多个优化步骤形成流水线跟踪深度与门数量的削减幅度变换后必须验证结果正确性与变换前对照。噪声建模从校准数据出发构建贴近现实的噪声模型覆盖所有误差源门误差、退相干、读出误差先表征characterize再缓解mitigate保持电路浅层减少噪声累积。实验管理实验结构清晰分层数据生成、采集、分析分离借鉴 ReCirq 模式保证可复现性频繁保存中间结果对独立任务并行化用元数据完整记录实验参数与环境。常见问题排查电路对硬件而言过深使用电路优化 Transformer 降低深度查阅变换框架章节选用MergeSingleQubitGates、EjectZ、DropNegligible等优化手段。模拟内存不足从密度矩阵模拟器切换为态矢量模拟器减少量子比特数对 Clifford 电路改用 stabilizer 模拟器线性复杂度。设备校验错误通过device.metadata.nx_graph检查量子比特连通性将门分解到器件原生门集使用面向特定器件的编译工具。噪声模拟过慢密度矩阵模拟复杂度为 O(2²ⁿ)考虑减少比特数只对关键操作选择性施加噪声模型而非全电路注入。技能使用边界该技能在 AAS 中标注为critical风险等级见 catalog.json 中 cirq 条目使用时需注意仅在任务明确匹配上述范围时启用该技能输出不能替代针对具体环境的验证、测试或专家评审当必要输入、权限、安全边界或成功标准缺失时应停下来向用户确认而不是擅自假设。在 AAS 仓库中的定位与索引作为 AAS 技能目录的一员cirq 技能在仓库中有两处同步的 SKILL.md 副本skills/cirq/SKILL.md根级技能集与 plugins/agentic-awesome-skills-claude/skills/cirq/SKILL.mdClaude 插件版。元数据层面skills_index.json 与 catalog.json 将其登记为类别science、来源community、许可证 Apache-2.0、加入日期 2026-09-04并同时支持 Codex 与 Claude 两种 Agent 目标且无额外安装配置setup type 为none即安装技能包后即可直接调用。技能作者为 K-Dense Inc.触发词覆盖cirq、quantum、circuit、simulator等量子计算相关关键词方便 Agent 在匹配任务时自动检索与引用。赞分享AI 技能AI 插件【免费下载链接】agentic-awesome-skillsAAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,445 agentic skills. Includes CLI, local MCP, catalog, plugins, and Workbench.项目地址https://gitcode.com/gh_mirrors/an/agentic-awesome-skills点击查看免费下载相关推荐Cirq 量子计算实战指南从量子线路设计、噪声建模到 Google 硬件执行Cirq 量子计算实战指南从量子线路设计、噪声建模到 Google 硬件执行 Cirq 是 Google Quantum AI 开源的量子计算框架用于设计、AI 技能科研生物信息学数据科学C4 容器级架构文档技能实战基于 agentic-awesome-skills 的系统部署建模指南C4 容器级架构文档技能实战基于 agentic awesome skills 的系统部署建模指南 本文基于开源仓库 agentic awesome skilAI 技能AI 插件如何为 Tailwind CSS 提交 PRCONTRIBUTING 规范与 CI 流程详解如何为 Tailwind CSS 提交 PRCONTRIBUTING 规范与 CI 流程详解 Tailwind CSS 是当下最流行的 utility fir前端前端构建上一篇AMD Ryzen硬件调试指南3步解锁处理器隐藏性能下一篇3 步给管理面板加上 refine 实时搜索与高级过滤创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表