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 |
| 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
|
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 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 Por ejemplo, dada una transformación con un campo |
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. |