4 个版本
0.4.4 | 2023年3月10日 |
---|---|
0.4.3 | 2022年11月9日 |
0.4.2 | 2022年8月2日 |
#151 在 模拟
45KB
1K SLoC
QVNT
用Rust编写的高级量子计算模拟器
功能
- 能够模拟多达64个量子比特。配备4-16 Gb RAM的普通机器能够模拟26-28个量子比特,这对于几个研究案例来说已经足够了;
- 一套1-或2-量子比特操作,用于构建自己的量子电路;
- 量子操作经过测试和调试,以确保使用安全;
- 使用多线程库Rayon加速电路执行;
- 复杂的量子寄存器操作:两个寄存器的张量积以及量子比特到寄存器的别名,以简化与寄存器的交互。
QVNT解释器
关于
它是一个REPL解释器,可用于处理量子操作而无需编译代码。
安装
cargo install qvnt-i
如何
现在,您可以使用OpenQASM语言运行量子模拟器。应通过cli将*.qasm
文件传递给解释器
qvnt-i ./cirquit.qasm
|Q> :go
或通过解释器
qvnt-i
|Q> :load ./cirquit.qasm
|Q> :go
运行模拟器的另一种方式是在REPL中直接用OpenQASM语言编写电路。
qvnt-i
|Q> qreg q[4];
|Q> creg c[4];
|Q> h q;
|Q> measure q -> c;
|Q> :go
|Q> :class
:go
- 处理模拟;:class
- 从经典寄存器获取结果。
REPL是惰性的:它仅在遇到:go
时开始计算。此示例将每次显示一个数字
|Q> qreg q[4];
|Q> creg c[4];
|Q> h q;
|Q> measure q -> c;
|Q> :go
|Q> :class
|Q> :class
|Q> :class
|Q> :class
...
与这不同,重复执行:go
将每次产生不同的结果
|Q> qreg q[4];
|Q> creg c[4];
|Q> h q;
|Q> measure q -> c;
|Q> :go
|Q> :class
|Q> :go
|Q> :class
|Q> :go
|Q> :class
...
命令
所有命令都应该以 :
开头。否则,REPL 会将行视为 OpenQASM 源代码。命令的完整列表
loop N Repeat following commands N time
tags TAG Create TAG with current state
goto TAG Swap current state to TAG's state
class Show state of classical registers
polar Show state of quantum registers in polar form
prob Show state of quantum registers in probability form
ops Snow current quantum operations queue
go Start modulating quantum computer
reset Clear current state
names Show aliases for quantum and classical bits
load FILE Load state from FILE according to QASM language script
help Show this reference
quit Exit interpreter
许可协议
根据 MIT 许可协议 许可
依赖项
~13–21MB
~277K SLoC