QkObsTerm
Dies ist eine Gruppe von Funktionen für die Interaktion mit einer undurchsichtigen (Rust-space) SparseTerm Instanz.
Datentypen
QkObsTerm
struct QkObsTerm
Ein Begriff in einer QkObs.
Dieser enthält den Koeffizienten (coeff), die Anzahl der Qubits der Beobachtungsgröße (num_qubits) und Zeiger auf die Arrays bit_terms und indices , die die Länge len haben. Es liegt in der Verantwortung des Nutzers, dass die Daten kohärent sind, siehe auch den unten stehenden Abschnitt über Sicherheit.
Sicherheit
bit_termsmuss ein nicht-nullwertiger, ausgerichteter Zeiger auflenElemente des TypsQkBitTermsein.indicesmuss ein nicht-nullwertiger, ausgerichteter Zeiger auflenElemente des Typsuint32_tsein.
QkComplex64 Koeffizient
Der Koeffizient des beobachtbaren Terms.
size_t len
Länge der Arrays bit_terms und indices .
QkBitTerm *bit_terms
Ein ausgerichteter Zeiger auf len Elemente vom Typ QkBitTerm. Dies ist genau dann NULL der Fall, wenn 0 len ist.
uint32_t *Indizes
Ein ausgerichteter Zeiger auf len Elemente vom Typ uint32_t. Dies ist genau dann NULL der Fall, wenn 0 len ist.
uint32_t Anzahl der Qubits
Die Anzahl der Qubits, für die der beobachtbare Term definiert ist.
Funktionen
qk_obsterm_str
char *qk_obsterm_str(const QkObsTerm *term)
Gibt eine String-Repräsentation des Sparse-Terms zurück.
Beispiel
QkObs *obs = qk_obs_identity(100);
QkObsTerm term;
qk_obs_term(obs, 0, &term);
char *string = qk_obsterm_str(&term);
qk_str_free(string);
qk_obs_free(obs);Sicherheit
Das Verhalten ist undefiniert term ist kein gültiger, nicht-null Zeiger auf ein QkObsTerm.
Die Zeichenkette darf nicht mit dem normalen C free freigegeben werden, Sie müssen qk_str_free verwenden, um den von der Zeichenkette verbrauchten Speicher freizugeben. Der Nichtaufruf von qk_str_free führt zu einem Speicherleck.
Die Länge der Zeichenkette darf nach der Rückgabe nicht mehr geändert werden, obwohl die Werte geändert werden können.
Parameter
- term - Ein Zeiger auf den Begriff.
Rückgabe
Ein Zeiger auf ein mit einem Null-Zeichen abgeschlossenes char-Array, das die Zeichenfolgendarstellung für term