模拟小规模量子计算的软件包
QCircuits的Python项目详细描述
在www.awebb.info/qcircuits/index.html提供完整的文档。
qcircuits是一个python包,用于基于 quantum circuit model。 它被设计成一个简单、轻量级的界面 易于使用,特别是对于那些刚接触量子计算的人。
安装
使用pip安装:
pip install qcircuits
或者从这里的来源。
示例用法:量子隐形传态
量子电路:
代码:
import qcircuits as qc # Instantiating the operators we will need CNOT = qc.CNOT() H = qc.Hadamard() X = qc.PauliX() Z = qc.PauliZ() # Alice's hidden state, that she wishes to transport to Bob. alice = qc.qubit(theta=1, phi=1, global_phase=0.2) # A previously prepared Bell state, with one qubit owned by # alice, and another by Bob, now physically separated. bell_state = qc.bell_state(0, 0) # The state vector for the whole system. phi = alice * bell_state # Alice applies a CNOT gate to her two qubit, and then # a Hadamard gate to her private qubit. phi = CNOT(phi, qubit_indices=[0, 1]) phi = H(phi, qubit_indices=[0]) # Alice measures the first two bits, and transmits the classical # bits to Bob. # The only uncollapsed part of the state vector is Bob's. M1, M2 = phi.measure(qubit_indices=[0, 1], remove=True) # Apply X and/or Z gates to third qubit depending on measurements if M2: print('First bit 1, applying X\n') phi = X(phi) if M1: print('Second bit 1, applying Z\n') phi = Z(phi) print('Original state:', alice) print('\nTeleported state:', phi)