Skip to main content
IBM Quantum Platform

Notas de versão do Qiskit 0.41


0.41.1

Terra 0.23.2

Prelúdio

A versão do patch do Qiskit Terra 0.23.2 corrige outros erros identificados na série 0.23.

Correções de bugs

  • Adicione as seguintes portas de Clifford, que já existem na biblioteca de circuitos, à classe Clifford classe: SXGate, SXdgGate, CYGate, DCXGate, iSwapGate e ECRGate.

  • Adicione uma decomposição de um ECRGate em portas de Clifford (até uma fase global) à biblioteca de equivalência padrão.

  • Foi corrigido um problema com a classe BackendV2Converter ao envolver um simulador baseado em BackendV1-baseado em simulador. Haveria erro se o campo online_date no campo BackendConfiguration para o simulador não estivesse presente ou se o backend do simulador suportasse implementações ideais de portas que envolvessem mais de 1 qubit. Corrigido #9562.

  • Correção de um valor de retorno incorreto do método BackendV2Converter.meas_map() que, em vez disso, retornava o backend dt .

  • Correção de valores de retorno ausentes nos métodos BackendV2Converter.drive_channel(), measure_channel(), acquire_channel() e control_channel().

  • Os recursos obsoletos Qubit e Clbit propriedades register e index agora serão corretamente arredondadas pelo QPY (qiskit.qpy) em todos os usos válidos de QuantumRegister e ClassicalRegister. Em versões anteriores da série Terra 0.23, essas informações eram perdidas. Nas versões anteriores a 0.23.0, essas informações eram parcialmente reconstruídas, mas podiam estar incorretas ou produzir circuitos inválidos para determinadas configurações de registro.

    A maneira correta de recuperar o índice de um bit em um circuito e quaisquer registros nesse circuito em que o bit esteja contido é chamar QuantumCircuit.find_bit(). Esse método retornará as informações corretas em todas as versões do Terra desde sua inclusão na versão 0.19.

  • Foi corrigido um problema com o método InstructionScheduleMap.has_custom_gate() em que ele sempre retornava True quando o objeto InstructionScheduleMap era criado por Target. Corrigido #9595.

  • Foi corrigido um erro nos eigensolvers do site NumPy-based (NumPyMinimumEigensolver / NumPyEigensolver) e nos evoluidores de tempo SciPy-based (SciPyRealEvolver / SciPyImaginaryEvolver), onde os operadores que suportam a conversão para matrizes esparsas, como SparsePauliOperam convertidos em matrizes densas de qualquer forma.

  • Foi corrigido um bug em generate_basic_approximations() em que o inverso do SdgGate não era reconhecido corretamente como SGate. Corrigido #9585.

  • Foi corrigido um erro no algoritmo VQD em que a função de avaliação de energia não podia processar lotes de parâmetros, tornando-a incompatível com otimizadores com max_evals_grouped>1. Corrigido #9500.

  • Corrigido o erro em QNSPSA que gerava um erro de tipo quando as fidelidades computadas eram do tipo int , mas a perturbação era do tipo float.

Aer 0.11.2

Nenhuma mudança

IBM 0.20.1

Como o site qiskit-ibmq-provider está obsoleto, as dependências foram aumentadas e corrigidas para as versões mais recentes. Houve um problema com a versão mais recente do pacote requests-ntlm que causou a falha de alguns testes de ponta a ponta.


0.41.0

Terra 0.23.1

Prelúdio

O Qiskit Terra 0.23.1 é uma pequena versão de correção para corrigir erros identificados no Qiskit Terra 0.23.0

Correções de bugs

  • Um caso extremo de pickle InstructionScheduleMap com iterável não picotável arguments foi corrigido. Anteriormente, o uso de um iterável não separável como o parâmetro arguments para InstructionScheduleMap.add() (como dict_keys) podia fazer com que as chamadas paralelas para transpile() falhassem. Esses argumentos agora serão corretamente normalizados internamente para list.

  • Foi corrigido um bug de desempenho no ReverseEstimatorGradient em que o cálculo fazia uma grande quantidade de cópias desnecessárias se o gradiente fosse calculado apenas para um subconjunto de parâmetros ou em um circuito com muitas portas não parametrizadas.

  • Corrigida uma depreciação incorreta de Register.name_format que tornava o atributo class disponível apenas para instâncias e não para a classe. Ao tentar enviar trabalhos de circuitos dinâmicos para back-ends de hardware, isso frequentemente causava o erro:

    AttributeError: 'property' object has no attribute 'match'

    Corrigido #9493.

Aer 0.11.2

Nenhuma mudança

IBM 0.20.0

Prelúdio

Esta versão do pacote qiskit-ibmq-provider marca o pacote como obsoleto e será retirado e arquivado no futuro. A funcionalidade em qiskit-ibmq-provider foi substituída por 3 pacotes qiskit-ibm-provider, qiskit-ibm-runtime e qiskit-ibm-experiment que oferecem diferentes subconjuntos da funcionalidade contida em qiskit-ibmq-provider . Você pode consultar a tabela aqui:

https://github.com/Qiskit/qiskit-ibmq-provider#migration-guides

para obter links para os guias de migração para mudar de qiskit-ibmq-provider para seus pacotes substitutos.

Notas de descontinuação

  • A partir da versão 0.20.0, o qiskit-ibmq-provider foi descontinuado, com o fim do suporte e o eventual arquivamento não antes de três meses a partir dessa data. A função fornecida pelo qiskit-ibmq-provider não está desaparecendo, mas está sendo dividida em repositórios separados. Consulte https://github.com/Qiskit/qiskit-ibmq-provider#migration-guides.

Correções de bugs

  • Na próxima versão do Terra, haverá um candidato à versão marcado antes da versão final. No entanto, a alteração da string da versão do pacote está bloqueada no qiskit-ibmq-provider no momento, porque ele está tentando analisar a versão e está assumindo que não haverá sufixo prelease na string da versão (consulte o número 8200 para obter detalhes). O PR #1135 corrige essa análise de versão para usar o regex do projeto pypa/packaging, que lida com todas as versões do pacote PEP440 e inclui sufixos de pré-lançamento. Isso permitirá que o terra libere uma tag 0.21.0rc1 sem quebrar o qiskit-ibmq-provider.

  • PR #1129 atualiza o método least_busy() para que ele não seja mais compatível com o BaseBackend como um tipo válido de entrada ou saída, uma vez que ele foi descontinuado há muito tempo no qiskit-terra e foi removido recentemente.

  • threading.currentThread e notifyAll foram descontinuados em Python 3.10 (outubro de 2021) e serão removidos em Python 3.12 (outubro de 2023). O PR nº 1133 os substitui por threading.current_thread, notify_all adicionado em Python 2.6 (outubro de 2008).

  • As chamadas para executar um circuito quântico com dynamic=True agora geram um erro que pede ao usuário para instalar o novo qiskit-ibm-provider.

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