当前位置: 首页>>代码示例>>Python>>正文


Python qiskit.ClassicalRegister方法代码示例

本文整理汇总了Python中qiskit.ClassicalRegister方法的典型用法代码示例。如果您正苦于以下问题:Python qiskit.ClassicalRegister方法的具体用法?Python qiskit.ClassicalRegister怎么用?Python qiskit.ClassicalRegister使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在qiskit的用法示例。


在下文中一共展示了qiskit.ClassicalRegister方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: paddle_after_measurement

# 需要导入模块: import qiskit [as 别名]
# 或者: from qiskit import ClassicalRegister [as 别名]
def paddle_after_measurement(self, circuit, qubit_num, shot_num):
        self.update()
        self.display_statevector(qubit_num)

        backend_sv_sim = BasicAer.get_backend('qasm_simulator')
        cr = ClassicalRegister(qubit_num)
        measure_circuit = deepcopy(circuit)  # make a copy of circuit
        measure_circuit.add_register(cr)    # add classical registers for measurement readout
        measure_circuit.measure(measure_circuit.qregs[0], measure_circuit.cregs[0])
        job_sim = execute(measure_circuit, backend_sv_sim, shots=shot_num)
        result_sim = job_sim.result()
        counts = result_sim.get_counts(circuit)

        self.paddle.set_alpha(255)
        self.image.blit(self.paddle, (0, int(list(counts.keys())[0], 2) * self.block_size))

        return int(list(counts.keys())[0], 2) 
开发者ID:HuangJunye,项目名称:QPong,代码行数:19,代码来源:statevector_grid.py

示例2: quantum_fourier_transform_circuit

# 需要导入模块: import qiskit [as 别名]
# 或者: from qiskit import ClassicalRegister [as 别名]
def quantum_fourier_transform_circuit(num_qubits):
    """Create quantum fourier transform circuit.

    Args:
        num_qubits (int): Number of qubits

    Returns:
        QuantumCircuit: QFT circuit
    """
    qreg = QuantumRegister(num_qubits)
    creg = ClassicalRegister(num_qubits)

    circuit = QuantumCircuit(qreg, creg, name="qft")

    n = len(qreg)

    for i in range(n):
        for j in range(i):
            circuit.cu1(math.pi/float(2**(i-j)), qreg[i], qreg[j])
        circuit.h(qreg[i])
    circuit.measure(qreg, creg)
    return circuit 
开发者ID:Qiskit,项目名称:qiskit-aer,代码行数:24,代码来源:tools.py

示例3: test_amplitude_damping_error

# 需要导入模块: import qiskit [as 别名]
# 或者: from qiskit import ClassicalRegister [as 别名]
def test_amplitude_damping_error(self):
        """Test amplitude damping error damps to correct state"""
        qr = QuantumRegister(1, 'qr')
        cr = ClassicalRegister(1, 'cr')
        circuit = QuantumCircuit(qr, cr)
        circuit.x(qr)  # prepare + state
        for _ in range(30):
            # Add noisy identities
            circuit.barrier(qr)
            circuit.i(qr)
        circuit.barrier(qr)
        circuit.measure(qr, cr)
        shots = 4000
        backend = QasmSimulator()
        # test noise model
        error = amplitude_damping_error(0.75, 0.25)
        noise_model = NoiseModel()
        noise_model.add_all_qubit_quantum_error(error, 'id')
        # Execute
        target = {'0x0': 3 * shots / 4, '0x1': shots / 4}
        circuit = transpile(circuit, basis_gates=noise_model.basis_gates)
        qobj = assemble([circuit], backend, shots=shots)
        result = backend.run(qobj, noise_model=noise_model).result()
        self.assertSuccess(result)
        self.compare_counts(result, [circuit], [target], delta=0.05 * shots) 
开发者ID:Qiskit,项目名称:qiskit-aer,代码行数:27,代码来源:test_noise_model.py

示例4: create_statevector_circuit

