Application Klasse
Eine Anwendung definiert eine Klasse von Quantenberechnungsproblemen zusammen mit einer Methode, um Ablaufverfolgungen für bestimmte Probleminstanzen zu generieren.
Wir unterscheiden zwischen Anwendungs- und Ablaufverfolgungsparametern. Die Anwendungsparameter definieren, welche bestimmte Instanz der Anwendung berücksichtigt werden soll. Die Ablaufverfolgungsparameter definieren, wie eine Ablaufverfolgung generiert wird. Sie ändern die spezifische Art und Weise, in der wir das Problem lösen, aber nicht das Problem selbst.
In der Quantenkryptalyse könnten die Anwendungsparameter beispielsweise die Schlüsselgröße für ein RSA Prime-Produkt definieren, während die Ablaufverfolgungsparameter definieren, welcher Algorithmus verwendet werden soll, um die Kryptografie zu unterbrechen, sowie Parameter darin.
Konstruktor
Application()
Methoden
| context |
Erstellen Sie einen neuen Enumerationskontext für diese Anwendung. |
| disable_parallel_traces |
Deaktivieren Sie die parallele Ablaufverfolgungsgenerierung für diese Anwendung. |
| enumerate_traces |
Liefern Sie alle Ablaufverfolgungen einer Anwendung mit ihren Dataclass-Parametern. |
| enumerate_traces_with_parameters |
Ertragspaare (Parameter, Ablaufverfolgung) für eine Anwendung. Wie |
| get_trace |
Gibt die Ablaufverfolgung zurück, die dieser Anwendung und parameter entspricht. |
| post_process |
Nach dem Verarbeiten eines Schätzungsergebnisses für einen bestimmten Satz von Ablaufverfolgungsparametern. |
| q |
Erstellen Sie eine Ablaufverfolgungsabfrage für diese Anwendung. |
context
Erstellen Sie einen neuen Enumerationskontext für diese Anwendung.
context() -> _Context
disable_parallel_traces
Deaktivieren Sie die parallele Ablaufverfolgungsgenerierung für diese Anwendung.
disable_parallel_traces()
enumerate_traces
Liefern Sie alle Ablaufverfolgungen einer Anwendung mit ihren Dataclass-Parametern.
enumerate_traces(**kwargs) -> Generator[Trace, None, None]
Parameter
| Name | Beschreibung |
|---|---|
|
**kwargs
Erforderlich
|
Domänenüberschreibungen, die weitergeleitet werden. |
enumerate_traces_with_parameters
Ertragspaare (Parameter, Ablaufverfolgung) für eine Anwendung.
Wie enumerate_traces, aber jede zurückgegebene Ablaufverfolgung wird von den Ablaufverfolgungsparametern begleitet, die zum Generieren verwendet wurden.
enumerate_traces_with_parameters(**kwargs) -> Generator[tuple[TraceParameters, Trace], None, None]
Parameter
| Name | Beschreibung |
|---|---|
|
**kwargs
Erforderlich
|
Domänenüberschreibungen, die weitergeleitet werden. |
get_trace
Gibt die Ablaufverfolgung zurück, die dieser Anwendung und parameter entspricht.
abstract get_trace(parameters: TraceParameters) -> Trace
Parameter
| Name | Beschreibung |
|---|---|
|
parameters
Erforderlich
|
<xref:qdk.qre.TraceParameters>
Die Ablaufverfolgungsparameter. |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Die Ablaufverfolgung für diese Anwendungsinstanz und Parameter. |
post_process
Nach dem Verarbeiten eines Schätzungsergebnisses für einen bestimmten Satz von Ablaufverfolgungsparametern.
post_process(parameters: TraceParameters, estimation: EstimationResult) -> EstimationResult
Parameter
| Name | Beschreibung |
|---|---|
|
parameters
Erforderlich
|
|
|
estimation
Erforderlich
|
|
q
Erstellen Sie eine Ablaufverfolgungsabfrage für diese Anwendung.
static q(**kwargs) -> TraceQuery
Parameter
| Name | Beschreibung |
|---|---|
|
**kwargs
Erforderlich
|
Domänenüberschreibungen, die an die Ablaufverfolgungsparameterenumeration weitergeleitet werden. |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Eine Ablaufverfolgungsabfrage für diesen Anwendungstyp. |