GHelper终极指南:华硕笔记本性能管家完全使用教程
2026/6/5 22:19:21
# 导入必要库 from qiskit import QuantumCircuit, execute, Aer # 创建包含两个量子比特和两个经典寄存器的电路 qc = QuantumCircuit(2, 2) # 应用 H 门创建叠加态 qc.h(0) # 应用 CNOT 门创建纠缠 qc.cx(0, 1) # 测量两个量子比特 qc.measure([0,1], [0,1]) # 使用模拟器执行电路 simulator = Aer.get_backend('qasm_simulator') result = execute(qc, simulator, shots=1000).result() counts = result.get_counts(qc) print(counts) # 输出应接近 '00' 和 '11' 各占50%| 评估类型 | 占比 | 说明 |
|---|---|---|
| 编程作业 | 40% | 实现指定量子电路与算法 |
| 期中项目 | 30% | 设计并演示小型量子应用 |
| 期末考试 | 30% | 理论与代码分析结合 |
| 状态 | α (|0⟩系数) | β (|1⟩系数) | 测量概率(|0⟩) |
|---|---|---|---|
| |0⟩ | 1 | 0 | 100% |
| H|0⟩ | √2/2 | √2/2 | 50% |
from qiskit import QuantumCircuit, transpile from qiskit.providers.basic_provider import BasicSimulator qc = QuantumCircuit(1) qc.h(0) # 应用Hadamard门,创建叠加态 qc.measure_all() # 编译并运行 simulator = BasicSimulator() compiled_circuit = transpile(qc, simulator) job = simulator.run(compiled_circuit, shots=1000) result = job.result().get_counts()该代码通过Hadamard门将初始态|0⟩转换为等幅叠加态(|0⟩+|1⟩)/√2,经1000次测量后,|0⟩与|1⟩出现概率均接近50%,直观展现叠加特性。from qiskit import QuantumCircuit from qiskit.visualization import circuit_drawer qc = QuantumCircuit(2) qc.h(0) # 对第一个量子比特应用Hadamard门 qc.cx(0, 1) # CNOT门,控制位为q0,目标位为q1 print(circuit_drawer(qc, output='text'))上述代码创建了一个包含Hadamard门和CNOT门的简单电路,用于生成贝尔态。通过circuit_drawer函数以文本形式输出电路结构,清晰展示门的时序与作用对象。from qiskit import QuantumCircuit, execute, Aer # 创建2量子比特电路 qc = QuantumCircuit(2, 2) qc.h(0) # 应用Hadamard门 qc.cx(0, 1) # CNOT门生成贝尔态 qc.measure([0,1], [0,1]) # 测量两个量子比特 # 模拟执行 simulator = Aer.get_backend('qasm_simulator') result = execute(qc, simulator, shots=1000).result() counts = result.get_counts(qc) print(counts)上述代码首先构建贝尔态 \(|\Phi^+\rangle = \frac{1}{\sqrt{2}}(|00\rangle + |11\rangle)\),测量结果应集中在 "00" 和 "11",体现强关联性。python -m venv qiskit-env source qiskit-env/bin/activate # Linux/Mac pip install qiskit[qasm]上述命令创建独立运行环境并安装 Qiskit 及其对 OpenQASM 的支持模块,避免包冲突。from qiskit import QuantumCircuit, transpile from qiskit.providers.basic_provider import BasicSimulator qc = QuantumCircuit(2) qc.h(0) qc.cx(0, 1) compiled_qc = transpile(qc, BasicSimulator()) print(compiled_qc.depth())该程序构建一个贝尔态电路,经编译后输出电路深度,用于确认核心组件可正常调用。# 应用Hadamard门创建叠加态 from qiskit import QuantumCircuit qc = QuantumCircuit(1) qc.h(0) # 将|0>变为 (|0>+|1>)/√2该代码通过H门将量子比特初始化为叠加态,是实现量子并行性的基础步骤。Hadamard变换使系统同时处于多种状态,为后续的并行运算提供支持。# 使用Qiskit创建叠加态 from qiskit import QuantumCircuit, execute, Aer qc = QuantumCircuit(1, 1) qc.h(0) # 应用H门,生成叠加态 qc.measure(0, 0) # 测量量子比特 print(qc.draw())该代码构建一个单量子比特电路,通过Hadamard门使量子比特进入 |0⟩ 和 |1⟩ 的等概率叠加态。执行后可在模拟器中观察到约50%的测量结果为0或1,直观体现量子随机性。Aer模拟器提供高效本地运行环境,适合教学场景。def grover_search(oracle, n_qubits): # 初始化叠加态 state = hadamard(n_qubits) # 迭代应用Oracle与扩散算子 for _ in range(int(math.pi * 2**n_qubits / 4)): state = oracle(state) state = diffusion(state) return measure(state)上述代码展示了Grover算法的基本流程:通过Hadamard门创建均匀叠加态,反复调用Oracle标记目标状态,并使用扩散算子放大其振幅,最终实现平方级加速搜索。import torch from torch import nn class FederatedNet(nn.Module): def __init__(self): super().__init__() self.fc1 = nn.Linear(784, 128) # 输入为展平的手写字符图像 self.fc2 = nn.Linear(128, 10) # 输出为10类分类结果 self.dropout = nn.Dropout(0.5) def forward(self, x): x = torch.relu(self.fc1(x)) x = self.dropout(x) x = torch.softmax(self.fc2(x), dim=1) return x该模型用于联邦学习中的本地训练,采用Dropout提升泛化能力,Softmax确保输出概率分布。输入维度784对应28×28像素图像,适用于MNIST数据集。from qiskit import IBMQ IBMQ.save_account('YOUR_API_TOKEN') # 替换为个人API密钥 provider = IBMQ.load_account()上述代码将本地账户注册至Qiskit环境,save_account持久化存储密钥,load_account用于后续会话加载。成功连接后,可通过provider获取可用量子设备列表。| 设备名称 | 量子比特数 | 连接方式 |
|---|---|---|
| ibmq_quito | 5 | 超导 |
| ibm_nairobi | 7 | 超导 |
import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 10, 100) y = np.sin(x) plt.plot(x, y) plt.title("Sine Wave") plt.xlabel("x") plt.ylabel("sin(x)") plt.grid() plt.show()该代码绘制正弦曲线,linspace生成均匀分布的 x 值,np.sin计算对应正弦值,plt.plot绘图,grid()添加网格辅助观察。ipywidgets创建滑动条调节参数from qiskit import QuantumCircuit, execute, Aer qc = QuantumCircuit(2) qc.h(0) # 对第一个量子比特应用H门,生成叠加态 qc.cx(0, 1) # CNOT门,生成纠缠态 print(qc.draw())该电路先将第一个量子比特置于叠加态,再通过CNOT门使其与第二个量子比特纠缠。模拟执行后可观察到|00⟩和|11⟩的联合概率各占50%,直观展示量子纠缠现象。// 用户答题后更新积分 function updateScore(correct) { const points = correct ? 10 : -2; userScore += points; showFeedback(correct); // 显示动画反馈 updateProgressBar(userScore); }该函数根据答题正误动态调整用户积分,并触发视觉反馈。加分机制鼓励尝试,轻微扣分则引导反思,形成正向学习循环。
# 创建贝尔态 |Φ⁺⟩ from qiskit import QuantumCircuit, execute, Aer qc = QuantumCircuit(2) qc.h(0) # 应用H门 qc.cx(0, 1) # CNOT门生成纠缠 print(qc.draw())| 工具 | 用途 | 适用年级 |
|---|---|---|
| Qiskit | 量子电路设计 | 本科高年级 |
| Cirq | 谷歌量子硬件接口 | 研究生 |
教学流程图:
理论讲授 → 编码实践 → 模拟验证 → 真机运行 → 结果分析