Skip to main content
IBM Quantum Platform

AQCSynthesisPlugin

class qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin

GitHub

베이스: UnitarySynthesisPlugin

AQC 기반 키스킷 단일 합성 플러그인.

"aqc"이 플러그인은 매개변수가 unitary_synthesis_method 로 설정되었을 때 호출됩니다 transpile() .

이 플러그인은 사용자 지정을 지원하며, 함수의 transpile() 매개변수로 unitary_synthesis_plugin_config 사전(dictionary)을 전달하여 플러그인에 추가 매개변수를 전달할 수 있습니다.

사전에서 지원되는 매개변수입니다:

네트워크_레이아웃 (문자열)

네트워크 지오메트리 유형, {"sequ", "spin", "cart", "cyclic_spin", "cyclic_line"} 중 하나입니다. 기본값은 "spin" 입니다.

연결_유형(문자열)

쿼트 간 연결 유형, {"full", "line", "star"}. 기본값은 "full" 입니다.

깊이 (int)

cNOT 네트워크의 깊이, 즉 각 레이어가 단일 CNOT 블록으로 구성된 레이어 수입니다.

최적화 도구 (Minimizer)

최적화 프로세스에서 사용할 Minimizer 프로토콜의 구현입니다.

시드 (int)

무작위 시드입니다.

initial_point (ndarray)

최적화 프로세스를 시작할 각도/파라미터의 초기 값입니다.


속성

max_qubits

지원되는 최대 큐비트 수는 14 입니다.

min_qubits

지원되는 최소 큐비트 수는 3 입니다.

supported_bases

이 플러그인은 합성을 위한 기지를 지원하지 않습니다.

supports_basis_gates

이 플러그인은 베이시스 게이트를 지원하지 않으며 기본적으로 ["rx", "ry", "rz", "cx"] 게이트 베이시스를 사용하여 회로를 합성합니다.

supports_coupling_map

이 플러그인은 커플링 맵을 지원하지 않습니다.

supports_gate_errors

이 플러그인은 게이트 오류를 지원하지 않습니다.

supports_gate_errors_by_qubit

플러그인이 촬영을 지원하는지 여부를 반환합니다 gate_errors_by_qubit

이는 supports_gate_errors/gate_errors 과는 동일한 데이터에 대해 다른 보기를 사용한다는 점에서 다릅니다. 이것은 게이트 이름으로 키가 지정되는 대신 큐비트로 키가 지정되며, 게이트를 나타내기 위해 Gate 인스턴스를 사용하여 게이트를 나타냅니다(게이트 이름 대신).

gate_errors_by_qubit{(qubits,): [Gate, error]} 형식의 사전이 됩니다. 예를 들어,

{
(0,): [SXGate(): 0.0006149355812506126, RZGate(): 0.0],
(0, 1): [CXGate(): 0.012012477900732316]
}

이 사전은 각 큐비트의 모든 게이트에 대해 게이트 오류를 보고하는 대상 백엔드에 따라 달라지므로 완전하지 않거나 비어 있을 수 있습니다. gate_errors 에 보고된 게이트 오류율은 대상 장치 Backend 객체에 의해 제공되며 정확한 의미는 백엔드에 따라 다를 수 있습니다.

기본값은 False입니다

supports_gate_lengths

이 플러그인은 게이트 길이를 지원하지 않습니다.

supports_gate_lengths_by_qubit

플러그인이 촬영을 지원하는지 여부를 반환합니다 gate_lengths_by_qubit

이는 supports_gate_lengths/gate_lengths 과는 동일한 데이터에 대해 다른 보기를 사용한다는 점에서 다릅니다. 이것은 게이트 이름으로 키가 지정되는 대신 큐비트로 키가 지정되며, 게이트를 나타내기 위해 Gate 인스턴스를 사용하여 게이트를 표현합니다(게이트 이름 대신)

gate_lengths_by_qubit{(qubits,): [Gate, length]} 형식의 사전이 됩니다. 예를 들어,

{
(0,): [SXGate(): 0.0006149355812506126, RZGate(): 0.0],
(0, 1): [CXGate(): 0.012012477900732316]
}

여기서 length 값은 초 단위입니다.

이 사전은 각 큐비트에 대한 모든 게이트의 게이트 길이를 보고하는 대상 백엔드에 따라 달라지므로 완전하지 않거나 비어 있을 수 있습니다.

기본값은 False입니다

supports_natural_direction

이 플러그인은 자연 방향을 지원하지 않으며 양방향 2큐비트 게이트를 가정합니다.

supports_pulse_optimize

이 플러그인은 펄스 최적화를 지원하지 않습니다.

supports_target

플러그인이 target 를 옵션으로 지원하는지 여부

target 는 합성 패스 출력의 대상 디바이스를 나타내는 Target 오브젝트가 되어 합성 패스의 출력 대상 디바이스를 나타냅니다.

기본적으로 이 값은 False 플러그인 인터페이스가 이전 버전의 Target 클래스보다 앞선다. 플러그인이 이 속성에 대해 True 을 반환하는 경우, 플러그인은 전달된 값 대신 Targetsupports_gate_lengths , supports_gate_errors, supports_coupling_map, supports_basis_gates 중 하나라도 설정된 경우 전달된 값 대신 을 사용합니다(모든 매개 변수에 중복 정보가 포함되어야 하는 것이 이상적이지만).


메소드

run

run(unitary, **options)

GitHub

주어진 유니타리 행렬에 대한 합성 실행

매개변수

  • unitary (numpy.ndarray) – 객체에 합성할 단일 행렬은 DAGCircuit 객체
  • 옵션 - 클래스의 support_* 메서드 출력에 따라 전달되는 선택적 kwarg입니다. 이러한 메서드에 대한 설명서를 참조하세요 UnitarySynthesisPlugin 에서 키와 값에 대한 문서를 참조하세요.

리턴

유니티의 다그 회로 표현입니다. 또는 (dag, wires) 형식의 튜플을 반환할 수 있습니다. 여기서 dag 은 유니티의 회로 표현의 dag 회로 표현이고 wires 은 사용할 매핑 와이어입니다 qiskit.dagcircuit.DAGCircuit.substitute_node_with_dag(). 튜플을 반환하고 wiresNone 인 경우 이는 마치 DAGCircuit 가 반환된 것처럼 동작합니다. 또한 None 으로 반환되면 대체되지 않습니다.

반환 유형

DAGCircuit

이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.