#circuit #qoqo #quantum-simulation #typst #operations #toolkit #save

qollage

HQS Quantum Simulations 开发的 qoqo 量子计算工具包的可视化工具

3 个不稳定版本

0.2.1 2024 年 7 月 24 日
0.2.0 2024 年 7 月 24 日
0.1.0 2024 年 7 月 4 日

448模拟 类别中

Download history 98/week @ 2024-06-30 5/week @ 2024-07-07 1/week @ 2024-07-14 213/week @ 2024-07-21 29/week @ 2024-07-28

每月 242 次下载

Apache-2.0

140KB
2.5K SLoC

qollage

Documentation Status GitHub Workflow Status PyPI PyPI - Format Crates.io

HQS Quantum Simulations 开发的 qoqo 量子工具包的绘图工具。

Qollage 提供了 save_circuit 和 draw_circuit 函数,允许用户将 qoqo 电路转换为 png 图片,并保存或显示。
这两个函数将在当前目录下创建一个名为 .qollage 的缓存文件夹,其中包含字体和 Typst 库。您可以自由删除它,但下次使用时将重新下载文件。
它还提供了 circuit_to_typst_str 函数,可以用来生成可以在 Typst 解释器中粘贴的字符串,以便进一步编辑电路。
最新版的 qoqo 门可能尚未在 qollage 中实现。包含不支持的操作的电路无法绘制,并将导致错误。
如果门有一个字符串参数,它将被打印在一个 Typst 数学表达式中,并且 Typst 符号将被替换。
字母数字表达式将被预处理,如果它不代表任何 Typst 符号,它将被周围的引号包围以转义。
qoqo.operations.RotateX(0, "theta") 将格式化为 θ
qoqo.operations.RotateX(0, "param") 将用引号转义并保持不变。
qoqo.operations.RotateX(0, "\"param\"") 不会被接受,因为额外的引号会干扰对 param 进行转义时添加的引号。
有关更多信息,请参阅 文档
以下是 符号列表,但请注意,并非所有符号都受 所用字体 支持。

示例

在 jupyter 单元中

from qoqo import Circuit, operations as ops
from qollage import draw_circuit

circuit = Circuit()
circuit += ops.DefinitionBit("ro", 2, True)
circuit += ops.Hadamard(0)
circuit += ops.CNOT(0, 1)
circuit += ops.PauliX(1)
circuit += ops.RotateX(0, "theta")
circuit += ops.MeasureQubit(0, "ro", 0)
circuit += ops.MeasureQubit(1, "ro", 1)

draw_circuit(circuit)

一般说明

此软件仍处于测试阶段。功能和文档尚不完整,可能会发生破坏性更改。

贡献

我们欢迎对该项目的贡献。如果您想贡献代码,请参阅 CONTRIBUTE.md 以了解我们的代码贡献指南。

依赖项

~74MB
~1M SLoC