Skip to main content
IBM Quantum Platform

BaseQPDGate

class BaseQPDGate(name, basis, num_qubits, *, basis_id=None, label=None)

GitHub

베이스: Instruction

준확률 분해를 사용하여 분해할 게이트의 베이스 클래스입니다.

인스트럭션을 초기화하고 멤버 변수를 할당합니다.

매개변수

  • name (str) – QPD 게이트의 이름입니다.
  • basis (QPDBasis) – 게이트가 분해되어야 하는 QPDBasis
  • num_qubits (int) – QPD 게이트가 작동하는 큐비트 수입니다
  • basis_id (int | None) – 게이트가 분해되어야 하는 기준에 대한 인덱스입니다. 이 인덱스는 basis.maps 로 이동합니다.
  • label (str | None) – 게이트용 라벨(선택 사항)

속성

base_class

이 인스트럭션의 베이스 클래스를 가져옵니다. 이것은 self 의 상속 트리에 보장됩니다.

명령어의 "베이스 클래스"는 상속 트리에서 객체가 _모든_ 회로 응용 프로그램에서 완전히 호환되는 것으로 간주해야 하는 가장 낮은 클래스입니다. 이는 일반적으로 서브클래스는 순전히 기본 클래스에 대한 프로그래머 편의를 제공하기 위해 정의되며, 기본 클래스는 동작 관점에서 "진정한" 클래스라는 의미입니다. 특히, 당신은 무시해서는 *안됩니다 *base_class 하드웨어에 따라 다르게 구현될 명령어의 사용자 정의 버전(예: 대체 측정 전략 또는 이를 구별하기 위한 특정 매개변수 집합을 갖는 매개변수화된 게이트 버전)을 정의하는 경우 Target 완전히 매개변수화된 게이트에서.

이는 표준 라이브러리 지침의 싱글톤 인스턴스의 경우를 제외하고는 type(obj) 과 정확히 일치하는 경우가 많습니다. 이러한 싱글톤 인스턴스는 기본 클래스의 특수 서브클래스이며, 이 프로퍼티는 해당 기본 클래스를 반환합니다. 예를 들어,

>>> isinstance(XGate(), XGate)
True
>>> type(XGate()) is XGate
False
>>> XGate().base_class is XGate
True

일반적으로 인스트럭션의 정확한 클래스에 의존해서는 안 되며, 주어진 회로 내에서는 Instruction.name 이 대부분의 상황에서 더 적합한 변별자가 될 것으로 예상됩니다.

basis

준확률 분해 기준.

리턴

게이트가 분해되어야하는 기준

basis_id

이 게이트를 분해하는 데 사용되는 기준 인덱스입니다.

없음으로 설정하면 분해 중에 무작위 기준이 선택됩니다.

리턴

기준 지수

condition

인스트럭션의 고전적인 조건입니다.

버전부터 사용되지 않음 1.3.0

qiskit.circuit.instruction.Instruction.condition 속성은 qiskit 1.3.0 에서 더 이상 사용되지 않습니다. 2.0.0 에서 제거됩니다.

condition_bits

Clbits 상태를 확인하세요.

버전부터 사용되지 않음 1.3.0

qiskit.circuit.instruction.Instruction.condition_bits 속성은 qiskit 1.3.0 에서 더 이상 사용되지 않습니다. 2.0.0 에서 제거됩니다.

decompositions

SessionEquivalenceLibrary 에서 인스트럭션의 분해를 가져옵니다.

definition

다른 기본 게이트의 관점에서 정의를 반환합니다.

duration

기간을 가져옵니다.

버전부터 사용되지 않음 1.3.0

qiskit.circuit.instruction.Instruction.duration 속성은 qiskit 1.3.0 에서 더 이상 사용되지 않습니다. 키스킷 2.0.0 에서 제거됩니다.

label

반품 지침 라벨

mutable

이 인스턴스가 변경 가능한 고유 인스턴스인지 여부입니다.

이 속성이 False 인 경우 게이트 인스턴스는 공유 싱글톤이며 변경할 수 없습니다.

name

이름을 반환합니다.

num_clbits

클릿 수를 반환합니다.

num_qubits

큐비트 수를 반환합니다.

params

이 매개변수 Instruction. 이상적으로는 게이트 각도입니다.

unit

기간의 시간 단위를 가져옵니다.

버전부터 사용되지 않음 1.3.0

qiskit.circuit.instruction.Instruction.unit 속성은 qiskit 1.3.0 에서 더 이상 사용되지 않습니다. 키스킷 2.0.0 에서 제거됩니다.


메소드

add_decomposition

add_decomposition(decomposition)

SessionEquivalenceLibrary 에 명령의 분해를 추가합니다.

assemble

assemble()

조립 QasmQobjInstruction

버전부터 사용되지 않음 1.2

