QIP:Rust中的量子计算模拟
量子计算库利用图形构建来构建有效的量子电路仿真。对于借口模型的量子计算,Rust是一种很棒的语言,因为借位检查器与无克隆定理非常相似。
请参阅Github仓库的examples目录中的所有示例。
范例(CSWAP)
这是一个小电路的示例,其中两组寄存器在第三个寄存器之间交换。该电路非常小,只有三个操作加上一个测量值,因此,与之相比,样板看起来会很大,但是这种设置能够在电路变大时轻松、安全地构造电路。
use qip::*;
// Make a new circuit builder.
let mut b = OpBuilder::new();
// Make three registers of sizes 1, 3, 3 (7 qubits total).
let q = b.qubit(); // Same as b.register(1)?;
let ra = b.register(3)?;
let rb = b.register(3)?;
// We will want to feed in some inputs later, hang on to the handles
// so we don't need to actually remember any indices.
let a_handle = ra.handle();
let b_handle = rb.handle();
// Define circuit
// First apply an H to r
let q = b.hadamard(q);
// Then swap ra and rb, con