ISATransform Classe
Classe base astratta per le trasformazioni tra isa (ad esempio, schemi QEC).
Una trasformazione ISA definisce un mapping da un ISA di input obbligatorio (ad esempio, vincoli di architettura) a un ISA di output fornito (istruzioni logiche). Supporta l'enumerazione dei parametri di configurazione.
Costruttore
ISATransform()
Metodi
| bind |
Creare un BindingNode per questa trasformazione. Si tratta di un metodo pratico equivalente a |
| enumerate_isas |
Enumerare tutti gli ISA validi per questa trasformazione specifica implementazione isas. Questo metodo esegue l'iterazione su tutte le istanze della classe di trasformazione (enumerazione degli iperparametri) e filtra l'implementazione degli ISA in base ai requisiti. |
| provided_isa |
Restituisce gli ISA forniti da questa trasformazione in base a un'implementazione ISA. |
| q |
Creare un nodo ISAQuery per questa trasformazione. |
| required_isa |
Restituisce i requisiti che un'implementazione ISA deve soddisfare. |
bind
Creare un BindingNode per questa trasformazione.
Si tratta di un metodo pratico equivalente a cls.q().bind(name, node).
bind(name: str, node: ISAQuery) -> _BindingNode
Parametri
| Nome | Descrizione |
|---|---|
|
name
Necessario
|
Nome a cui associare l'output della trasformazione. |
|
node
Necessario
|
<xref:qdk.qre.Node>
Nodo figlio che può fare riferimento a questa associazione. |
Valori restituiti
| Tipo | Descrizione |
|---|---|
|
<xref:BindingNode>
|
Nodo di associazione che racchiude questa trasformazione. |
enumerate_isas
Enumerare tutti gli ISA validi per questa trasformazione specifica implementazione isas.
Questo metodo esegue l'iterazione su tutte le istanze della classe di trasformazione (enumerazione degli iperparametri) e filtra l'implementazione degli ISA in base ai requisiti.
enumerate_isas(impl_isa: ISA | Iterable[ISA], ctx: ISAContext, **kwargs) -> Generator[ISA, None, None]
Parametri
| Nome | Descrizione |
|---|---|
|
impl_isa
Necessario
|
<xref:ISA | Iterable>[<xref:ISA>]
Uno o più ISA di implementazione. |
|
ctx
Necessario
|
Contesto di enumerazione. |
|
**kwargs
Necessario
|
Argomenti passati all'enumerazione dei parametri. |
provided_isa
Restituisce gli ISA forniti da questa trasformazione in base a un'implementazione ISA.
abstract provided_isa(impl_isa: ISA, ctx: ISAContext) -> Generator[ISA, None, None]
Parametri
| Nome | Descrizione |
|---|---|
|
impl_isa
Necessario
|
Implementazione di ISA che soddisfa i requisiti. |
|
ctx
Necessario
|
Contesto di enumerazione il cui grafico di provenienza archivia le istruzioni. |
q
Creare un nodo ISAQuery per questa trasformazione.
q(*, source: ISAQuery | None = None, **kwargs) -> ISAQuery
Parametri
| Nome | Descrizione |
|---|---|
|
source
Necessario
|
<xref:<xref:qdk.qre.Node | None>>
Nodo di origine che fornisce gli ISA di implementazione. Il valore predefinito è ISA_ROOT. |
|
**kwargs
Necessario
|
Valori fissi o domini per i campi della classe dati. I campi di sola parola chiave con un Ad esempio, data una trasformazione con un campo solo parola chiave e un campo |
Parametri di sole parole chiave
| Nome | Descrizione |
|---|---|
|
source
|
Valore predefinito: None
|
Valori restituiti
| Tipo | Descrizione |
|---|---|
|
Nodo di enumerazione che rappresenta questa trasformazione. |
required_isa
Restituisce i requisiti che un'implementazione ISA deve soddisfare.
abstract static required_isa() -> ISARequirements
Valori restituiti
| Tipo | Descrizione |
|---|---|
|
Requisiti per l'ISA sottostante. |