ISAContext Classe

Contexto passado por enumeração, mantendo o estado compartilhado.

Inicialize o contexto ISA para a arquitetura fornecida.

Construtor

ISAContext(arch: Architecture)

Parâmetros

Nome Description
arch
Obrigatório

A arquitetura que fornece o ISA base.

Métodos

add_instruction

Crie uma instrução e adicione-a ao grafo de procedência.

Pode ser chamado de duas maneiras:

  1. Com os argumentos de palavra-chave para criar uma nova instrução:

    
       ctx.add_instruction(T, encoding=LOGICAL, time=1000,
                           error_rate=1e-8)
    
  2. Com um objeto pré-existente Instruction (por exemplo, de with_id()):

    
       ctx.add_instruction(existing_instruction)
    

A procedência é registrada quando a transformação e/ou a origem são fornecidas:

  • transformação – o ISATransform que produziu a instrução.

  • origem – instruções de entrada consumidas pela transformação.

make_isa

Crie um ISA apoiado pelo grafo de procedência desse contexto a partir dos índices de nó fornecidos.

add_instruction

Crie uma instrução e adicione-a ao grafo de procedência.

Pode ser chamado de duas maneiras:

  1. Com os argumentos de palavra-chave para criar uma nova instrução:

    
       ctx.add_instruction(T, encoding=LOGICAL, time=1000,
                           error_rate=1e-8)
    
  2. Com um objeto pré-existente Instruction (por exemplo, de with_id()):

    
       ctx.add_instruction(existing_instruction)
    

A procedência é registrada quando a transformação e/ou a origem são fornecidas:

  • transformação – o ISATransform que produziu a instrução.

  • origem – instruções de entrada consumidas pela transformação.

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

Parâmetros

Nome Description
id_or_instruction
Obrigatório

Uma ID de instrução (int) para criar uma nova instrução ou um objeto existente Instruction .

encoding

A codificação de instrução (0 = Físico, 1 = Lógico). Ignorado ao passar um existente Instruction.

Valor padrão: 0
arity
Obrigatório

O arity de instrução. None para aridade variável. Ignorado ao passar um existente Instruction.

time
Obrigatório

Tempo de instrução em ns (ou _IntFunction para aridade variável). Ignorado ao passar um existente Instruction.

space
Obrigatório

Espaço de instrução em qubits físicos (ou _IntFunction para aridade variável). Ignorado ao passar um existente Instruction.

length
Obrigatório

Arity incluindo qubits de ancilla. Ignorado ao passar um existente Instruction.

error_rate
Obrigatório

Taxa de erro de instrução (ou _FloatFunction para aridade variável). Ignorado ao passar um existente Instruction.

transform
Obrigatório

O ISATransform que produziu a instrução.

source
Obrigatório

Lista de objetos de origem Instruction consumidos pela transformação.

**kwargs
Obrigatório

Propriedades adicionais (por exemplo distance=9). Ignorado ao passar um existente Instruction.

Parâmetros somente de palavra-chave

Nome Description
arity
Valor padrão: 1
time
Valor padrão: 0
space
Valor padrão: None
length
Valor padrão: None
error_rate
Valor padrão: 0.0
transform
Valor padrão: None
source
Valor padrão: None

Retornos

Tipo Description

O índice do nó no grafo de procedência.

Exceções

Tipo Description

Se um nome de propriedade desconhecido for fornecido em kwargs.

make_isa

Crie um ISA apoiado pelo grafo de procedência desse contexto a partir dos índices de nó fornecidos.

make_isa(*node_indices: int) -> ISA

Parâmetros

Nome Description
*node_indices
Obrigatório
int

Índices de nó no grafo de procedência.

Retornos

Tipo Description
ISA

Um ISA que faz referência ao grafo de procedência.

Atributos

isa

O ISA fornecido pela arquitetura para esse contexto.