Qiskit.아쿠아로 QAE 3분 요리하기
5987 단어 QiskitAquaQISKITQAE
Qiskit.아쿠아로 QAE 3분 요리하기
과거 기사Qiskit.aqua로 증폭 연산자 Q 쉽게 만들기
프로그램 라이브러리를 더욱 간단하게 이용했다.
나는 이것이 아마도 가장 빠를 것이라고 생각한다.
회로 설계 from qiskit import QuantumCircuit
from qiskit.aqua.algorithms import Grover, QPE
from qiskit.circuit.library import ZGate, RYGate, CZGate
from qiskit.extensions import UnitaryGate
from qiskit.circuit.add_control import add_control
from qiskit.tools.visualization import plot_histogram
from qiskit import Aer, execute
from qiskit.aqua import QuantumInstance
import numpy as np
Grover 알고리즘의 프로그램 라이브러리에 증폭 연산자를 만듭니다.nqubit = 3
# the state we desire to find is '011'
good_state = ['011']
# specify the oracle that marks the state '011' as a good solution
oracle = QuantumCircuit(nqubit)
oracle.z(0)
state_preparation = QuantumCircuit(nqubit, name='State preparation')
state_preparation.h([1,2])
state_preparation.x(2)
state_preparation.ccx(2,1,0)
state_preparation.x(2)
# define Grover's algorithm
grover = Grover(oracle=oracle, good_state=good_state, state_preparation=state_preparation)
QAE 회로.from qiskit.aqua.algorithms import AmplitudeEstimation
num_eval_qubits = 3
QAE = AmplitudeEstimation(num_eval_qubits, state_preparation=state_preparation, grover_operator=grover.grover_operator, quantum_instance=Aer.get_backend('qasm_simulator'))
끝났어.
실행 QAE.construct_circuit().draw('mpl')
result = QAE.run()
result.a_estimation
0.1464466
과거 기사Qiskit.aqua로 증폭 연산자 Q 쉽게 만들기와 일치합니다.
결론
from qiskit import QuantumCircuit
from qiskit.aqua.algorithms import Grover, QPE
from qiskit.circuit.library import ZGate, RYGate, CZGate
from qiskit.extensions import UnitaryGate
from qiskit.circuit.add_control import add_control
from qiskit.tools.visualization import plot_histogram
from qiskit import Aer, execute
from qiskit.aqua import QuantumInstance
import numpy as np
Grover 알고리즘의 프로그램 라이브러리에 증폭 연산자를 만듭니다.nqubit = 3
# the state we desire to find is '011'
good_state = ['011']
# specify the oracle that marks the state '011' as a good solution
oracle = QuantumCircuit(nqubit)
oracle.z(0)
state_preparation = QuantumCircuit(nqubit, name='State preparation')
state_preparation.h([1,2])
state_preparation.x(2)
state_preparation.ccx(2,1,0)
state_preparation.x(2)
# define Grover's algorithm
grover = Grover(oracle=oracle, good_state=good_state, state_preparation=state_preparation)
QAE 회로.from qiskit.aqua.algorithms import AmplitudeEstimation
num_eval_qubits = 3
QAE = AmplitudeEstimation(num_eval_qubits, state_preparation=state_preparation, grover_operator=grover.grover_operator, quantum_instance=Aer.get_backend('qasm_simulator'))
끝났어.실행 QAE.construct_circuit().draw('mpl')
result = QAE.run()
result.a_estimation
0.1464466
과거 기사Qiskit.aqua로 증폭 연산자 Q 쉽게 만들기와 일치합니다.
결론
result = QAE.run()
result.a_estimation
Reference
이 문제에 관하여(Qiskit.아쿠아로 QAE 3분 요리하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/notori48/items/1165597170ad8018efb4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)