# 需要导入模块: import qiskit [as 别名]
# 或者: from qiskit import ClassicalRegister [as 别名]
def create_statevector_circuit(self):
        """ Creates a simple circuit for running in the statevector """
        qr = QuantumRegister(10)
        cr = ClassicalRegister(10)
        circuit = QuantumCircuit(qr, cr)
        circuit.u3(0.1, 0.1, 0.1, qr[0])
        circuit.barrier(qr)
        circuit.x(qr[0])
        circuit.barrier(qr)
        circuit.x(qr[1])
        circuit.barrier(qr)
        circuit.x(qr[0])
        circuit.barrier(qr)
        circuit.u3(0.1, 0.1, 0.1, qr[0])
        circuit.barrier(qr)
        circuit.measure(qr, cr)
        return circuit 
开发者ID:Qiskit,项目名称:qiskit-aer,代码行数:19,代码来源:qasm_fusion.py

示例5: create_circuit_for_truncate

# 需要导入模块: import qiskit [as 别名]
# 或者: from qiskit import ClassicalRegister [as 别名]
def create_circuit_for_truncate(self):
        qr = QuantumRegister(4)
        cr = ClassicalRegister(4)
        circuit = QuantumCircuit(qr, cr)
        circuit.u3(0.1,0.1,0.1,qr[1])
        circuit.barrier(qr)
        circuit.x(qr[2])
        circuit.barrier(qr)
        circuit.x(qr[1])
        circuit.barrier(qr)
        circuit.x(qr[3])
        circuit.barrier(qr)
        circuit.u3(0.1,0.1,0.1,qr[0])
        circuit.barrier(qr)
        circuit.measure(qr[0], cr[0])
        circuit.measure(qr[1], cr[1])
        return circuit 
开发者ID:Qiskit,项目名称:qiskit-aer,代码行数:19,代码来源:qasm_truncate.py

示例6: measure_circuits_nondeterministic

# 需要导入模块: import qiskit [as 别名]
# 或者: from qiskit import ClassicalRegister [as 别名]
def measure_circuits_nondeterministic(allow_sampling=True):
    """"Measure test circuits with non-deterministic count output."""

    circuits = []
    qr = QuantumRegister(2)
    cr = ClassicalRegister(2)

    # Measure |++> state (sampled)
    circuit = QuantumCircuit(qr, cr)
    circuit.h(qr)
    circuit.barrier(qr)
    circuit.measure(qr, cr)
    if not allow_sampling:
        circuit.barrier(qr)
        circuit.i(qr)
    circuits.append(circuit)

    return circuits 
开发者ID:Qiskit,项目名称:qiskit-aer,代码行数:20,代码来源:ref_measure.py

示例7: pauli_measure_error_circuits

# 需要导入模块: import qiskit [as 别名]
# 或者: from qiskit import ClassicalRegister [as 别名]
def pauli_measure_error_circuits():
    """Local Pauli measure error noise model circuits"""
    circuits = []

    qr = QuantumRegister(2, 'qr')
    cr = ClassicalRegister(2, 'cr')

    # 25% all-qubit Pauli error on measure
    circuit = QuantumCircuit(qr, cr)
    circuit.measure(qr, cr)
    circuits.append(circuit)

    # 25% local Pauli error on measure of qubit 1
    circuit = QuantumCircuit(qr, cr)
    circuit.measure(qr, cr)
    circuits.append(circuit)

    # 25 % non-local Pauli error on qubit 1 for measure of qubit-1
    circuit = QuantumCircuit(qr, cr)
    circuit.measure(qr, cr)
    circuits.append(circuit)

    return circuits 
开发者ID:Qiskit,项目名称:qiskit-aer,代码行数:25,代码来源:ref_pauli_noise.py

示例8: h_gate_circuits_deterministic

# 需要导入模块: import qiskit [as 别名]
# 或者: from qiskit import ClassicalRegister [as 别名]
def h_gate_circuits_deterministic(final_measure=True):
    """H-gate test circuits with deterministic counts."""
    circuits = []
    qr = QuantumRegister(1)
    if final_measure:
        cr = ClassicalRegister(1)
        regs = (qr, cr)
    else:
        regs = (qr, )
    # HH=I
    circuit = QuantumCircuit(*regs)
    circuit.h(qr)
    circuit.barrier(qr)
    circuit.h(qr)
    if final_measure:
        circuit.barrier(qr)
        circuit.measure(qr, cr)
    circuits.append(circuit)
    return circuits 
