Skip to main content
IBM Quantum Platform

Utilitários

qiskit_addon_slc.utils

Vários serviços públicos.

Este módulo oferece várias funções utilitárias. Algumas delas existem apenas temporariamente para contornar problemas pendentes do Qiskit SDK. Nesse caso, elas são identificadas como tal e podem ser removidas sem aviso prévio ou notificação adicional.

find_indices

find_indices(circuit, bits_or_instruction, /)

GitHub

Encontre os índices dos qubits correspondentes aos índices de bits ou às instruções de circuito fornecidos.

Cuidado

Essa função não é considerada parte da API estável! Ela será removida sem aviso prévio nem fase de descontinuação quando a mesma funcionalidade for suportada nativamente pelo Qiskit SDK. Consulte esta edição para obter mais detalhes.

Parâmetros

Retorna

Os índices dos bits consultados nos registros do circuito. Se for fornecido um objeto de um único bit, int é retornado um único para o seu índice. Caso contrário, o tipo de retorno será um list[int] cujo comprimento seja igual ao número de bits fornecidos.

Aumentos

TypeError – quando bits_or_instruction é fornecido um tipo inesperado de.

Tipo de retorno

int | lista [ int ]

generate_noise_model_paulis

generate_noise_model_paulis(instructions, coupling_map=None, circuit=None)

GitHub

Gere os termos de Pauli de peso 1 e 2 para cada uma das caixas de camada exclusivas 2q fornecidas.

Parâmetros

  • instructions (list[CircuitInstruction]) – a saída de find_unique_box_instructions(). Presume-se que qualquer uma das instruções fornecidas consista apenas em portas de medição ou corresponda a uma camada de instruções de portas de 2 qubits. No primeiro caso, o modelo de ruído gerado conterá apenas erros X de qubit único; no segundo, serão incluídos todos os erros de Pauli de peso 1 e 2 no mapa de acoplamento reduzido.
  • coupling_map (CouplingMap | None) – o mapa de acoplamento do backend no qual as instruções foram dispostas. Nesse caso None, pressupõe-se uma linha de qubits do tipo “ 1d ”.
  • circuit (QuantumCircuit | None) – o circuito transpilado que foi disposto no mapa de acoplamento fornecido. Isso só pode ocorrer None quando o também coupling_map for None.

Retorna

Um dicionário que mapeia os ref atributos da InjectNoise anotação de cada Box único para os termos de Pauli de peso 1 e 2, cujos erros são aprendidos para essa Box.

Tipo de retorno

dict [ str, QubitSparsePauliList ]

get_extremal_eigenvalue

get_extremal_eigenvalue(spo, **kwargs)

GitHub

Encontra o autovalor extremo do operador fornecido.

Isso converte o operador fornecido em uma matriz esparsa cujo valor próprio mínimo é solicitado.

Nota

A implementação atual definitivamente não está otimizada em termos de desempenho.

Parâmetros

  • spo (SparsePauliOp) – o operador cujo valor próprio mínimo deve ser encontrado.

  • kwargs

    argumentos de palavra-chave adicionais para davidson1(). Salvo indicação em contrário, serão utilizados os seguintes valores padrão:

    • tol: 1e-6
    • max_cycle: 500
    • max_space: 12
    • lindep: 1e-11
    • max_memory: 2000

    Outros valores assumirão os valores padrão do PySCF’s.

Retorna

Um par que indica se o algoritmo de Davidson convergiu e o valor próprio mínimo obtido.

Tipo de retorno

tupla [ bool, float ]

iter_circuit

iter_circuit(circuit, *, reverse=False, log_process=True)

GitHub

Percorre as instruções de um circuito.

Nota

Essa função percorre recursivamente as instruções BoxOp .

Nota

As barreiras no circuito estão sendo ignoradas.

Parâmetros

  • circuit (QuantumCircuit) – o circuito a ser percorrido.
  • reverse (bool) – se o circuito deve ser percorrido na ordem inversa.
  • log_process (bool) – se o processo deve ser registrado.

Lucros

Tuplas de comprimento quatro, compostas pela instrução de circuito encontrada, pelos índices canônicos dos qubits (ou seja, os índices inteiros dos qubits sobre os quais a ação é realizada no contexto da entrada circuit) e pelos atributos InjectNoise : modifier_ref e ref. Os dois últimos itens podem estar None indicando uma instrução de circuito que não fazia parte de um desdobramento BoxOp.

Tipo de retorno

Gerador [ tupla [ InstruçãoDeCircuito, lista [ int ], str | None, str | None]]

map_modifier_ref_to_ref

map_modifier_ref_to_ref(circuit)

GitHub

Percorrer um circuito e mapear as referências das anotações InjectNoise .

Parâmetros

circuit (QuantumCircuit) – o circuito a ser percorrido.

Retorna

Um dicionário que mapeia cada elemento para InjectNoise.modifier_ref seu correspondente InjectNoise.ref.

Tipo de retorno

dict [ str, str ]

remove_measure

remove_measure(circuit)

GitHub

Remova todas as operações Measure do circuito fornecido.

Nota

Essa função percorre recursivamente as instruções BoxOp .

Parâmetros

circuit (QuantumCircuit) – o circuito cujas medições devem ser removidas.

Retorna

O circuito sem nenhuma operação de medição.

Tipo de retorno

QuantumCircuit

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