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