开发者ID:Qiskit,项目名称:qiskit-aer,代码行数:21,代码来源:ref_1q_clifford.py

示例9: h_gate_circuits_nondeterministic

# 需要导入模块: import qiskit [as 别名]
# 或者: from qiskit import ClassicalRegister [as 别名]
def h_gate_circuits_nondeterministic(final_measure=True):
    """X-gate test circuits with non-deterministic counts."""
    circuits = []
    qr = QuantumRegister(1)
    if final_measure:
        cr = ClassicalRegister(1)
        regs = (qr, cr)
    else:
        regs = (qr, )
    # H
    circuit = QuantumCircuit(*regs)
    circuit.h(qr)
    if final_measure:
        circuit.barrier(qr)
        circuit.measure(qr, cr)
    circuits.append(circuit)
    return circuits 
开发者ID:Qiskit,项目名称:qiskit-aer,代码行数:19,代码来源:ref_1q_clifford.py

示例10: kraus_gate_error_circuits

# 需要导入模块: import qiskit [as 别名]
# 或者: from qiskit import ClassicalRegister [as 别名]
def kraus_gate_error_circuits():
    """Kraus gate error noise model circuits"""
    circuits = []

    # Repeated amplitude damping to diagonal state
    qr = QuantumRegister(1, 'qr')
    cr = ClassicalRegister(1, 'cr')
    circuit = QuantumCircuit(qr, cr)
    circuit.x(qr)  # prepare + state
    for _ in range(30):
        # Add noisy identities
        circuit.barrier(qr)
        circuit.i(qr)
    circuit.barrier(qr)
    circuit.measure(qr, cr)
    circuits.append(circuit)

    return circuits 
开发者ID:Qiskit,项目名称:qiskit-aer,代码行数:20,代码来源:ref_kraus_noise.py

示例11: unitary_random_gate_circuits_nondeterministic

# 需要导入模块: import qiskit [as 别名]
# 或者: from qiskit import ClassicalRegister [as 别名]
def unitary_random_gate_circuits_nondeterministic(final_measure=True):
    """Unitary gate test circuits with random unitary gate and nondeterministic count output."""
    # random_unitary seed = nq
    circuits = []
    for n in range(1, 5):
        qr = QuantumRegister(n, 'qr')
        if final_measure:
            cr = ClassicalRegister(n, 'cr')
            regs = (qr, cr)
        else:
            regs = (qr, )

        circuit = QuantumCircuit(*regs)
        circuit.unitary(random_unitary(2 ** n, seed=n), list(range(n)))
        if final_measure:
            circuit.barrier(qr)
            circuit.measure(qr, cr)
        circuits.append(circuit)

    return circuits 
开发者ID:Qiskit,项目名称:qiskit-aer,代码行数:22,代码来源:ref_unitary_gate.py

示例12: test_change_qobj_after_compile

# 需要导入模块: import qiskit [as 别名]
# 或者: from qiskit import ClassicalRegister [as 别名]
def test_change_qobj_after_compile(self):
        """Test modifying Qobj parameters after compile."""
        qr = QuantumRegister(3)
        cr = ClassicalRegister(3)
        qc1 = QuantumCircuit(qr, cr)
        qc2 = QuantumCircuit(qr, cr)
        qc1.h(qr[0])
        qc1.cx(qr[0], qr[1])
        qc1.cx(qr[0], qr[2])
        qc2.h(qr)
        qc1.measure(qr, cr)
        qc2.measure(qr, cr)
        circuits = [qc1, qc2]
        qobj1 = assemble(circuits, shots=1024, seed=88)
        qobj1.experiments[0].config.shots = 50
        qobj1.experiments[1].config.shots = 1
        self.assertTrue(qobj1.experiments[0].config.shots == 50)
        self.assertTrue(qobj1.experiments[1].config.shots == 1)
        self.assertTrue(qobj1.config.shots == 1024) 
