Skip to main content
IBM Quantum Platform

Notas de versão do Qiskit 0.24


0.24.1

Terra 0.16.4

Nenhuma mudança

Aer 0.7.6

Nenhuma mudança

Ignis 0.5.2

Nenhuma mudança

Aqua 0.8.2

Nenhuma mudança

IBM 0.12.2

Notas da Atualização

  • qiskit.providers.ibmq.IBMQBackend.defaults() agora retorna os padrões de pulso para o backend se o backend for compatível com pulso. No entanto, seu provedor pode não oferecer suporte a pulso, mesmo que o backend ofereça. O sinalizador open_pulse na configuração do backend indica se o provedor oferece suporte a ele.

0.24.0

Terra 0.16.4

Nenhuma mudança

Aer 0.7.6

Novos Recurso

  • Esta é a primeira versão do qiskit-aer que publica binários pré-compilados em PyPI para Linux em aarch64 ( arm64 ). A partir desta versão, os pacotes Linux aarch64 serão publicados e suportados.

Correções de bugs

  • Corrige o bug #1153 em que o ruído em portas condicionais era sempre aplicado, independentemente de a porta condicional ter sido realmente aplicada com base no valor do registro clássico. Agora, o ruído em uma porta condicional só será aplicado no caso em que a porta condicional for aplicada.
  • Corrigido o problema nº 1126 : erro ao relatar a medição de um único qubit. O erro ocorria ao copiar o valor medido para a estrutura de dados de saída.
  • Anteriormente, havia uma incompatibilidade entre o número padrão relatado de qubits que os objetos de back-end da Aer diziam ser suportados e o número máximo de qubits que o simulador realmente executava. Isso ocorreu devido a uma incompatibilidade entre o código Python usado para calcular o número máximo de qubits e o código C++ usado para uma verificação de tempo de execução do número máximo de qubits com base na memória disponível. Isso foi corrigido, portanto, por padrão, agora os back-ends do Aer permitirão a execução de circuitos que possam caber em toda a memória disponível do sistema. Correções #1114

Nenhuma mudança

Ignis 0.5.2

Nenhuma mudança

Aqua 0.8.2

Nenhuma mudança

IBM 0.12.0

Prelúdio

  • qiskit.providers.ibmq.IBMQBackend.run() agora recebe um ou mais QuantumCircuit ou Schedule. Uso de QasmQobj e PulseQobj está obsoleto. As opções de configuração de tempo de execução, como o número de disparos, podem ser definidas por meio do método run() ou do método qiskit.providers.ibmq.IBMQBackend.set_options() . O primeiro é usado como uma configuração única para o trabalho e o segundo para todos os trabalhos enviados ao backend. Se uma opção for definida em ambos os locais, o valor definido em run() terá precedência.
  • IBM As credenciais do Quantum agora são carregadas somente das seções do arquivo qiskitrc que começam com 'ibmq'.

