QSL - Quantum Search Language: Full-stack quantum computing framework with simulator, algorithms (QFT/Shor/QAOA/VQE), QML, hardware backends (IBM/AWS), AI scientist, and self-evolving meta-system
Project description
✨ 特性总览
一个 全栈量子计算框架,从声明式量子搜索到AI驱动的量子科学家:
| 层级 | 模块 | 功能 |
|---|---|---|
| 1️⃣ | 量子门 & 算法 | 50+ 量子门 · QFT · Shor 量子相位估计 · QAOA · VQE (parameter-shift) |
| 2️⃣ | 量子机器学习 | 向量化 QuantumLayer · QNN · 量子核 · QSVM · 可微 QGAN (Straight-Through) |
| 3️⃣ | 后端 & 编译器 | 高性能模拟器 · IBM/AWS 真机 · 门融合 · 布局映射 · 零噪声外推 |
| 4️⃣ | AI 量子科学家 | 自然语言→量子程序 · 自主智能体 · 假设检验 · 自动发现 |
| 5️⃣ | 元系统 & 网络 | 遗传电路搜索 · 量子定理证明 (Grover) · 分布式节点 · 量子区块链 |
🆕 0.6.0 新特性
- QuantumCircuit 电路层:参数化门 ·
decompose()受控门递归分解 ·transpile()多级优化 ·control()/power()/inverse()电路变换 · 40+ 标准门 - OpenQASM 互通:QASM 2.0 导入导出 · QASM 3.0 导出
- 跨框架转换器:
to_qiskit()/from_qiskit()/to_cirq() - matplotlib 可视化:电路图 · Bloch 球 · 城市图 · Q 球 · 直方图
- 噪声模拟:
NoiseModel+execute_density()密度矩阵含噪演化 · cupy GPU 后端开关 ·expectation()免采样期望值 - LLMProvider 多模型:OpenAI / DeepSeek / Kimi / 通义 / Ollama · 规则路由表 + 中文参数抽取 + 缺参追问
- 自动验证器:智能体结果自动验证 · 失败自动重规划 · 结构化 AgentReport
- 10 个中文演示:覆盖 Grover / Shor / VQE / QAOA / QML 端到端示例
AI 功能开箱即用(零 SDK 时自动回退规则引擎),推荐 DeepSeek 或 Kimi:
# 任选其一设置 API Key
export DEEPSEEK_API_KEY="sk-..." # DeepSeek
export MOONSHOT_API_KEY="sk-..." # Kimi (Moonshot)
# 显式指定提供商(可选,默认自动探测)
export QSL_LLM=deepseek # 或 kimi / openai / qwen / ollama
export QSL_LLM_MODEL=deepseek-chat # 可选,覆盖默认模型
详见 CHANGELOG.md。
🎯 5 秒上手
from qsl import QSLProgram, compile_and_run
# 声明你想找什么:解一个 3-SAT 问题
program = QSLProgram(
name="3-SAT",
n_qubits=3,
premises=["x0 | ~x1", "x1 | x2", "~x0 | ~x2"],
shots=10
)
result = compile_and_run(program)
print(result.get_solutions()) # → [3, 4] 即 |011⟩ 和 |100⟩
不需要懂量子力学。 框架会自动编译最优量子电路并执行。
📦 核心功能演示
🔢 Shor 算法 — 整数因子分解
from qsl import ShorSolver
# 量子相位估计实现周期查找 (支持超过旧12-qubit阈值)
solver = ShorSolver(21, max_control_qubits=12)
factors = solver.factor()
print(f"21 = {' × '.join(map(str, factors))}") # → 21 = 3 × 7
🧬 VQE — 分子基态能量计算
from qsl import VQE
import numpy as np
# 计算氢分子 H₂ 基态能量 (parameter-shift 梯度)
vqe = VQE(4, VQE.h2_hamiltonian(), n_layers=2)
energy, ground_state = vqe.optimize(maxiter=100)
print(f"H₂ ground energy: {energy:.4f} Hartree")
📊 QAOA — 组合优化 (MaxCut / 投资组合)
from qsl import QAOA
import numpy as np
# MaxCut 问题
adj = np.array([[0,1,0],[1,0,1],[0,1,0]])
Q = QAOA.maxcut_cost_matrix(adj)
qaoa = QAOA(3, Q, p=2, encoding="qubo")
params, cost = qaoa.optimize()
bitstring, value = qaoa.get_optimal_bitstring()
🔍 Grover — 布尔表达式量子搜索
from qsl import GroverSearch, solve_sat
from qsl.core.parser import parse_bool
# 直接从布尔表达式构建量子 Oracle (无经典枚举!)
expr = parse_bool("x0 & x1 & ~x2")
grover = GroverSearch(n_qubits=4, verbose=False)
result = grover.search_expressions([expr], num_solutions=1)
🤖 量子机器学习层
from qsl import QuantumLayer
import torch
# 完全向量化的 PyTorch 层 (无 Python for 循环)
layer = QuantumLayer(n_qubits=4, n_features=4, encoding="angle")
x = torch.randn(8, 4) # batch of 8
out = layer(x) # shape: (8, 4) — 可端到端训练
🛠 安装
# 核心 (仅依赖 numpy, ~100KB)
pip install qsl-quantum
# 量子算法 (scipy)
pip install qsl-quantum[algorithms]
# 量子机器学习 (torch, scikit-learn)
pip install qsl-quantum[qml]
# 真实量子硬件
pip install qsl-quantum[ibm] # IBM Quantum
pip install qsl-quantum[aws] # AWS Braket
# 全部依赖
pip install qsl-quantum[full]
⚠️ 导入时会提示未安装 SDK 的后端不可用,本地模拟器始终可用。
📁 项目结构
qsl/
├── core/ 量子态 · 布尔解析器 · Grover (真正量子Oracle)
├── compiler/ DSL · 编译器 · 门融合/交换 · 错误缓解
├── backends/ 模拟器 · IBM · AWS Braket · 自动选择
├── algorithms/ QFT · Shor (量子相位估计) · QAOA · VQE (parameter-shift)
├── qml/ QuantumLayer (向量化) · QNN · QSVM · QGAN (可微)
├── ai/ LLM 翻译器 · 量子智能体 · 假设检验
├── pipelines/ 药物发现 · 密码分析 · 投资组合优化 (真正QAOA)
├── meta/ 遗传电路搜索 · 量子定理证明 (Grover)
├── network/ 分布式节点 · 量子区块链
└── utils/ 异常体系 · 输入验证
tests/ 398 个单元测试
✅ 运行测试
pip install -e ".[dev]"
pytest tests/ -v
# ======= 398 passed in ~9s =======
🔬 v0.5.0 重大修复 (相比 v0.4.1)
| 问题 | 修复 |
|---|---|
| Grover Oracle 经典全枚举 2ⁿ 态 | ✅ 从布尔表达式直接构建量子电路 |
| Shor >12 qubit 退回经典 | ✅ 正确量子相位估计 + 逆QFT |
| QuantumLayer Python for 循环 | ✅ 全部改为 numpy/torch 批量运算 |
| QGAN torch.bernoulli 不可微 | ✅ Straight-Through Estimator |
| DensityMatrix 转 list-of-lists | ✅ 全程保持 numpy ndarray |
| 药物发现随机哈密顿量 | ✅ 支持 OpenFermion+PySCF 真实计算 |
| IBM 后端经典枚举Oracle | ✅ 量子Oracle电路构建 |
| 投资组合经典线性求解 | ✅ 逐点运行QAOA生成前沿 |
| VQE 有限差分梯度 O(n_params×2ⁿ) | ✅ Parameter-shift 规则 |
| 定理证明器经典枚举 | ✅ Grover 量子搜索证明空间 |
| QFT apply/matrix 不一致 | ✅ 受控相位门逻辑修正 |
| DensityMatrix amplitude damping 仅作用于 qubit 0 | ✅ 所有qubit循环施加 |
| QAOA Ising/QUBO 编码不匹配 | ✅ 统一变量转换 |
| QuantumLayer CNOT 优先级bug | ✅ 运算符逻辑修正 |
| 解析器不支持下划线开头变量 | ✅ _ 标识符支持 |
| kron 遮蔽 numpy.kron | ✅ 重命名为 kronecker_prod |
| VQE 非H₂分子静默替换 | ✅ 明确报错提示 |
| IBM JobStatus 路径问题 | ✅ try/except 兼容Qiskit 1.0+ |
👤 作者
宋梓铭 · Gitee · 15011462616@163.com
📄 许可证
MIT License — 可自由使用、修改、分发。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qsl_quantum-0.6.0.tar.gz.
File metadata
- Download URL: qsl_quantum-0.6.0.tar.gz
- Upload date:
- Size: 243.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba4fe827b61b8f9b4e15cc5ac2e7a36bc3bc2a6aedb78c4e8f6b51294c7aed8f
|
|
| MD5 |
3f6f96ef30b803b5811ae63a30e8374a
|
|
| BLAKE2b-256 |
e462d6c46515ab7e37c366338639a69e3035e4f93ffd717c7cf521fe32d2abd6
|
File details
Details for the file qsl_quantum-0.6.0-py3-none-any.whl.
File metadata
- Download URL: qsl_quantum-0.6.0-py3-none-any.whl
- Upload date:
- Size: 209.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbfc9fe23b7b98862925d655abfda52201af3547f2fab1bf59aa91e71b02dfb3
|
|
| MD5 |
36ef4a9d8a0aaf8caa63da8dcf6491a5
|
|
| BLAKE2b-256 |
845cf8f588f203f9478fa5d68a89c3bbda24b15b6c1cf34733e549f83bc1c709
|