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
Cliffordclasse:SXGate,SXdgGate,CYGate,DCXGate,iSwapGateeECRGate. -
Adicione uma decomposição de um
ECRGateem portas de Clifford (até uma fase global) à biblioteca de equivalência padrão. -
Foi corrigido um problema com a classe
BackendV2Converterao envolver um simulador baseado emBackendV1-baseado em simulador. Haveria erro se o campoonline_dateno campoBackendConfigurationpara 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 backenddt. -
Correção de valores de retorno ausentes nos métodos
BackendV2Converter.drive_channel(),measure_channel(),acquire_channel()econtrol_channel(). -
Os recursos obsoletos
QubiteClbitpropriedadesregistereindexagora serão corretamente arredondadas pelo QPY (qiskit.qpy) em todos os usos válidos deQuantumRegistereClassicalRegister. 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 retornavaTruequando o objetoInstructionScheduleMapera criado porTarget. 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, comoSparsePauliOperam convertidos em matrizes densas de qualquer forma. -
Foi corrigido um bug em
generate_basic_approximations()em que o inverso doSdgGatenão era reconhecido corretamente comoSGate. Corrigido #9585. -
Foi corrigido um erro no algoritmo
VQDem que a função de avaliação de energia não podia processar lotes de parâmetros, tornando-a incompatível com otimizadores commax_evals_grouped>1. Corrigido #9500. -
Corrigido o erro em
QNSPSAque gerava um erro de tipo quando as fidelidades computadas eram do tipoint, mas a perturbação era do tipofloat.
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
InstructionScheduleMapcom iterável não picotávelargumentsfoi corrigido. Anteriormente, o uso de um iterável não separável como o parâmetroargumentsparaInstructionScheduleMap.add()(comodict_keys) podia fazer com que as chamadas paralelas paratranspile()falhassem. Esses argumentos agora serão corretamente normalizados internamente paralist. -
Foi corrigido um bug de desempenho no
ReverseEstimatorGradientem 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_formatque 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-providerfoi 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.currentThreadenotifyAllforam 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 porthreading.current_thread,notify_alladicionado em Python 2.6 (outubro de 2008). -
As chamadas para executar um circuito quântico com
dynamic=Trueagora geram um erro que pede ao usuário para instalar o novoqiskit-ibm-provider.