qre 패키지
패키지
| application | |
| interop | |
| models |
클래스
| Application |
애플리케이션은 특정 문제 인스턴스에 대한 추적을 생성하는 메서드와 함께 양자 계산 문제의 클래스를 정의합니다. 애플리케이션과 추적 매개 변수를 구분합니다. 애플리케이션 매개 변수는 고려할 애플리케이션의 특정 인스턴스를 정의합니다. 추적 매개 변수는 추적을 생성하는 방법을 정의합니다. 그들은 우리가 문제를 해결하는 특정 방법을 변경하지만, 문제 자체가 아닙니다. 예를 들어 양자 암호화에서 애플리케이션 매개 변수는 RSA 주요 제품의 키 크기를 정의할 수 있으며 추적 매개 변수는 암호화를 중단하는 데 사용할 알고리즘과 그 안에 있는 매개 변수를 정의합니다. |
| Architecture |
양자 하드웨어 아키텍처에 대한 추상 기본 클래스입니다. |
| Block | |
| Constraint | |
| ConstraintBound | |
| Encoding | |
| EstimationResult | |
| EstimationTable |
양자 리소스 예측 결과 테이블입니다.
기본 열을 사용하여 빈 예측 테이블을 초기화합니다. |
| EstimationTableColumn |
에 있는 단일 열의 정의입니다 |
| EstimationTableEntry |
의 단일 행입니다 각 항목은 애플리케이션 추적 및 아키텍처 ISA의 특정 조합에 대한 하나의 Pareto 최적 예측 결과를 나타냅니다. |
| FactoryResult | |
| ISA | |
| ISAContext |
열거형을 통해 전달된 컨텍스트로, 공유 상태를 유지합니다. 지정된 아키텍처에 대한 ISA 컨텍스트를 초기화합니다. |
| ISAQuery |
ISA 열거형 트리의 모든 노드에 대한 추상 기본 클래스입니다. 열거형 노드는 아키텍처에서 시작하여 오류 수정 스키마와 같은 ISA 변환에 의해 수정된 ISA에 대한 검색 공간의 구조를 정의합니다. (sum) 및 (product)와 |
| ISARefNode |
열거형 컨텍스트에서 바인딩된 ISA에 대한 참조입니다. 이 노드는 컨텍스트에서 바인딩을 조회하고 바인딩된 ISA를 생성합니다. |
| ISARequirements | |
| ISATransform |
ISA(예: QEC 스키마) 간의 변환에 대한 추상 기본 클래스입니다. ISA 변환은 필수 입력 ISA(예: 아키텍처 제약 조건)에서 제공된 출력 ISA(논리적 지침)로의 매핑을 정의합니다. 구성 매개 변수의 열거를 지원합니다. |
| InstructionFrontier | |
| InstructionSource | |
| LatticeSurgery |
격자 수술 추적 변환. 추적을 격자 수술 기반 리소스 추정에 적합한 형태로 변환합니다. |
| PSSPC |
PSSPC(Pauli 기반 계산 추적 변환). 회전 게이트 및 선택적으로 CCX 게이트를 격자 수술 리소스 추정에 적합한 T 상태 기반 작업으로 변환합니다. |
| Trace | |
| TraceQuery |
애플리케이션에서 변환된 추적을 열거하는 쿼리입니다. 추적 쿼리는 각각 기본 매개 변수 도메인을 재정의하기 위한 선택적 키워드 인수를 사용하여 추적 변환 시퀀스를 연결합니다. |
| TraceTransform |
추적 변환에 대한 추상 기본 클래스입니다. |
함수
block_linear_function
block_linear_function(block_size, slope, offset=None)
매개 변수
| Name | Description |
|---|---|
|
block_size
필수
|
|
|
slope
필수
|
|
|
offset
|
Default value: None
|
constant_function
constant_function(value)
매개 변수
| Name | Description |
|---|---|
|
value
필수
|
|
constraint
명령 제약 조건을 만듭니다.
constraint(id: int, encoding: Encoding = Encoding.PHYSICAL, *, arity: int | None = 1, error_rate: ConstraintBound | None = None, **kwargs: bool) -> Constraint
매개 변수
| Name | Description |
|---|---|
|
id
필수
|
명령 ID입니다. |
|
encoding
|
명령 인코딩입니다. PHYSICAL (0) 또는 LOGICAL (1). Default value: 0
|
|
arity
필수
|
<xref:Optional>[int]
명령의 심각도입니다. None이면 명령이 가변 경도를 갖는 것으로 간주됩니다. 기본값은 1입니다. |
|
error_rate
필수
|
<xref:Optional>[<xref:ConstraintBound>]
오류율에 대한 제약 조건입니다. |
|
**kwargs
필수
|
일치하는 명령이 있어야 하는 필수 속성입니다. 유효한 속성 이름: 거리입니다. 속성을 요구하려면 True로 설정합니다. |
키워드 전용 매개 변수
| Name | Description |
|---|---|
|
arity
|
Default value: 1
|
|
error_rate
|
Default value: None
|
반품
| 형식 | Description |
|---|---|
|
명령 제약 조건입니다. |
예외
| 형식 | Description |
|---|---|
|
알 수 없는 속성 이름이 kwargs에 제공된 경우 |
estimate
지정된 애플리케이션 인스턴스 및 아키텍처에 대한 리소스 요구 사항을 예측합니다.
애플리케이션 인스턴스는 여러 추적을 반환할 수 있습니다. 각 추적은 여러 추적 변환을 순서대로 적용하는 추적 쿼리에 의해 변환됩니다. 각 변환은 여러 추적을 반환할 수 있습니다. 마찬가지로, 아키텍처의 ISA는 여러 ISA 변환을 순서대로 적용하는 ISA 쿼리에 의해 변환되며, 각 ISA는 여러 ISA를 반환할 수 있습니다. 변환된 추적과 ISA의 각 조합에 대해 예측이 수행됩니다. 결과는 EstimationTable로 수집되어 반환됩니다.
컬렉션에는 총 큐비트 수 및 총 런타임과 관련하여 최적의 결과만 포함됩니다.
메모
use_graph True로 설정된 경우 사용되는 정리 전략(기본값)
명령별 공간, 시간,
및 오류는 독립적으로 발생합니다. 그러나 결과의 총 큐비트 수
는 팩터리 공간과 런타임 간의 상호 작용에 따라 달라집니다.
factory_qubits = 복사본이 결정되는 × factory_space 복사본
by count.div_ceil(런타임/factory_time). 이 때문에 ISA
명령별 메트릭에서 지배되는 명령은 계속 가능
는 전역적으로 Pareto 최적 결과에 기여합니다(예:
시간이 높을수록 복사본 수가 줄어들어 총 큐비트가 줄어들 수 있습니다.) 그것으로
결과, use_graph=True는 다음과 같은 일부 결과를 놓칠 수 있습니다.
use_graph=False를 찾을 수 있습니다. 완료 시 use_graph=False 사용
파레토 국경이 필요합니다.
estimate(application: Application, architecture: Architecture, isa_query: ISAQuery, trace_query: TraceQuery | None = None, *, max_error: float = 1.0, post_process: bool = False, use_graph: bool = True, name: str | None = None) -> EstimationTable
매개 변수
| Name | Description |
|---|---|
|
application
필수
|
추정할 양자 애플리케이션입니다. |
|
architecture
필수
|
대상 양자 아키텍처입니다. |
|
isa_query
필수
|
아키텍처에서 ISA를 열거하는 ISA 쿼리입니다. |
|
trace_query
|
애플리케이션에서 추적을 열거하는 추적 쿼리입니다. Default value: None
|
|
max_error
필수
|
예측 결과에 허용되는 최대 오류입니다. |
|
post_process
필수
|
True이면 Python 스레드 예측 경로(이후 처리 논리용)를 사용합니다. False(기본값)이면 Rust 병렬 추정 경로를 사용합니다. |
|
use_graph
필수
|
True(기본값)이면 ISA 그래프를 작성하고 추정하는 동안 최적이 아니면 ISA를 정리하는 Rust 추정 경로를 사용합니다. False이면 정리를 수행하지 않고 각 추적에 대해 모든 ISA를 열거하는 Rust 추정 경로를 사용합니다. |
|
name
필수
|
<xref:Optional>[str]
예측에 대한 선택적 이름입니다. 지정된 경우 모든 항목에 대한 결과 테이블에 첫 번째 열로 추가됩니다. |
키워드 전용 매개 변수
| Name | Description |
|---|---|
|
max_error
|
Default value: 1.0
|
|
post_process
|
Default value: False
|
|
use_graph
|
Default value: True
|
|
name
|
Default value: None
|
반품
| 형식 | Description |
|---|---|
|
최적 예측 결과를 포함하는 테이블입니다. |
generic_function
generic_function(func)
매개 변수
| Name | Description |
|---|---|
|
func
필수
|
|
instruction_name
instruction_name(id)
매개 변수
| Name | Description |
|---|---|
|
id
필수
|
|
linear_function
linear_function(slope)
매개 변수
| Name | Description |
|---|---|
|
slope
필수
|
|
plot_estimates
큐비트와 런타임을 표시하는 예측 결과를 표시합니다.
x축에 총 런타임이 표시되고 y축에 실제 큐비트의 총 수가 표시되는 로그 로그 산점도를 만듭니다.
데이터는 단일 EstimationTable 또는 반복 테이블일 수 있습니다. 여러 테이블이 제공되면 각각 별도의 계열로 그려집니다. 테이블에 EstimationTable.name를 통해 설정된 경우 해당 계열의 estimate범례 레이블로 사용됩니다.
runtime_unit 경우(기본값) x축은 None 나노초에서 수세기까지 사람이 읽을 수 있는 시간 단위 틱 레이블을 사용합니다.
단위 문자열이 지정되면(예: "hours") 모든 런타임이 해당 단위로 크기 조정되고 x축 레이블에는 단위가 포함되고 틱은 일반 숫자입니다.
지원되는 runtime_unit 값: "ns", "µs" (또는 "us"), "ms","s", "min", "hours""days", "weeks", . "months""years"
plot_estimates(data: EstimationTable | Iterable[EstimationTable], *, runtime_unit: str | None = None, figsize: tuple[float, float] = (15, 8), scatter_args: dict[str, Any] = {'marker': 'x'})
매개 변수
| Name | Description |
|---|---|
|
data
필수
|
단일 EstimationTable 또는 그릴 EstimationTable 개체의 반복 가능 개체입니다. |
|
runtime_unit
필수
|
x축의 크기를 조정할 시간 단위(선택 사항)입니다. |
|
figsize
필수
|
그림 차원(인치)을 (으로) |
|
scatter_args
필수
|
점을 그리는 경우 전달할 |
키워드 전용 매개 변수
| Name | Description |
|---|---|
|
runtime_unit
|
Default value: None
|
|
figsize
|
Default value: (15, 8)
|
|
scatter_args
|
Default value: {'marker': 'x'}
|
반품
| 형식 | Description |
|---|---|
|
<xref:matplotlib.figure.Figure>
|
플롯을 포함하는 그림입니다. |
예외
| 형식 | Description |
|---|---|
|
matplotlib가 설치되지 않은 경우 |
|
|
모든 테이블이 비어 있거나 runtime_unit 인식되지 않는 경우 |
property_name
property_name(id)
매개 변수
| Name | Description |
|---|---|
|
id
필수
|
|
property_name_to_key
property_name_to_key(name)
매개 변수
| Name | Description |
|---|---|
|
name
필수
|
|