Skip to main content
IBM Quantum Platform

QkObsTerm

Esse é um grupo de funções para interagir com uma instância opaca (espaço Rust) do site SparseTerm.


Tipos de dados

QkObsTerm

struct QkObsTerm

Um termo em um QkObs.

Ele contém o coeficiente (coeff), o número de qubits do observável (num_qubits) e os ponteiros para as matrizes bit_terms e indices , que têm o comprimento len. É responsabilidade do usuário que os dados sejam coerentes; consulte também a seção abaixo sobre segurança.

Segurança

  • bit_terms deve ser um ponteiro alinhado e não nulo para len elementos do tipo QkBitTerm.
  • indices deve ser um ponteiro alinhado e não nulo para len elementos do tipo uint32_t.

QkComplex64 coeficiente

O coeficiente do termo observável.

tamanho_t comprimento

Comprimento das matrizes bit_terms e indices .

QkBitTerm *termos-bit

Um ponteiro alinhado para len elementos do tipo QkBitTerm. Isso pode ocorrer NULL se e somente se len for 0.

uint32_t *índices

Um ponteiro alinhado para len elementos do tipo uint32_t. Isso pode ocorrer NULL se e somente se len for 0.

uint32_t número de qubits

O número de qubits em que o termo observável é definido.


Funções

qk_obsterm_str

char *qk_obsterm_str(const QkObsTerm *term)

Retorna uma representação de cadeia de caracteres do termo esparso.

Exemplo

QkObs *obs = qk_obs_identity(100);
QkObsTerm term;
qk_obs_term(obs, 0, &term);
char *string = qk_obsterm_str(&term);
qk_str_free(string);

Segurança

O comportamento é indefinido term não é um ponteiro válido e não nulo para um QkObsTerm.

A string não deve ser liberada com o C free normal; você deve usar qk_str_free para liberar a memória consumida pela String. Não chamar o endereço qk_str_free resultará em um vazamento de memória.

Não altere o comprimento da cadeia de caracteres depois que ela for retornada, embora os valores possam ser alterados.

Parâmetros

  • term - Um ponteiro para o termo.

Retorna

O código de saída da função. Acesse >0 se a leitura do termo falhar.

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.