interop 패키지
클래스
| PeakUsageGreedyQubitManager |
컴퓨팅 및 메모리 큐비트를 별도로 추적하는 큐비트 관리자입니다. 각 큐비트 유형에 대한 두 개의 독립적인 큐비트 관리자로 구성됩니다. 각 관리자는 .에서 해제된 후 한 형식의 큐비트는 다른 형식의 큐비트로 다시 사용할 수 없습니다. 따라서 피크 큐비트 수는 각 형식에 대한 피크 큐비트 수의 합계와 같습니다. PeakUsageGreedyQubitManager를 초기화합니다. |
| PopBlock |
추적에서 현재 반복된 블록의 끝을 신호로 표시합니다. |
| PushBlock |
추적에서 반복되는 블록의 시작을 신호로 표시합니다. |
| ReadFromMemoryGate |
메모리 레지스터에서 COMPUTE 레지스터로 큐비트 상태를 이동합니다. COMPUTE 큐비트가 0 상태로 준비된다고 가정합니다. 메모리 큐비트를 0 상태로 둡니다. ReadFromMemoryGate를 초기화합니다. |
| TypedQubit |
형식이 있는 큐비트입니다. 형식화된 큐비트를 초기화합니다. |
| WriteToMemoryGate |
COMPUTE 레지스터에서 메모리 레지스터로 큐비트 상태를 이동합니다. 메모리 큐비트가 0 상태로 준비된다고 가정합니다. COMPUTE 큐비트를 0 상태로 유지합니다. WriteToMemoryGate를 초기화합니다. |
열거형
| QubitType |
큐비트 형식입니다. 각 논리 큐비트는 컴퓨팅 또는 메모리 큐비트일 수 있습니다. 컴퓨팅 큐비트는 일반적으로 사용할 수 있습니다. 메모리 큐비트에는 게이트를 적용할 수 없는 제한이 있습니다. 메모리 큐비트에서 허용되는 작업은 읽기/쓰기뿐이며, 여기서 상태는 메모리에서 컴퓨팅 게이트로 또는 컴퓨팅에서 메모리 게이트로 이동됩니다. 오류 수정이 적용될 때 메모리 큐비트는 리소스를 적게 요구하지만 게이트 애플리케이션을 허용하지 않는 보다 효율적인 오류 수정 체계(예: Yoked 표면 코드)로 인코딩된다고 가정합니다 https://arxiv.org/abs/2312.04522. |
함수
assert_qubits_type
큐비트가 형식을 지정했지만 TypedQubits인 경우에만 어설션합니다.
assert_qubits_type(qs: Sequence[Qid], qubit_type: QubitType) -> None
매개 변수
| Name | Description |
|---|---|
|
qs
필수
|
|
|
qubit_type
필수
|
|
read_from_memory
메모리에서 큐비트를 읽는 작업입니다.
read_from_memory(memory_qubits: Sequence[Qid], compute_qubits: Sequence[Qid]) -> Operation
매개 변수
| Name | Description |
|---|---|
|
memory_qubits
필수
|
|
|
compute_qubits
필수
|
|
trace_from_cirq
Cirq 회로를 리소스 예측 추적으로 변환합니다.
회로의 모든 순간 및 작업을 반복하여 각 게이트를 추적 작업으로 변환합니다. 메서드가 있는 _to_trace 게이트는 직접 변환되고, 다른 게이트는 Cirq _decompose_with_context_ 또는 _decompose_ 프로토콜을 통해 재귀적으로 분해됩니다.
trace_from_cirq(circuit: cirq.CIRCUIT_LIKE, *, classical_control_probability: float = 0.5, rotation_threshold: float = 1e-06, track_memory_qubits: bool = True) -> Trace
매개 변수
| Name | Description |
|---|---|
|
circuit
필수
|
변환할 Cirq 회로입니다. |
|
classical_control_probability
필수
|
고전적으로 제어되는 작업이 추적에 포함될 확률입니다. 기본값은 0.5입니다. |
|
rotation_threshold
필수
|
절대값이 이 임계값 미만인 회전 지수는 ID로 처리되고 추적에서 생략됩니다. 이는 단일 큐비트 회전(RX, RY, RZ)뿐만 아니라 제어된 Z 분해의 회전 구성 요소에도 적용됩니다. 기본값은 1e-6입니다. |
|
track_memory_qubits
필수
|
True이면 메모리 큐비트가 컴퓨팅 큐비트와 별도로 추적됩니다. False이면 모든 큐비트가 컴퓨팅 큐비트로 처리됩니다. 또한 True이면 메모리에서 읽기 및 쓰기-메모리 명령이 추적에 유지되고, 그렇지 않으면 SWAP 및 RESET 명령으로 분해됩니다. 기본값은 True입니다. |
키워드 전용 매개 변수
| Name | Description |
|---|---|
|
classical_control_probability
|
Default value: 0.5
|
|
rotation_threshold
|
Default value: 1e-06
|
|
track_memory_qubits
|
Default value: True
|
반품
| 형식 | Description |
|---|---|
|
회로의 실행 프로필을 나타내는 추적입니다. |
trace_from_entry_expr
Q# 항목 식을 리소스 예측 추적으로 변환합니다.
항목 식을 평가하여 논리 개수를 가져온 다음 해당 양자 연산을 포함하는 추적을 작성합니다.
trace_from_entry_expr(entry_expr: str | Callable | LogicalCounts, *args) -> Trace
매개 변수
| Name | Description |
|---|---|
|
entry_expr
필수
|
<xref:<xref:qdk.qre.interop.str | Callable | LogicalCounts>>
Q# 항목 식 문자열, 호출 가능 또는 미리 계산된 논리 개수입니다. |
|
*args
필수
|
호출 가능으로 전달할 인수(제공된 경우)입니다. |
반품
| 형식 | Description |
|---|---|
|
프로그램의 리소스 프로필을 나타내는 추적입니다. |
trace_from_entry_expr_cached
선택적 캐싱을 사용하여 Q# 항목 식을 추적으로 변환합니다.
cache_path 제공되고 있는 경우 디스크에서 추적이 로드됩니다.
그렇지 않으면 추적을 통해 trace_from_entry_expr 계산되고 필요에 따라 cache_path 기록됩니다.
trace_from_entry_expr_cached(entry_expr: str | Callable | LogicalCounts, cache_path: Path | None, *args) -> Trace
매개 변수
| Name | Description |
|---|---|
|
entry_expr
필수
|
<xref:<xref:qdk.qre.interop.str | Callable | LogicalCounts>>
Q# 항목 식 문자열, 호출 가능 또는 미리 계산된 논리 개수입니다. |
|
cache_path
필수
|
<xref:Optional>[<xref:Path>]
캐시된 추적을 읽거나 쓰는 경로입니다. None이면 캐싱을 사용할 수 없습니다. |
반품
| 형식 | Description |
|---|---|
|
프로그램의 리소스 프로필을 나타내는 추적입니다. |
trace_from_qir
QIR 프로그램을 리소스 예측 추적으로 변환합니다.
QIR 모듈을 구문 분석하고, 양자 게이트를 추출하고, 리소스 추정에 사용할 수 있는 추적을 빌드합니다. 조건부 분기는 항상 잘못된 경로를 따라 확인됩니다(측정 결과가 0이라고 가정).
trace_from_qir(input: str | bytes) -> Trace
매개 변수
| Name | Description |
|---|---|
|
input
필수
|
QIR 입력을 LLVM IR 텍스트(str) 또는 비트코드(바이트)로 입력합니다. |
반품
| 형식 | Description |
|---|---|
|
QIR 프로그램의 양자 연산을 포함하는 추적입니다. |
write_to_memory
메모리에 큐비트를 쓰는 작업입니다.
write_to_memory(memory_qubits: Sequence[Qid], compute_qubits: Sequence[Qid]) -> Operation
매개 변수
| Name | Description |
|---|---|
|
memory_qubits
필수
|
|
|
compute_qubits
필수
|
|