ColibriTD QUICK-PDE-API-Referenz
Qiskit Functions — von Partnerorganisationen entwickelte vorgefertigte Tools — abstrahieren Teile des Softwareentwicklungs-Workflows, um die Erforschung von Algorithmen und die Anwendungsentwicklung im großen Maßstab zu vereinfachen und zu beschleunigen. Klicken Sie hier, um die Anleitung zu dieser Qiskit-Funktion anzuzeigen.
QUICK-PDE Qiskit-Funktionshandbuch
Eingaben
use_case
Typ: `Literal['MD', 'CFD']`
Klicken Sie hier, um das zu lösende Differentialgleichungssystem auszuwählen
- Anwendungsspezifisch: Nein
- Beispiel:
"CFD"
parameters
Typ: `dict[str, Any]`
Die Parameter der Differentialgleichung (physikalische Parameter und Randbedingungen) müssen dem vorgegebenen Format entsprechen:
Anwendungsfall | Schlüssel | Werttyp | Beschreibung | Beispiel |
|---|---|---|---|---|
| CFD | a | float | Koeffizient der Anfangswerte von | 1.0 |
| CFD | b | float | Versatz der Anfangswerte von „ “ | 1.0 |
| MD | t | float | Oberflächenspannung | 12.0 |
| MD | K | float | Volumenmodul | 100.0 |
| MD | n | int | Potenzgesetz | 4.0 |
| MD | b | float | Kraft pro Masseneinheit | 10.0 |
| MD | epsilon_0 | float | proportionale Belastungsgrenze | 0.1 |
| MD | sigma_0 | float | proportionale Dehnungsgrenze | 5.0 |
- Anwendungsspezifisch: Nein
- Beispiel:
{"a": 1.0, "b": 1.0}
nb_qubits
Typ: `Optional[dict[str, dict[str, int]]]`
Anzahl der Qubits pro Funktion und pro Variable. Die Funktion wählt optimierte Werte aus, aber wenn Sie versuchen möchten, eine bessere Kombination zu finden, können Sie die Standardwerte überschreiben.
- Anwendungsspezifisch: Nein
- Beispiel:
{"u": {"x": 1, "t":3}}
depth
Typ: `Optional[dict[str, int]]`
Ansatztiefe pro Funktion. Die Funktion wählt optimierte Werte aus, aber wenn Sie versuchen möchten, eine bessere Kombination zu finden, können Sie die Standardwerte überschreiben.
- Anwendungsspezifisch: Nein
- Beispiel:
{"u": 4}
optimizer
Typ: `Optional[list[str]]`
Zu verwendende Optimierer: entweder „CMAES“ aus dem cma Python-Bibliothek oder einer der Optimierer von SciPy
- Anwendungsspezifisch: MD
- Beispiel:
"SLSQP"
shots
Typ: `Optional[list[int]]`
Anzahl der Schüsse, die für die Durchführung jedes Durchgangs benötigt wurden. Da mehrere Optimierungsschritte erforderlich sind, muss die Länge der Liste der Anzahl der verwendeten Optimierer entsprechen (im Fall von CFD sind dies 4). Standardmäßig [50_000] * nb_optimizers für MD und [5_00, 2_000, 5_000, 10_000] für CFD.
- Anwendungsspezifisch: Nein
- Beispiel:
[15_000, 30_000]
optimizer_options
Typ: `Optional[dict[str, Any]]`
Optionen, die an den Optimierer übergeben werden sollen. Die Einzelheiten dieser Eingabe hängen vom verwendeten Optimierer ab; Einzelheiten finden Sie in der Dokumentation des jeweiligen Optimierers.
- Anwendungsspezifisch: MD
- Beispiel:
{"maxiter": 50 }
initialization
Typ: `Optional[Literal['RANDOM', 'PHYSICALLY_INFORMED']]`
Standardwert: `PHYSICALLY_INFORMED`
Ob man mit zufälligen Winkeln oder mit sorgfältig ausgewählten Winkeln beginnen soll. Beachten Sie, dass geschickt gewählte Blickwinkel möglicherweise nicht in 100 % der Fälle funktionieren.
- Anwendungsspezifisch: Nein
- Beispiel:
"RANDOM"
backend_name
Typ: `Optional[str]`
Der zu verwendende Backend-Name.
- Anwendungsspezifisch: Nein
- Beispiel:
ibm_torino
mode
Typ: `Optional[Literal['job', 'session', 'batch']]`
Standardwert: `job`
Der zu verwendende Ausführungsmodus.
- Anwendungsspezifisch: Nein
- Beispiel:
"job"
Ausgabe
Die Ausgabe ist ein Wörterbuch, das die Liste der Abtastpunkte sowie die Werte der Funktionen an jedem dieser Punkte enthält:
from numpy import arraysolution = {
"functions": {
"u": array(
[
[0.01, 0.1, 1],
[0.02, 0.2, 2],
[0.03, 0.3, 3],
[0.04, 0.4, 4],
]
),
},
"samples": {
"t": array([0.1, 0.2, 0.3, 0.4]),
"x": array([0.5, 0.6, 0.7]),
},
}Die Form eines Lösungsfeldes hängt von den Werten der Variablen ab:
assert len(solution["functions"]["u"].shape) == len(solution["samples"])
for col_size, samples in zip(
solution["functions"]["u"].shape, solution["samples"].values()
):
assert col_size == len(samples)Die Zuordnung zwischen den Stichprobenpunkten der Funktionsvariablen und der Dimension des Lösungsarrays erfolgt in alphanumerischer Reihenfolge der Variablennamen. Wenn die Variablen beispielsweise und "t" sind, stellt eine Zeile von die Werte "x" der Lösung solution["functions"]["u"] für ein festes dar "t", und eine Spalte von solution["functions"]["u"] stellt die Werte der Lösung für ein festes dar "x".