qiskit.circuit.instruction.Instruction.assemble() 메서드는 qiskit 1.2 에서 더 이상 사용되지 않습니다. 2.0 릴리스에서 제거될 예정입니다. Qobj 클래스 및 관련 기능은 더 이상 사용되지 않는 BackendV1 워크플로우의 일부이며 BackendV2 에 더 이상 필요하지 않습니다. 사용자 워크플로우에 Qobj가 필요한 경우 더 이상 사용되지 않는 기능에 의존하고 있을 가능성이 높으므로 BackendV2 을 사용하도록 업데이트해야 합니다.

broadcast_arguments

broadcast_arguments(qargs, cargs)

인수의 유효성 검사.

매개변수

  • qargs (List) – 양자 비트 인자 목록입니다.
  • cargs (List) – 클래식 비트 인자 목록입니다.

산출량

튜플(리스트, 리스트) - 단일 인자를 가진 튜플입니다.

레이즈

CircuitError - 입력이 유효하지 않은 경우. 예를 들어 인자 수가 게이트 예상과 일치하지 않습니다.

c_if

c_if(classical, val)

이 명령어에서 레지스터 또는 cbit classical 와 값 val 사이의 고전적인 동일성 조건을 설정합니다.

참고

이것은 가산 방식이 아닌 세터 방식입니다. 이 기능을 여러 번 호출하면 이전에 설정한 모든 조건이 자동으로 무시되며 중첩되지 않습니다.

버전부터 사용되지 않음 1.3.0

qiskit.circuit.instruction.Instruction.c_if() 메서드는 qiskit 1.3.0 에서 더 이상 사용되지 않습니다. 2.0.0 에서 제거됩니다.

copy

copy(name=None)

지침 사본.

매개변수

name (str) – 를 복사된 회로에 부여할 이름으로 지정합니다. None 인 경우 이름은 동일하게 유지됩니다.

리턴

현재 인스트럭션의 사본(이름이 제공된 경우 업데이트된 이름 포함)

리턴 유형

qiskit.circuit.Instruction

inverse

inverse(annotated=False)

이 지침을 뒤집습니다.

주석이 False인 경우, 역 인스트럭션은 재귀적으로 반전된 정의가 있는 새로운 인스트럭션으로 구현됩니다.

주석이 True이면 역 명령어는 AnnotatedOperation 로 구현되며 "역 수정자"로 주석이 달린 지정된 명령어에 해당합니다.

Instruction을 상속하는 특수 인스트럭션은 자체 역(예: T 및 Tdg, Barrier 등)을 구현할 수 있습니다 특히, 역이 표준 게이트로 정의된 경우 annotated 인수를 무시하고 항상 구체적인 게이트 클래스를 반환하는 등 인수를 처리하는 방법을 선택할 수 있습니다.

매개변수

annotated (bool) – true로 설정하면 출력 역 게이트는 AnnotatedOperation 로 반환됩니다.

리턴

역 연산입니다.

레이즈

CircuitError - 인스트럭션이 컴포지트가 아니고 역이 구현되지 않은 경우.

is_parameterized

is_parameterized()

Instruction컴파일 시간 매개변수가 포함되어 있는지 여부를 반환합니다.

repeat

repeat(n)

self 반복 :math`n` 번으로 인스트럭션을 생성합니다.

이 연산에 조건이 있는 경우, 출력 명령어는 동일한 조건을 가지며 내부 반복 연산은 조건이 없습니다; 복합 정의 내의 명령어는 키스킷의 데이터 모델 내의 레지스터에 조건이 붙을 수 없습니다. 즉, 그 상태에서 쓰기도 하고 읽기도 하는 clbit에 반복되는 명령을 적용하는 것은 유효하지 않습니다.

매개변수

n (int) – 지시를 반복할 횟수

리턴

정의가 포함되어 있습니다.

리턴 유형

qiskit.circuit.Instruction

레이즈

CircuitError - n < 1.

reverse_ops

reverse_ops()

복합 인스트럭션의 경우 하위 인스트럭션의 순서를 반대로 합니다.

이는 모든 하위 인스트럭션을 재귀적으로 뒤집는 방식으로 수행됩니다. 어떤 게이트도 반전시키지 않습니다.

리턴

를 포함하는 새 명령어

하위 지침이 반전되었습니다.

리턴 유형

qiskit.circuit.Instruction

soft_compare

soft_compare(other)

게이트 간 소프트 비교. 이름, 큐비트 수, 클래식 비트 번호가 일치해야 합니다. 매개변수의 개수가 일치해야 합니다. 각 매개변수를 비교합니다. ParameterExpression 인 경우 고려되지 않습니다.

매개변수

other (instruction) – 다른 지침.

리턴

는 자체 및 기타 매개변수 표현식과 동일합니다.

리턴 유형

부울

to_mutable

to_mutable()

이 게이트의 변경 가능한 복사본을 반환합니다.

이 메서드는 이 게이트 인스턴스의 변경 가능한 새 복사본을 반환합니다. 싱글톤 인스턴스가 사용 중인 경우 이는 변경 가능한 새 고유 인스턴스가 됩니다. 인스턴스가 이미 변경 가능한 경우 해당 인스턴스의 딥카피가 됩니다.

validate_parameter

validate_parameter(parameter)

인스트럭션 매개변수에는 유효성 검사나 정규화가 없습니다.

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