ISATransform Clase

Clase base abstracta para transformaciones entre ISA (por ejemplo, esquemas QEC).

Una transformación ISA define una asignación de un ISA de entrada necesario (por ejemplo, restricciones de arquitectura) a un ISA de salida proporcionado (instrucciones lógicas). Admite la enumeración de parámetros de configuración.

Constructor

ISATransform()

Métodos

bind

Cree un BindingNode para esta transformación.

Este es un método de conveniencia equivalente a cls.q().bind(name, node).

enumerate_isas

Enumere todos los ISA válidos para esta transformación dados ISA de implementación.

Este método recorre en iteración todas las instancias de la clase de transformación (enumerando hiperparámetros) y filtra los ISA de implementación de los requisitos.

provided_isa

Produce ISA proporcionados por esta transformación dado un ISA de implementación.

q

Cree un nodo ISAQuery para esta transformación.

required_isa

Devuelve los requisitos que debe cumplir un ISA de implementación.

bind

Cree un BindingNode para esta transformación.

Este es un método de conveniencia equivalente a cls.q().bind(name, node).

bind(name: str, node: ISAQuery) -> _BindingNode

Parámetros

Nombre Description
name
Requerido
str

Nombre al que se va a enlazar la salida de la transformación.

node
Requerido
<xref:qdk.qre.Node>

Nodo secundario que puede hacer referencia a este enlace.

Devoluciones

Tipo Description
<xref:BindingNode>

Un nodo de enlace que incluye esta transformación.

enumerate_isas

Enumere todos los ISA válidos para esta transformación dados ISA de implementación.

Este método recorre en iteración todas las instancias de la clase de transformación (enumerando hiperparámetros) y filtra los ISA de implementación de los requisitos.

enumerate_isas(impl_isa: ISA | Iterable[ISA], ctx: ISAContext, **kwargs) -> Generator[ISA, None, None]

Parámetros

Nombre Description
impl_isa
Requerido
<xref:ISA | Iterable>[<xref:ISA>]

Uno o varios ISA de implementación.

ctx
Requerido

Contexto de enumeración.

**kwargs
Requerido

Argumentos pasados a la enumeración de parámetros.

provided_isa

Produce ISA proporcionados por esta transformación dado un ISA de implementación.

abstract provided_isa(impl_isa: ISA, ctx: ISAContext) -> Generator[ISA, None, None]

Parámetros

Nombre Description
impl_isa
Requerido
ISA

Isa de implementación que cumple los requisitos.

ctx
Requerido

Contexto de enumeración cuyo gráfico de procedencia almacena las instrucciones.

q

Cree un nodo ISAQuery para esta transformación.

q(*, source: ISAQuery | None = None, **kwargs) -> ISAQuery

Parámetros

Nombre Description
source
Requerido
<xref:<xref:qdk.qre.Node | None>>

Nodo de origen que proporciona ISA de implementación. El valor predeterminado es ISA_ROOT.

**kwargs
Requerido

Valores fijos o dominios para campos dataclass. Los campos de solo palabra clave con se metadata["domain"] enumeran automáticamente; al pasar un valor para este tipo de campo, se invalida o se restringe el dominio. Los campos que no son de solo palabra clave que se pasan aquí se usan como valores fijos para todas las instancias enumeradas.

Por ejemplo, dada una transformación con un campo threshold que no sea de solo palabra clave y un campo distance de solo palabra clave con un dominio, la llamada a MyTransform.q(threshold=0.03) correcciones threshold a 0,03 sigue enumerando todos los valores del distance dominio.

Parámetros de palabra clave únicamente

Nombre Description
source
Valor predeterminado: None

Devoluciones

Tipo Description

Nodo de enumeración que representa esta transformación.

required_isa

Devuelve los requisitos que debe cumplir un ISA de implementación.

abstract static required_isa() -> ISARequirements

Devoluciones

Tipo Description

Los requisitos para el ISA subyacente.