Skip to main content
IBM Quantum Platform

ParameterExpression

class qiskit.circuit.ParameterExpression(name_map, expr)

Basen: object

Ein Parameterausdruck.

Unterstützt wird dies durch Qiskits Engine für symbolische Ausdrücke und einen Cache für die Parameter innerhalb des Ausdrucks.


Attribute

num_parameters

Die Anzahl der ungebundenen Parameter im Ausdruck.

Dies entspricht, beinhaltet len(expr.parameters) jedoch nicht den Aufwand für die Erstellung einer Menge und die Zählung ihrer Länge.

parameters

Ermittelt die im Ausdruck vorhandenen Parameter.

Anmerkung

Qiskit garantiert die Gleichheit (über ==) von Parametern, die von einem Ausdruck abgerufen werden, mit den ursprünglichen Parameter objekten, die zur Erstellung dieses Ausdrucks verwendet wurden, aber es garantiert nicht, dass is Vergleiche erfolgreich sind.


Methoden

abs

abs()

Nehmen Sie den absoluten Wert des Ausdrucks.

arccos

arccos()

Arccosine des Ausdrucks.

arcsin

arcsin()

Arkussinus des Ausdrucks.

arctan

arctan()

Arkustangens des Ausdrucks.

assign

assign(parameter, value)

Weisen Sie einem Parameter einen Wert zu, der entweder numerisch oder ein anderer Parameterausdruck sein kann.

Parameter

  • parameter - Ein Parameter in diesem Ausdruck, dessen Wert aktualisiert werden soll.
  • value - Der neue Wert, an den gebunden werden soll.

Rückgabe

Ein neuer Ausdruck, parametrisiert durch alle Parameter, die nicht durch Zuweisung gebunden wurden.

bind

bind(parameter_values, allow_unknown_parameters=False)

Bindet den angegebenen Satz von Parametern an die entsprechenden Werte.

Parameter

  • parameter_values - Zuweisung von Parameter instanzen auf den numerischen Wert, an den sie gebunden werden sollen.
  • allow_unknown_parameters - Wenn False, wird ein Fehler ausgelöst, wenn parameter_values Parameters in den Schlüsseln enthält, die nicht in dem Ausdruck enthalten sind. Wenn True, werden solche Parameter einfach ignoriert.

Erhöht

  • CircuitError –

    • Wenn parameter_values Parameter enthält, die nicht in self enthalten sind. - Wenn ein nicht numerischer Wert in parameter_values übergeben wird.
  • ZeroDivisionError –

    • Wenn die Bindung der angegebenen Werte eine Division durch Null erfordert.

Rückgabe

Ein neuer Ausdruck, der mit allen Parametern parametrisiert ist, die nicht durch parameter_values gebunden wurden.

bind_all

bind_all(values)

Bindet alle Parameter in self an numerische Werte im Wörterbuch und gibt einen numerischen Wert zurück.

Dies ist ein Spezialfall von bind() der eine höhere Leistung erreichen kann. Es ist kein Problem, wenn das Wörterbuch values Parameter enthält, die in diesem Ausdruck nicht verwendet werden; es wird erwartet, dass dasselbe Bindungswörterbuch auch in andere Ausdrücke eingegeben wird.

Es ist ein Fehler, diese Methode mit einem values Wörterbuch aufzurufen, das nicht alle Werte bindet, oder diese Methode mit nicht numerischen Werten aufzurufen, aber dies wird nicht explizit geprüft, da diese Methode für eine leistungsabhängige Verwendung gedacht ist. Die Übergabe eines falschen Wörterbuchs kann zu unerwartetem Verhalten führen.

Im Gegensatz zu bind()löst diese Methode keine Ausnahme aus, wenn nicht-unendliche Fließkommawerte angetroffen werden.

Parameter

werte - Zuordnung von Parametern zu numerischen Werten.

conjugate

conjugate()

Gibt die komplex Konjugierte des Ausdrucks zurück.

cos

cos()

Kosinus des Ausdrucks.

exp

exp()

Potenzieren Sie den Ausdruck.

gradient

gradient(param)

Rückgabe der Ableitung dieses Ausdrucks nach dem Eingabeparameter.

Parameter

param - Der Parameter, nach dem die Ableitung berechnet wird.

Rückgabe

Die Ableitung entweder als konstanter numerischer Wert oder als symbolischer Wert ParameterExpression.

is_real

is_real()

Prüfen Sie, ob der Ausdruck eine reelle Zahl darstellt.

Beachten Sie, dass dies None zurückgibt, wenn es ungebundene Parameter gibt. In diesem Fall kann nicht festgestellt werden, ob der Ausdruck real ist.

is_symbol

is_symbol()

Prüfen Sie, ob der Ausdruck einem einfachen Symbol entspricht.

Rückgabe

True ist, dass dieser Ausdruck einem Symbol entspricht, ansonsten False .

log

log()

Nehmen Sie den natürlichen Logarithmus des Ausdrucks.

numeric

numeric(strict=True)

Wandelt diesen Ausdruck in einen numerischen Wert um.

Parameter

strict - Wenn True (Standard), löst diese Funktion einen Fehler aus, wenn es irgendwelche ungebundenen Symbole im Ausdruck gibt. Wenn False, ermöglicht dies das Casting, wenn der Ausdruck einen numerischen Wert darstellt, unabhängig von ungebundenen Symbolen. Zum Beispiel (0 * Parameter("x")) ist 0, aber das Symbol x ist vorhanden.

sign

sign()

Gibt das Vorzeichen des Ausdrucks zurück.

sin

sin()

Sinus des Ausdrucks.

subs

subs(parameter_map, allow_unknown_parameters=False)

Gibt einen neuen Ausdruck mit Ersatzparametern zurück.

Parameter

  • parameter_map - Mapping von Parameters in self auf die ParameterExpression instanzen, durch die sie ersetzt werden sollen.
  • allow_unknown_parameters - Wenn False, wird ein Fehler ausgelöst, wenn parameter_map Parameters in den Schlüsseln enthält, die nicht in dem Ausdruck enthalten sind. Wenn True, werden solche Parameter einfach ignoriert.

Erhöht

CircuitError –

  • Wenn parameter_map Parameter enthält, die nicht in self enthalten sind. - Wenn die Ersatzparameter in parameter_map zu einem Namenskonflikt in dem erzeugten Ausdruck führen würden.

Rückgabe

Ein neuer Ausdruck, bei dem die angegebenen Parameter ersetzt werden.

sympify

sympify()

Gibt eine SymPy Entsprechung dieses Ausdrucks zurück.

Rückgabe

Eine SymPy Entsprechung dieses Ausdrucks.

tan

tan()

Tangente des Ausdrucks.

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