QuantumProgram
class QuantumProgram(shots, items=None, noise_maps=None, meas_level='classified', passthrough_data=None)
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)
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
Noneutilizar 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)
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_valuespossui a forma(n,)intrínseca paranparâ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
shapeexcede a forma implícita emsamplex_argumentsenumeram aleatorizações independentes. - chunk_size (int | None) – O número máximo de circuitos vinculados em cada execução do loop de disparo, ou
Noneutilizar 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