초기화
class qiskit.circuit.library.Initialize(params, num_qubits=None, normalize=False)
베이스: Instruction
복잡한 진폭 초기화.
클래스를 호출하여 구현되는 유연한 큐비트 레지스터 컬렉션을 초기화하는 클래스입니다 StatePreparation 클래스를 호출하여 구현됩니다. Initialize 은 Instruction 가 아니라 Gate 가 아닌 리셋 인스트럭션이 포함되어 있습니다.
초기 상태는 1에서 설명한 Isometry 합성을 기반으로 준비됩니다 [.]
참조 자료:
[1] Iten et al.., 아이소메트리를 위한 양자 회로 (2016). 실제 Rev. A 93, 032318.
매개변수
-
params (Statevector | Sequence[complex] | str |int) –
초기화할 상태는 다음 중 하나가 될 수 있습니다.
- 초기화할 상태 벡터 또는 복소 진폭의 벡터입니다.
- 폴리 고유 상태 Z, X, Y의 기저 상태 레이블.
Statevector.from_label()의 내용을 참조하십시오. 레이블의 순서가 적용될 큐비트 인덱스와 관련하여 반전되어 있음을 알 수 있습니다. 예제 레이블 '01'은 큐비트 0을 으로, 큐비트 1을 으로 초기화합니다. - 에 초기화할 큐비트를 나타내는 비트맵으로 사용되는 정수입니다. 예: params를 5로 설정하면 큐비트 0과 큐비트 2는 으로, 큐비트 1은 으로 초기화됩니다.
-
num_qubits (int | None) – 이 매개 변수는 params가 int인 경우에만 사용됩니다. 초기화 호출의 총 큐비트 수를 나타냅니다. 예: 초기화는 5개의 큐비트를 커버하고 매개변수는 3입니다. 이렇게 하면 큐비트 0과 1은 으로 초기화되고 나머지 3개의 큐비트는 으로 초기화됩니다.
-
normalize (bool) – 입력 배열을 단위 벡터로 정규화할지 여부입니다.
속성
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 이 대부분의 상황에서 더 적합한 변별자가 될 것으로 예상됩니다.
decompositions
SessionEquivalenceLibrary 에서 인스트럭션의 분해를 가져옵니다.
definition
다른 기본 게이트의 관점에서 정의를 반환합니다.
label
반품 지침 라벨
mutable
이 인스턴스가 변경 가능한 고유 인스턴스인지 여부입니다.
이 속성이 False 인 경우 게이트 인스턴스는 공유 싱글톤이며 변경할 수 없습니다.
name
이름을 반환합니다.
num_clbits
클릿 수를 반환합니다.
num_qubits
큐비트 수를 반환합니다.
params
초기화 매개변수를 반환합니다.
메소드
add_decomposition
broadcast_arguments
broadcast_arguments(qargs, cargs)
인수의 유효성 검사.
매개변수
- qargs (List) – 양자 비트 인자 목록입니다.
- cargs (List) – 클래식 비트 인자 목록입니다.
산출량
튜플(리스트, 리스트) - 단일 인자를 가진 튜플입니다.
레이즈
CircuitError – 입력이 유효하지 않은 경우. 예를 들어, 인수의 개수가 게이트의 예상치와 일치하지 않습니다.
copy
copy(name=None)
지침 사본.
매개변수
name (str) – 를 복사된 회로에 부여할 이름으로 지정합니다. None 인 경우 이름은 동일하게 유지됩니다.
리턴
현재 인스트럭션의 사본(이름이 제공된 경우 업데이트된 이름 포함)
리턴 유형
gates_to_uncompute
inverse
is_parameterized
repeat
repeat(n)
를 반복하는 self 명령어를 생성합니다.
매개변수
n (int) – 지시를 반복할 횟수
리턴
정의가 포함되어 있습니다.
리턴 유형
레이즈
CircuitError – n < 1인 경우.
reverse_ops
reverse_ops()
복합 인스트럭션의 경우 하위 인스트럭션의 순서를 반대로 합니다.
이는 모든 하위 인스트럭션을 재귀적으로 뒤집는 방식으로 수행됩니다. 어떤 게이트도 반전시키지 않습니다.
리턴
를 포함하는 새 명령어
하위 지침이 반전되었습니다.
리턴 유형
soft_compare
soft_compare(other)
게이트 간 소프트 비교. 이름, 큐비트 수, 클래식 비트 번호가 일치해야 합니다. 매개변수의 개수가 일치해야 합니다. 각 매개변수를 비교합니다. ParameterExpression 인 경우 고려되지 않습니다.
매개변수
other (instruction) – 다른 지침.
리턴
는 자체 및 기타 매개변수 표현식과 동일합니다.
리턴 유형
to_mutable
to_mutable()
이 게이트의 변경 가능한 복사본을 반환합니다.
이 메서드는 이 게이트 인스턴스의 변경 가능한 새 복사본을 반환합니다. 싱글톤 인스턴스가 사용 중인 경우 이는 변경 가능한 새 고유 인스턴스가 됩니다. 인스턴스가 이미 변경 가능한 경우 해당 인스턴스의 딥카피가 됩니다.