Skip to main content
IBM Quantum Platform

QuantumProgram

class QuantumProgram(shots, items=None, noise_maps=None, meas_level='classified', passthrough_data=None)

GitHub

Bases: object

Um executável de tempo de execução quântico.

Um programa quântico consiste em uma lista de elementos ordenados, cada um dos quais contém um único circuito e uma matriz de valores de parâmetros associados. A execução de um programa quântico irá amostrar o resultado de cada circuito para o número especificado de shots iterações, para cada conjunto de argumentos de circuito fornecido.

Parâmetros

  • shots (int) – O número de repetições por execução do circuito.

  • items (Iterable[QuantumProgramItem] | None) – Itens que compõem o programa.

  • noise_maps (dict[str, PauliLindbladMap] | None) – Mapas de ruído para uso com itens Samplex.

  • meas_level (Literal['classified', 'kerneled', 'avg_kerneled', 'both']) –

    O nível no qual devem ser retornados todos os resultados das medições clássicas de registro. Esse valor define o tipo de retorno de todos os registros clássicos em todos os itens do programa quântico e determina se os dados complexos brutos provenientes de dispositivos de medição de baixo nível são divididos em bits ou não. Os valores suportados são

    • ”classificado”: Os dados do registro clássico são retornados como matrizes booleanas com o

      (num_shots, creg_size)forma intrínseca.

    • ”kerneled”: Os dados do registro clássico são retornados como uma matriz complexa com o

      (num_shots, creg_size)forma intrínseca, em que cada entrada representa um ponto de dados de QI (resultante da aplicação do kernel ao traço da medição) em unidades arbitrárias.

    • ”avg_kerneled”: Os dados do registro clássico são retornados como uma matriz complexa com o

      (creg_size,)forma intrínseca, em que os dados são equivalentes aos “kernelizados”, exceto que são adicionalmente calculados como média entre os shots.

    passthrough_data: Dados aninhados arbitrários que passam pela execução sem sofrerem modificações.

  • passthrough_data (DataTree | None)


Métodos

append_circuit_item

append_circuit_item(circuit, *, circuit_arguments=None, chunk_size=None)

GitHub

Adicione um novo CircuitItem a este programa.

Parâmetros

  • circuit (QuantumCircuit) – O circuito deste item.
  • circuit_arguments (ndarray | None) – Uma matriz de valores reais dos parâmetros do circuito. O último eixo é intrínseco, com dimensão igual ao número de parâmetros do circuito. Os eixos principais são extrínsecos e definem a malha de varredura.
  • chunk_size (int | None) – O número máximo de circuitos vinculados em cada execução do loop de disparo, ou None utilizar uma heurística do lado do servidor para otimizar a velocidade. Quando não está sendo executado em uma sessão, a heurística do lado do servidor é sempre utilizada e esse valor é ignorado.

Tipo de retorno

Nenhum

append_samplex_item

append_samplex_item(circuit, *, samplex, samplex_arguments=None, shape=None, chunk_size=None)

GitHub

Adicione um novo SamplexItem a este programa.

Parâmetros

  • circuit (QuantumCircuit) – O circuito deste item.
  • samplex (Samplex) – Um código para gerar parâmetros aleatórios para o circuito.
  • samplex_arguments (dict[str, Any] | None) – Um mapeamento dos nomes dos argumentos para os valores dos argumentos do samplex. Cada matriz de argumentos possui eixos intrínsecos determinados por seu tipo (por exemplo, parameter_values possui a forma (n,) intrínseca para n parâmetros). As formas extrínsecas de todos os argumentos são transmitidas em conjunto.
  • shape (tuple[int, ...] | None) – Uma forma para a qual a forma extrínseca do item deve poder ser transmitida. Os eixos em que shape excede a forma implícita em samplex_arguments enumeram aleatorizações independentes.
  • chunk_size (int | None) – O número máximo de circuitos vinculados em cada execução do loop de disparo, ou None utilizar uma heurística do lado do servidor para otimizar a velocidade. Quando não está sendo executado em uma sessão, a heurística do lado do servidor é sempre utilizada e esse valor é ignorado.

Tipo de retorno

Nenhum

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