Skip to main content
IBM Quantum Platform

ColibriTD QUICK-PDE-API-Referenz

  • Qiskit Functions

    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.


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
CFDafloatKoeffizient der Anfangswerte von uu1.0
CFDbfloatVersatz der Anfangswerte von „ uu “1.0
MDtfloatOberflächenspannung12.0
MDKfloatVolumenmodul100.0
MDnintPotenzgesetz4.0
MDbfloatKraft pro Masseneinheit10.0
MDepsilon_0floatproportionale Belastungsgrenze0.1
MDsigma_0floatproportionale Dehnungsgrenze5.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 array
solution = {
    "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".

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.