MidCircuitMeasure
class MidCircuitMeasure(name='measure_2', label=None)
베이스: Instruction
‘명명된’ 측정에 대한 대안적 정의.
이 명령어는 대체적인 ‘명명된’ 측정 정의(고전 비트 1개, 양자 비트 1개)를 구현하며, 이 이름을 사용하여 하드웨어 상의 해당 중간 회로 측정 명령어 구현으로 매핑할 수 있습니다.
매개변수
- name (str) – 명령어 이름
- num_qubits (int) – 명령어의 큐비트 폭
- num_clbits (int) – 명령어의 CLBIT 너비
- params (list[int|float|complex|str|ndarray|list|ParameterExpression]) – 매개변수 목록
- label (str or None) – 명령을 식별하기 위한 선택적 레이블입니다.
인상
- CircuitError – 레지스터의 형식이 올바르지 않은 경우.
- TypeError – 선택적 레이블이 지정되었으나, 해당 레이블이 문자열이 아닌 경우.
속성
base_class
이 명령어의 기본 클래스를 가져옵니다. 이것은 반드시 의 계보에 포함될 것입니다 self.
명령어의 “기본 클래스”란, 해당 객체가 _모든_ 회로 응용 분야에서 완전히 호환되는 것으로 간주되어야 하는 상속 트리 내의 가장 하위 클래스를 말합니다. 이는 일반적으로 하위 클래스가 기저 클래스에 비해 프로그래머에게 일종의 편의성을 제공하기 위해 순전히 정의된 것이며, 행동적 관점에서 볼 때 기저 클래스가 “진정한” 클래스임을 의미합니다. 특히, 대체 측정 전략과 같이 하드웨어에 따라 다르게 구현될 명령어의 사용자 정의 버전을 정의하거나, 완전한 매개변수화 게이트와 Target 구별하기 위해 특정 매개변수 집합을 가진 매개변수화 게이트의 버전을 정의하는 경우에는 base_class 이 메서드를 재정의해서는 안 됩니다.
이는 표준 라이브러리 명령어의 단일 인스턴스인 경우를 제외하고는 대개 와 정확히 동일합니다 type(obj). 이러한 싱글톤 인스턴스는 해당 기본 클래스의 특수한 하위 클래스이며, 이 속성은 해당 기본 클래스를 반환합니다. 예를 들어,
>>> isinstance(XGate(), XGate)
True
>>> type(XGate()) is XGate
False
>>> XGate().base_class is XGate
True일반적으로 명령어의 정확한 분류에 의존해서는 안 됩니다. 주어진 회로 내에서, 대부분의 상황에서는 가 더 적절한 판별 기준이 Instruction.name 될 것으로 예상됩니다.
decompositions
SessionEquivalenceLibrary 에서 해당 명령어의 분해 정보를 확인하세요.
definition
다른 기본 게이트를 이용하여 이 게이트의 정의를 유도하십시오.
label
반환 지시어 레이블
mutable
이 인스턴스는 변경 가능한 고유 인스턴스인가요, 아닌가요?
이 속성이 인 경우, 게이트 인스턴스는 False 공유 싱글톤이며 변경할 수 없습니다.
name
이름을 반환합니다.
num_clbits
clbits의 개수를 반환합니다.
num_qubits
큐비트의 개수를 반환합니다.
params
이 Instruction.의 매개변수는 다음과 같습니다. 가급적이면 이 값들은 게이트 각도여야 합니다.
메소드
add_decomposition
add_decomposition(decomposition)
SessionEquivalenceLibrary 에 해당 명령어의 분해 내용을 추가하십시오.
broadcast_arguments
broadcast_arguments(qargs, cargs)
논증의 타당성 검증.
매개변수
- qargs (List) – 양자 비트 인수 목록.
- cargs (List) – 고전적인 비트 논증 목록.
산출량
튜플(List, List) – 인자가 하나뿐인 튜플입니다.
인상
CircuitError – 입력이 유효하지 않은 경우. 예를 들어, 인수의 개수가 게이트의 예상치와 일치하지 않습니다.
copy
copy(name=None)
지침서 사본.
매개변수
name (str) – 복사된 회로에 부여할 이름입니다. 만약 라면 None 이름이 그대로 유지됩니다.
리턴
현재 지침의 사본으로, 이름이 제공된 경우 해당 이름이 업데이트된 것
리턴 유형
inverse
inverse(annotated=False)
이 명령을 반대로 하세요.
annotated가 False인 경우, 역 연산 명령어는 재귀적으로 반전된 정의에 따라 새로운 명령어로 구현됩니다.
annotated가 True인 경우, 역 연산은 로 구현되며 AnnotatedOperation, 이는 “역 수식자”가 주어진 연산에 주어진 것과 일치합니다.
Instruction 클래스에서 상속받은 특수 명령어들은 자체적인 역함수를 구현할 수 있습니다(예: T 및 Tdg, Barrier 등) 특히, 사용자는 인수를 어떻게 처리할지 선택할 수 있으며, 여기에는 annotated 해당 인수를 무시하고 역함수가 표준 게이트로 정의된 경우 항상 구체적인 게이트 클래스를 반환하는 방식도 포함될 수 있습니다.
매개변수
annotated (bool) – True로 설정하면 출력 역게이트가 로 반환됩니다 AnnotatedOperation.
리턴
역연산.
인상
CircuitError – 해당 명령어가 복합 명령어가 아니며, 이에 대한 역연산이 구현되지 않은 경우.
is_parameterized
is_parameterized()
에 컴파일 시 매개변수가 포함되어 Instruction 있는지 여부를 반환합니다.
repeat
repeat(n)
번 반복되는 self 명령어를 생성합니다.
매개변수
n (int) – 지시를 반복할 횟수
리턴
정의가 포함되어 있습니다.
리턴 유형
인상
CircuitError – n < 1인 경우.
reverse_ops
reverse_ops()
복합 명령어의 경우, 하위 명령어의 순서를 반대로 바꿉니다.
이는 모든 하위 명령어를 재귀적으로 역순으로 처리함으로써 이루어집니다. 어떤 게이트도 반전시키지 않습니다.
리턴
다음과 같은 새로운 명령어
하위 명령어가 역순으로 바뀌었습니다.
리턴 유형
soft_compare
soft_compare(other)
게이트 간의 부드러운 비교. 이들의 이름, 큐비트 수, 그리고 고전 비트 수가 일치해야 합니다. 매개변수의 개수가 일치해야 합니다. 각 매개변수가 비교됩니다. 만약 누군가가 ‘ ParameterExpression ’에 해당한다면, 이는 고려 대상에서 제외됩니다.
매개변수
other (instruction) – 기타 지침.
리턴
매개변수 표현식까지 ‘self’와 ‘other’는 동일합니다.
리턴 유형
부울
to_mutable
to_mutable()
이 게이트의 변경 가능한 복사본을 반환합니다.
이 메서드는 이 게이트 인스턴스의 새로운 가변 복사본을 반환합니다. 싱글톤 인스턴스가 사용 중인 경우, 이는 변경이 가능한 새로운 고유 인스턴스가 됩니다. 인스턴스가 이미 변경 가능한 상태라면, 해당 인스턴스의 심층 복사본이 생성됩니다.
validate_parameter
validate_parameter(parameter)
명령 매개변수에는 유효성 검사나 정규화가 적용되지 않습니다.