UnitaryOverlap
class qiskit.circuit.library.UnitaryOverlap(unitary1, unitary2, prefix1='p1', prefix2='p2', insert_barrier=False)
베이스: QuantumCircuit
두 유니타리 사이의 중첩을 반환하는 회로 .
입력된 양자 회로는 반전 가능해야 하므로 단일 연산을 나타내야 합니다. 입력에 매개변수가 있는 경우, 입력은 다음과 같이 대체됩니다 ParameterVector를 “p1” (회로 unitary1)와 “p2” (회로 unitary_2)라는 이름으로 출력 회로에서 대체합니다.
이 회로는 일반적으로 충실도를 계산하는 데 사용됩니다:
가 모든 0 비트 문자열에 있을 확률, 즉 프로젝터 의 기대값을 계산하여 계산합니다.
예:
import numpy as np
from qiskit.circuit.library import EfficientSU2, UnitaryOverlap
from qiskit.primitives import Sampler
# get two circuit to prepare states of which we compute the overlap
circuit = EfficientSU2(2, reps=1)
unitary1 = circuit.assign_parameters(np.random.random(circuit.num_parameters))
unitary2 = circuit.assign_parameters(np.random.random(circuit.num_parameters))
# create the overlap circuit
overlap = UnitaryOverlap(unitary1, unitary2)
# sample from the overlap
sampler = Sampler(options={"shots": 100})
result = sampler.run(overlap).result()
# the fidelity is the probability to measure 0
fidelity = result.quasi_dists[0].get(0, 0)버전부터 사용되지 않음 2.1
qiskit.circuit.library.overlap.UnitaryOverlap 클래스는 키스킷 2.1 에서 더 이상 사용되지 않습니다. 키스킷 3.0 에서 제거됩니다. 대신 qiskit.circuit.library.unitary_overlap 을 사용하세요.
매개변수
- unitary1 (QuantumCircuit) – 케트 벡터에 작용하는 유니터리 연산.
- unitary2 (QuantumCircuit) – 역행렬이 브라 벡터에 작용하는 유니터리.
- prefix1 (str) –
unitary1에 연결된 매개변수 벡터의 이름(매개변수화된 경우)입니다. 기본값은"p1"입니다. - prefix2 (str) –
unitary2에 연결된 매개변수 벡터의 이름(매개변수화된 경우)입니다. 기본값은"p2"입니다. - insert_barrier (bool) – 두 유니타리 사이에 배리어를 삽입할지 여부입니다.
레이즈
- CircuitError – 와
unitary2의unitary1큐비트 수가 일치하지 않습니다. - CircuitError – 입력값에는 측정값 및/또는 초기화 값이 포함됩니다.
속성
name
유형: str
사람이 읽을 수 있는 회로의 이름입니다.
예제
from qiskit import QuantumCircuit
qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)my_circuit이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.