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, /)
Encontre os índices dos qubits correspondentes aos índices de bits ou às instruções de circuito fornecidos.
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
- circuit (QuantumCircuit) – o circuito quântico cujos índices de qubits devem ser determinados.
- bits_or_instruction (Bit |CircuitInstruction |Sequence[Bit]) – os bits cujos índices devem ser encontrados. Se esta for uma
CircuitInstruction, os qubits sobre os quais esta instrução atua são utilizados.
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
generate_noise_model_paulis
generate_noise_model_paulis(instructions, coupling_map=None, circuit=None)
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 errosXde 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
Nonequando o tambémcoupling_mapforNone.
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)
Encontra o autovalor extremo do operador fornecido.
Isso converte o operador fornecido em uma matriz esparsa cujo valor próprio mínimo é solicitado.
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
iter_circuit
iter_circuit(circuit, *, reverse=False, log_process=True)
Percorre as instruções de um circuito.
Essa função percorre recursivamente as instruções BoxOp .
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)
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
remove_measure
remove_measure(circuit)
Remova todas as operações Measure do circuito fornecido.
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