QkObsTerm
Il s'agit d'un groupe de fonctions permettant d'interagir avec une instance opaque (espace Rust) de SparseTerm.
Types de données
QkObsTerm
struct QkObsTerm
Un terme dans un site QkObs.
Il contient le coefficient (coeff), le nombre de qubits de l'observable (num_qubits) et des pointeurs vers les tableaux bit_terms et indices , qui ont une longueur de len. Il incombe à l'utilisateur de s'assurer que les données sont cohérentes, voir également la section ci-dessous sur la sécurité.
Sécurité
bit_termsdoit être un pointeur aligné non nul vers des élémentslende typeQkBitTerm.indicesdoit être un pointeur aligné non nul vers des élémentslende typeuint32_t.
QkComplex64 coefficient
Le coefficient du terme observable.
taille_t longueur
Longueur des tableaux bit_terms et indices .
QkBitTerm *bit_terms
Un pointeur aligné vers len des éléments de type QkBitTerm. Cela peut être le cas NULL si et seulement si len est égal à 0.
uint32_t *indices
Un pointeur aligné vers len des éléments de type uint32_t. Cela peut être le cas NULL si et seulement si len est égal à 0.
uint32_t num_qubits
Le nombre de qubits sur lesquels le terme observable est défini.
Fonctions
qk_obsterm_str
char *qk_obsterm_str(const QkObsTerm *term)
Renvoie une représentation sous forme de chaîne de caractères de l'expression éparse.
Exemple
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);Sécurité
Le comportement est indéfini term n'est pas un pointeur valide et non nul vers QkObsTerm.
La chaîne ne doit pas être libérée à l'aide de la fonction C free normale, vous devez utiliser qk_str_free pour libérer la mémoire consommée par la chaîne. Le fait de ne pas appeler qk_str_free entraînera une fuite de mémoire.
Ne pas modifier la longueur de la chaîne après qu'elle a été renvoyée, bien que les valeurs puissent être modifiées.
Paramètres
- term - Un pointeur sur le terme.
Retours
Un pointeur vers un tableau de caractères terminé par un caractère nul, contenant la représentation sous forme de chaîne de caractères de term