ISAContext 類別

上下文透過列舉傳遞,並保持共享狀態。

初始化該架構的 ISA 上下文。

建構函式

ISAContext(arch: Architecture)

參數

名稱 Description
arch
必要

提供基礎指令集架構。

方法

add_instruction

建立指令並加入來源圖。

可以有兩種稱呼方式:

  1. 利用關鍵字 arg 來建立新指令:

    
       ctx.add_instruction(T, encoding=LOGICAL, time=1000,
                           error_rate=1e-8)
    
  2. 當已有 Instruction 物件(例如來自 with_id()):

    
       ctx.add_instruction(existing_instruction)
    

當提供 轉換 和/或 來源 時,會記錄來源:

  • 轉換 ——產生指令的那個 ISATransform 。

  • 來源 — 轉換所消耗的輸入指令。

make_isa

建立一個ISA,並以該上下文的來源圖作為節點索引的基礎圖支持。

add_instruction

建立指令並加入來源圖。

可以有兩種稱呼方式:

  1. 利用關鍵字 arg 來建立新指令:

    
       ctx.add_instruction(T, encoding=LOGICAL, time=1000,
                           error_rate=1e-8)
    
  2. 當已有 Instruction 物件(例如來自 with_id()):

    
       ctx.add_instruction(existing_instruction)
    

當提供 轉換 和/或 來源 時,會記錄來源:

  • 轉換 ——產生指令的那個 ISATransform 。

  • 來源 — 轉換所消耗的輸入指令。

add_instruction(id_or_instruction: int | Instruction, encoding: Encoding = 0, *, arity: int | None = 1, time: int | _IntFunction = 0, space: int | None | _IntFunction = None, length: int | _IntFunction | None = None, error_rate: float | _FloatFunction = 0.0, transform: ISATransform | None = None, source: list[Instruction] | None = None, **kwargs: int) -> int

參數

名稱 Description
id_or_instruction
必要

要麼是用於建立新指令的指令 ID(int),要麼是現有 Instruction 的物件。

encoding

指令編碼(0 = 物理編碼,1 = 邏輯編碼)。 當通過現有 Instruction的 .

預設值: 0
arity
必要

教學水準。 None 對於可變元數。 當通過現有 Instruction的 .

time
必要

指令時間以 ns 為單位(或 _IntFunction 可變元數)。 當通過現有 Instruction的 .

space
必要

以物理量子位元(或 _IntFunction 可變元)為單位的指令空間。 當通過現有 Instruction的 .

length
必要

包含輔助量子位元。 當通過現有 Instruction的 .

error_rate
必要

指令錯誤率(或 _FloatFunction 可變元率)。 當通過現有 Instruction的 .

transform
必要

然後 ISATransform 產生了指令。

source
必要

轉換所消耗的來源 Instruction 物件清單。

**kwargs
必要

附加性質(例如 distance=9)。 當通過現有 Instruction的 .

僅限關鍵字的參數

名稱 Description
arity
預設值: 1
time
預設值: 0
space
預設值: None
length
預設值: None
error_rate
預設值: 0.0
transform
預設值: None
source
預設值: None

傳回

類型 Description

來源圖中的節點索引。

例外狀況

類型 Description

如果kwargs中提供了未知的房產名稱。

make_isa

建立一個ISA,並以該上下文的來源圖作為節點索引的基礎圖支持。

make_isa(*node_indices: int) -> ISA

參數

名稱 Description
*node_indices
必要
int

來源圖中的節點索引。

傳回

類型 Description
ISA

一個參考來源圖的ISA。

屬性

isa

架構為此情境提供了指令集(ISA)。