Skip to main content
IBM Quantum Platform

GraphState

class qiskit.circuit.library.GraphState(adjacency_matrix)

GitHub

베이스: QuantumCircuit

회로를 사용하여 그래프 상태를 준비합니다.

그래프 G = (V, E)가 주어지고, 정점 집합 V와 가장자리 집합 E가 있을 때 해당 그래프 상태는 다음과 같이 정의됩니다

G=(a,b)ECZ(a,b)+V|G\rangle = \prod_{(a,b) \in E} CZ_{(a,b)} {|+\rangle}^{\otimes V}

이러한 상태는 먼저 ++ 상태의 모든 큐비트를 준비한 다음 각 해당 그래프 에지에 대해 CZCZ 게이트를 적용하여 준비할 수 있습니다.

그래프 상태 준비 회로는 클리포드 회로이므로 고전적으로 쉽게 시뮬레이션할 수 있습니다. 그러나 마지막에 제품 단위로 측정 레이어를 추가하면 회로가 [2를] 시뮬레이션하기 어려워진다는 증거가 있습니다.

레퍼런스 회로:

앞서 설명한 회로를 보여주는 다이어그램입니다.

참조 자료:

[1] M. 하인, J. 아이저트, H.J. 브리겔, 그래프 상태의 다자간 얽힘,

arXiv:0307130

[2] D. Koh, 클리포드 회로의 추가 확장 및 고전적인 시뮬레이션 복잡성.

arXiv:1512.07892

그래프 상태 준비 회로를 만듭니다.

버전부터 사용되지 않음 2.1

qiskit.circuit.library.graph_state.GraphState 클래스는 키스킷 2.1 에서 더 이상 사용되지 않습니다. 키스킷 3.0 에서 제거됩니다. 대신 qiskit.circuit.library.GraphStateGate 을 사용하세요.

매개변수

adjacency_matrix (list | np.ndarray) – 그래프를 0-1 목록의 n 단위 목록으로 입력합니다

레이즈

CircuitError – adjacency_matrix가 대칭 행렬이 아닌 경우.

회로는 주어진 인접 행렬로 그래프 상태를 준비합니다.


속성

name

유형: str

사람이 읽을 수 있는 회로의 이름입니다.

예제

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.