qiskit.circuit.library.unitary_overlap
qiskit.circuit.library.unitary_overlap(unitary1, unitary2, prefix1='p1', prefix2='p2', insert_barrier=False)
두 유니타리 사이의 중첩을 반환하는 회로 .
입력된 양자 회로는 반전 가능해야 하므로 단일 연산을 나타내야 합니다. 입력에 매개변수가 있는 경우, 입력은 다음과 같이 대체됩니다 ParameterVector를 “p1” (회로 unitary1)와 “p2” (회로 unitary_2)라는 이름으로 출력 회로에서 대체합니다.
이 회로는 일반적으로 충실도를 계산하는 데 사용됩니다:
가 모든 0 비트 문자열에 있을 확률, 즉 프로젝터 의 기대값을 계산하여 계산합니다.
레퍼런스 회로:
import numpy as np
from qiskit.circuit.library import efficient_su2, unitary_overlap
# get two circuit to prepare states of which we compute the overlap
circuit = efficient_su2(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 = unitary_overlap(unitary1, unitary2)
overlap.draw('mpl')
매개변수
- unitary1 (QuantumCircuit) – 케트 벡터에 작용하는 유니터리 연산.
- unitary2 (QuantumCircuit) – 역행렬이 브라 벡터에 작용하는 유니터리.
- prefix1 (str) –
unitary1에 연결된 매개변수 벡터의 이름(매개변수화된 경우)입니다. 기본값은"p1"입니다. - prefix2 (str) –
unitary2에 연결된 매개변수 벡터의 이름(매개변수화된 경우)입니다. 기본값은"p2"입니다. - insert_barrier (bool) – 두 유니타리 사이에 배리어를 삽입할지 여부입니다.
레이즈
- CircuitError – 와
unitary2의unitary1큐비트 수가 일치하지 않습니다. - CircuitError – 입력값에는 측정값 및/또는 초기화 값이 포함됩니다.
리턴 유형
이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.