deepquantum
deepquantum copied to clipboard
Support simulations of distributed state vectors
- Add
DistributedQubitStateandDistributedQubitCircuit - Support
forwardandmeasureforDistributedQubitCircuit
For example:
data = torch.randn(10)
cir = dq.DistritubutedQubitCircuit(4, reupload=True)
cir.rxlayer(encode=True)
cir.rylayer(encode=True)
cir.rzlayer(encode=True)
cir.hlayer()
cir.cnot_ring()
cir.toffoli(0,1,2)
cir.fredkin(2,1,0)
cir.rx(0, controls=[1,2,3], encode=True)
cir.ry(1, controls=[0,2,3], encode=True)
cir.rz(2, controls=[0,1,3], encode=True)
cir.rxx([0,1], controls=[2,3], encode=True)
cir.ryy([1,2], controls=[0,3], encode=True)
cir.rzz([2,3], controls=[0,1], encode=True)
cir.rxy([3,0], controls=[1,2], encode=True)
state = cir(data=data).amps
print(state)
cir.measure(with_prob=True, wires=[0,2])