Novos Recurso

  • Python 3.9 foi adicionado a esta versão. Agora você pode executar o provedor Qiskit IBMQ usando Python 3.9.

  • qiskit.providers.ibmq.AccountProvider.backends() agora tem um novo parâmetro min_num_qubits que permite que você filtre pelo número mínimo de qubits.

  • qiskit.providers.ibmq.IBMQBackend.run() agora recebe um ou mais QuantumCircuit ou Schedule. As opções de configuração de tempo de execução, como o número de disparos, podem ser definidas por meio do método run() ou do método qiskit.providers.ibmq.IBMQBackend.set_options() . O primeiro é usado como uma configuração única para o trabalho e o segundo para todos os trabalhos enviados ao backend. Se uma opção for definida em ambos os locais, o valor definido em run() terá precedência. Por exemplo:

    from qiskit import IBMQ, transpile
    from qiskit.test.reference_circuits import ReferenceCircuits
    
    provider = IBMQ.load_account()
    backend = provider.get_backend('ibmq_vigo')
    circuits = transpile(ReferenceCircuits.bell(), backend=backend)
    default_shots = backend.options.shots  # Returns the backend default of 1024 shots.
    backend.set_options(shots=2048)        # All jobs will now have use 2048 shots.
    backend.run(circuits)                  # This runs with 2048 shots.
    backend.run(circuits, shots=8192)      # This runs with 8192 shots.
    backend.run(circuits)                  # This again runs with 2048 shots.
  • qiskit.providers.ibmq.experiment.Experiment agora tem três atributos adicionais, hub, group e project, que identificam o provedor usado para criar o experimento.

  • Agora você pode atribuir um experiment_id a um trabalho ao enviá-lo usando qiskit.providers.ibmq.IBMQBackend.run(). Você pode usar esse novo campo para agrupar uma coleção de trabalhos que pertencem ao mesmo experimento. O método qiskit.providers.ibmq.IBMQBackendService.jobs() também foi atualizado para permitir a filtragem por experiment_id.

  • qiskit.providers.ibmq.experiment.Experiment agora tem dois atributos adicionais:

    • share_level: O nível em que o experimento é compartilhado, o que determina quem pode vê-lo ao listar experimentos. Isso pode ser atualizado.
    • owner: O ID do usuário que fez o upload do experimento. Isso é definido pelo servidor e não pode ser atualizado.
  • O método qiskit.providers.ibmq.experimentservice.ExperimentService.experiments() agora aceita hub, group e project como palavras-chave de filtragem.

  • Os métodos qiskit.providers.ibmq.experiment.ExperimentService.experiments() e qiskit.providers.ibmq.experiment.ExperimentService.analysis_results() agora suportam um parâmetro limit que permite limitar o número de experimentos e resultados de análise retornados.

  • O método qiskit.providers.ibmq.experimentservice.ExperimentService.experiments() agora aceita exclude_mine e mine_only como palavras-chave de filtragem.

  • O método qiskit.providers.ibmq.experimentservice.ExperimentService.experiments() agora aceita exclude_public e public_only como palavras-chave de filtragem.

  • qiskit.providers.ibmq.managed.IBMQJobManager.run() agora aceita um único QuantumCircuit ou Schedule além de uma lista deles.

  • A função least_busy() agora ignora os back-ends que estão operacionais, mas em pausa, o que significa que eles estão aceitando, mas não processando trabalhos.

  • Agora você pode selecionar uma instância do IBMQJob , desde que ela não contenha dados personalizados que não possam ser selecionados (por exemplo, no cabeçalho do Qobj).

  • Agora você pode usar os dois novos métodos, qiskit.providers.ibmq.AccountProvider.services() e qiskit.providers.ibmq.AccountProvider.service() , para descobrir quais serviços estão disponíveis em sua conta e obter uma instância de um serviço específico.

  • O método qiskit.providers.ibmq.IBMQBackend.reservations() agora sempre retorna os modos de agendamento de reserva, mesmo para reservas que você não possui.

Notas da Atualização

  • Vários métodos e recursos anteriormente obsoletos foram removidos, incluindo:

    • qiskit.providers.ibmq.job.IBMQJob.to_dict()
    • qiskit.providers.ibmq.job.IBMQJob.from_dict()
    • Qconfig.py suporte
    • Uso de URLs de proxy que não incluem protocolos
  • Um novo parâmetro, limit , agora é o primeiro parâmetro dos métodos qiskit.providers.ibmq.experiment.ExperimentService.experiments() e qiskit.providers.ibmq.experiment.ExperimentService.analysis_results() . Esse limit tem um valor padrão de 10, o que significa que, por padrão, apenas 10 experimentos e resultados de análises serão retornados.

  • IBM As credenciais do Quantum agora são carregadas somente das seções do arquivo qiskitrc que começam com 'ibmq'. Isso permite que o arquivo qiskitrc seja usado para outras funcionalidades.

Notas de descontinuação

  • Uso de QasmQobj e PulseQobj no método qiskit.providers.ibmq.IBMQBackend.run() agora está obsoleto. QuantumCircuit e Schedule devem agora ser usados em seu lugar.

  • O atributo backends de qiskit.providers.ibmq.AccountProvider foi renomeado para backend (sigular). Para fins de compatibilidade com versões anteriores, você pode continuar a usar backends, mas ele está obsoleto e será removido em uma versão futura. O método qiskit.providers.ibmq.AccountProvider.backends() permanece inalterado. Por exemplo:

    backend = provider.backend.ibmq_vigo   # This is the new syntax.
    backend = provider.backends.ibmq_vigo  # This is deprecated.
    backends = provider.backends()         # This continues to work as before.
  • A configuração do atributo IBMQJob client_version foi preterida. No entanto, você pode continuar a ler o valor do atributo.

  • "A palavra-chave validate_qobj em qiskit.providers.ibmq.IBMQBackend.run() está obsoleta e será removida em uma versão futura. Se estiver confiando nessa validação de esquema, você deverá extrair os esquemas do Qiskit/ibmq-schemas e validar diretamente suas cargas úteis com eles.

Correções de bugs

  • Corrige o problema em que um trabalho poderia ser deixado no estado CREATING se o envio do trabalho falhasse no meio do caminho.
  • Corrige o problema em que o uso do widget de back-end do Jupyter falhava se os portões de base do back-end não incluíssem os tradicionais u1, u2 e u3. Correções #844
  • Corrige o loop infinito gerado ao passar uma instância do IBMQRandomService para um processo filho.
  • Corrige o problema em que um TypeError é acionado se o servidor retornar um código de erro, mas os dados de resposta não estiverem no formato esperado.
Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.