3 个不稳定版本
| 0.2.1 | 2024 年 7 月 24 日 |
|---|---|
| 0.2.0 | 2024 年 7 月 24 日 |
| 0.1.0 | 2024 年 7 月 4 日 |
448 在 模拟 类别中
每月 242 次下载
140KB
2.5K SLoC
qollage
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