开发者ID:Qiskit,项目名称:qiskit-terra,代码行数:21,代码来源:test_qobj.py

示例13: test_text_measure_cregbundle

# 需要导入模块: import qiskit [as 别名]
# 或者: from qiskit import ClassicalRegister [as 别名]
def test_text_measure_cregbundle(self):
        """ The measure operator, using 3-bit-length registers with cregbundle=True. """
        expected = '\n'.join(["        ┌─┐      ",
                              "q_0: |0>┤M├──────",
                              "        └╥┘┌─┐   ",
                              "q_1: |0>─╫─┤M├───",
                              "         ║ └╥┘┌─┐",
                              "q_2: |0>─╫──╫─┤M├",
                              "         ║  ║ └╥┘",
                              " c: 0 3/═╩══╩══╩═",
                              "         0  1  2 "])

        qr = QuantumRegister(3, 'q')
        cr = ClassicalRegister(3, 'c')
        circuit = QuantumCircuit(qr, cr)
        circuit.measure(qr, cr)
        self.assertEqual(str(_text_circuit_drawer(circuit, cregbundle=True)), expected) 
开发者ID:Qiskit,项目名称:qiskit-terra,代码行数:19,代码来源:test_circuit_text_drawer.py

示例14: test_text_measure_cregbundle_2

# 需要导入模块: import qiskit [as 别名]
# 或者: from qiskit import ClassicalRegister [as 别名]
def test_text_measure_cregbundle_2(self):
        """ The measure operator, using 2 classical registers with cregbundle=True. """
        expected = '\n'.join(["        ┌─┐   ",
                              "q_0: |0>┤M├───",
                              "        └╥┘┌─┐",
                              "q_1: |0>─╫─┤M├",
                              "         ║ └╥┘",
                              "cA: 0 1/═╩══╬═",
                              "         0  ║ ",
                              "cB: 0 1/════╩═",
                              "            0 "])

        qr = QuantumRegister(2, 'q')
        cr_a = ClassicalRegister(1, 'cA')
        cr_b = ClassicalRegister(1, 'cB')
        circuit = QuantumCircuit(qr, cr_a, cr_b)
        circuit.measure(qr[0], cr_a[0])
        circuit.measure(qr[1], cr_b[0])
        self.assertEqual(str(_text_circuit_drawer(circuit, cregbundle=True)), expected) 
开发者ID:Qiskit,项目名称:qiskit-terra,代码行数:21,代码来源:test_circuit_text_drawer.py

示例15: test_text_measure_1_reverse_bits

# 需要导入模块: import qiskit [as 别名]
# 或者: from qiskit import ClassicalRegister [as 别名]
def test_text_measure_1_reverse_bits(self):
        """ The measure operator, using 3-bit-length registers, with reverse_bits """
        expected = '\n'.join(['              ┌─┐',
                              'q_2: |0>──────┤M├',
                              '           ┌─┐└╥┘',
                              'q_1: |0>───┤M├─╫─',
                              '        ┌─┐└╥┘ ║ ',
                              'q_0: |0>┤M├─╫──╫─',
                              '        └╥┘ ║  ║ ',
                              ' c_2: 0 ═╬══╬══╩═',
                              '         ║  ║    ',
                              ' c_1: 0 ═╬══╩════',
                              '         ║       ',
                              ' c_0: 0 ═╩═══════',
                              '                 '])

        qr = QuantumRegister(3, 'q')
        cr = ClassicalRegister(3, 'c')
        circuit = QuantumCircuit(qr, cr)
        circuit.measure(qr, cr)
        self.assertEqual(str(_text_circuit_drawer(circuit, reverse_bits=True)), expected) 
开发者ID:Qiskit,项目名称:qiskit-terra,代码行数:23,代码来源:test_circuit_text_drawer.py


注:本文中的qiskit.ClassicalRegister方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。