Skip to main content
IBM Quantum Platform

ParameterExpression

class qiskit.circuit.ParameterExpression(name_map, expr)

Basi: object

Un'espressione di parametro.

Questo è supportato dal motore di espressione simbolica di Qiskit e da una cache per i parametri all'interno dell'espressione.


Attributi

num_parameters

Il numero di parametri non associati nell'espressione.

Ciò equivale a len(expr.parameters) ma non comporta il sovraccarico di creare un insieme e contarne la lunghezza.

parameters

Ottiene i parametri presenti nell'espressione.

Nota

Qiskit garantisce l'uguaglianza (tramite ==) tra i parametri recuperati da un'espressione e gli oggetti originali utilizzati per creare l'espressione Parameter originali utilizzati per creare l'espressione, ma non garantisce che i confronti is abbiano successo.


Metodi

abs

abs()

Prendere il valore assoluto dell'espressione.

arccos

arccos()

Arccosina dell'espressione.

arcsin

arcsin()

Arcsine dell'espressione.

arctan

arctan()

Arctangente dell'espressione.

assign

assign(parameter, value)

Assegna un parametro a un valore, che può essere numerico o un'altra espressione di parametro.

Parametri

  • parametro - Un parametro di questa espressione il cui valore sarà aggiornato.
  • value - Il nuovo valore a cui legarsi.

Risultati

Una nuova espressione parametrizzata da qualsiasi parametro non vincolato dall'assegnazione.

bind

bind(parameter_values, allow_unknown_parameters=False)

Lega l'insieme dei parametri forniti ai loro valori corrispondenti.

Parametri

  • parametri_valori - Mappatura delle Parameter al valore numerico a cui saranno legati.
  • allow_unknown_parameters - Se False, solleva un errore se parameter_values contiene Parameternelle chiavi al di fuori di quelle presenti nell'espressione. Se True, tali parametri vengono semplicemente ignorati.

Aumenti

  • CircuitError

    • Se parametri_valori contiene parametri diversi da quelli presenti in self. - Se viene passato un valore non numerico in parameter_values.
  • ZeroDivisionError

    • Se il vincolo dei valori forniti richiede la divisione per zero.

Risultati

Una nuova espressione parametrizzata da qualsiasi parametro non vincolato da parameter_values.

bind_all

bind_all(values)

Lega tutti i parametri di self ai valori numerici del dizionario, restituendo un valore numerico.

Questo è un caso particolare di bind() che può raggiungere prestazioni più elevate. Non è un problema che il dizionario values contenga parametri non utilizzati in questa espressione; l'aspettativa è che lo stesso dizionario dei vincoli venga fornito anche ad altre espressioni.

È un errore chiamare questo metodo con un dizionario values che non vincola tutti i valori o chiamarlo con valori non numerici, ma questo non viene controllato esplicitamente, poiché questo metodo è destinato a un uso sensibile alle prestazioni. Il passaggio di un dizionario errato può provocare un comportamento imprevisto.

A differenza di bind()questo metodo non solleva un'eccezione se vengono incontrati valori in virgola mobile non finiti.

Parametri

valori - mappatura dei parametri in valori numerici.

conjugate

conjugate()

Restituisce la coniugazione complessa dell'espressione.

cos

cos()

Coseno dell'espressione.

exp

exp()

Esponenzia l'espressione.

gradient

gradient(param)

Restituisce la derivata di questa espressione rispetto al parametro di ingresso.

Parametri

param - Il parametro rispetto al quale viene calcolata la derivata.

Risultati

La derivata come valore numerico costante o come valore simbolico ParameterExpression.

is_real

is_real()

Verificare se l'espressione rappresenta un numero reale.

Si noti che questo restituirà None se ci sono parametri non vincolati, nel qual caso non è possibile determinare se l'espressione è reale.

is_symbol

is_symbol()

Controlla se l'espressione corrisponde a un simbolo semplice.

Risultati

True se questa espressione corrisponde a un simbolo, False altrimenti.

log

log()

Prendere il logaritmo naturale dell'espressione.

numeric

numeric(strict=True)

Fusione di questa espressione in un valore numerico.

Parametri

strict - Se True (valore predefinito) questa funzione solleva un errore se ci sono simboli non legati nell'espressione. Se False, consente di eseguire il casting se l'espressione rappresenta un valore numerico, indipendentemente dai simboli non legati. Ad esempio, (0 * Parameter("x")) è 0 ma ha il simbolo x .

sign

sign()

Restituisce il segno dell'espressione.

sin

sin()

Seno dell'espressione.

subs

subs(parameter_map, allow_unknown_parameters=False)

Restituisce una nuova espressione con parametri sostitutivi.

Parametri

  • parametro_mappa - Mappatura da Parameterin self alle istanze ParameterExpression con cui devono essere sostituite.
  • allow_unknown_parameters - Se False, solleva un errore se parameter_map contiene Parameternelle chiavi al di fuori di quelle presenti nell'espressione. Se True, tali parametri vengono semplicemente ignorati.

Aumenti

CircuitError

  • Se parameter_map contiene parametri diversi da quelli presenti in self. - Se i parametri sostitutivi in parameter_map causerebbero un conflitto di nomi nell'espressione generata.

Risultati

Una nuova espressione con la sostituzione dei parametri specificati.

sympify

sympify()

Restituisce un equivalente SymPy di questa espressione.

Risultati

Un equivalente SymPy di questa espressione.

tan

tan()

Tangente dell'espressione.

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.