Skip to main content
IBM Quantum Platform

키스킷 0.24 릴리즈 노트


0.24.1

테라 0.16.4

변경 없음

에어 0.7.6

변경 없음

이그니스 0.5.2

변경 없음

아쿠아 0.8.2

변경 없음

IBM Q 제공자 0.12.2

업그레이드 주의사항

  • qiskit.providers.ibmq.IBMQBackend.defaults() 이제 백엔드에서 펄스를 지원하는 경우 백엔드에 대한 펄스 기본값을 반환합니다. 그러나 백엔드에서 펄스를 지원하더라도 제공업체에서 지원하지 않을 수도 있습니다. 백엔드 구성의 open_pulse 플래그는 공급업체가 이를 지원하는지 여부를 나타냅니다.

0.24.0

테라 0.16.4

변경 없음

에어 0.7.6

새 기능

  • 이것은 aarch64 ( arm64 )에 Linux 용으로 미리 컴파일된 바이너리를 PyPI 에 게시하는 qiskit-aer의 첫 번째 릴리스입니다. 이번 릴리스부터 Linux aarch64 패키지가 게시 및 지원됩니다.

버그 수정

  • 조건부 게이트의 노이즈가 클래식 레지스터 값을 기준으로 조건부 게이트가 실제로 적용되었는지 여부와 관계없이 항상 적용되던 버그 #1153을 수정했습니다. 이제 조건부 게이트의 노이즈는 조건부 게이트가 적용된 경우에만 적용됩니다.
  • 문제 #1126 : 단일 큐비트 측정값 보고 버그가 수정되었습니다. 측정값을 출력 데이터 구조에 복사할 때 버그가 발생했습니다.
  • 이전에는 Aer 백엔드 오브젝트가 지원한다고 보고하는 기본 큐비트 수와 시뮬레이터가 실제로 실행하는 최대 큐비트 수 사이에 불일치가 있었습니다. 이는 최대 큐비트 수를 계산하는 데 사용된 Python 코드와 사용 가능한 메모리를 기반으로 최대 큐비트 수를 런타임 검사하는 데 사용된 C++ 코드가 일치하지 않았기 때문입니다. 이 문제가 해결되었으므로 이제 기본적으로 Aer 백엔드에서는 사용 가능한 모든 시스템 메모리에 맞는 회로를 실행할 수 있습니다. 수정 #1114

변경 없음

이그니스 0.5.2

변경 없음

아쿠아 0.8.2

변경 없음

IBM Q 제공자 0.12.0

Prelude

  • qiskit.providers.ibmq.IBMQBackend.run() 메서드는 이제 하나 이상의 QuantumCircuit 또는 Schedule. 사용 QasmQobjPulseQobj 는 이제 더 이상 사용되지 않습니다. 샷 수와 같은 런타임 구성 옵션은 run() 방법 또는 qiskit.providers.ibmq.IBMQBackend.set_options() 방법을 통해 설정할 수 있습니다. 전자는 작업에 대한 일회성 설정으로 사용되며, 후자는 백엔드로 전송되는 모든 작업에 사용됩니다. 두 위치에 모두 옵션이 설정되어 있는 경우 run() 에 설정된 값이 우선합니다.
  • IBM 이제 퀀텀 자격 증명은 qiskitrc 파일에서 'ibmq'로 시작하는 섹션에서만 로드됩니다.

새 기능

  • Python 3.9 지원이 이번 릴리스에 추가되었습니다. 이제 Python 3.9 을 사용하여 키스킷 IBMQ 공급자를 실행할 수 있습니다.

  • qiskit.providers.ibmq.AccountProvider.backends() 이제 최소 큐비트 수로 필터링할 수 있는 새로운 매개변수 min_num_qubits가 추가되었습니다.

  • qiskit.providers.ibmq.IBMQBackend.run() 메서드는 이제 하나 이상의 QuantumCircuit 또는 Schedule. 샷 수와 같은 런타임 구성 옵션은 run() 방법 또는 qiskit.providers.ibmq.IBMQBackend.set_options() 방법을 통해 설정할 수 있습니다. 전자는 작업에 대한 일회성 설정으로 사용되며, 후자는 백엔드로 전송되는 모든 작업에 사용됩니다. 두 위치에 모두 옵션이 설정되어 있는 경우 run() 에 설정된 값이 우선합니다. 예를 들어,

    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 에는 이제 실험을 만드는 데 사용된 공급자를 식별하는 허브, 그룹, 프로젝트의 세 가지 추가 속성이 있습니다.

  • 이제 qiskit.providers.ibmq.IBMQBackend.run() 을 사용하여 작업을 제출할 때 experiment_id 을 작업에 할당할 수 있습니다. 이 새 필드를 사용하여 동일한 실험에 속하는 작업 모음을 함께 그룹화할 수 있습니다. qiskit.providers.ibmq.IBMQBackendService.jobs() 메서드도 experiment_id 으로 필터링할 수 있도록 업데이트되었습니다.

  • qiskit.providers.ibmq.experiment.Experiment 이제 두 가지 속성이 추가되었습니다:

    • 공유_레벨: 실험을 나열할 때 실험을 볼 수 있는 사람을 결정하는 실험의 공유 수준입니다. 업데이트할 수 있습니다.
    • 소유자: 실험을 업로드한 사용자의 ID입니다. 이는 서버에서 설정하며 업데이트할 수 없습니다.
  • qiskit.providers.ibmq.experimentservice.ExperimentService.experiments() 방법은 이제 hub, group, project 을 필터링 키워드로 허용합니다.

  • 이제 qiskit.providers.ibmq.experiment.ExperimentService.experiments()qiskit.providers.ibmq.experiment.ExperimentService.analysis_results() 메서드에서 반환되는 실험 및 분석 결과의 수를 제한할 수 있는 limit 매개 변수를 지원합니다.

  • qiskit.providers.ibmq.experimentservice.ExperimentService.experiments() 방법은 이제 exclude_minemine_only 을 필터링 키워드로 허용합니다.

  • qiskit.providers.ibmq.experimentservice.ExperimentService.experiments() 방법은 이제 exclude_publicpublic_only 을 필터링 키워드로 허용합니다.

  • qiskit.providers.ibmq.managed.IBMQJobManager.run() 이제 단일 QuantumCircuit 또는 Schedule 목록과 함께 사용할 수 있습니다.

  • 이제 least_busy() 함수는 작동 중이지만 일시 중지된 백엔드(즉, 작업을 수락하고 있지만 처리하지 않는 백엔드)를 건너뜁니다.

  • 이제 피클할 수 없는 사용자 정의 데이터(예: Qobj 헤더)를 포함하지 않는 한 IBMQJob 인스턴스를 피클할 수 있습니다.

  • 이제 qiskit.providers.ibmq.AccountProvider.services()qiskit.providers.ibmq.AccountProvider.service() 에서 두 가지 새로운 방법을 사용하여 계정에 어떤 서비스를 사용할 수 있는지 확인하고 특정 서비스의 인스턴스를 받을 수 있습니다.

  • 이제 qiskit.providers.ibmq.IBMQBackend.reservations() 메서드는 소유하지 않은 예약에 대해서도 항상 예약 예약 모드를 반환합니다.

업그레이드 주의사항

  • 다음을 포함하여 이전에 더 이상 사용되지 않는 여러 메서드와 기능이 제거되었습니다:

    • qiskit.providers.ibmq.job.IBMQJob.to_dict()
    • qiskit.providers.ibmq.job.IBMQJob.from_dict()
    • Qconfig.py 지원
    • 프로토콜을 포함하지 않는 프록시 URL 사용
  • 이제 qiskit.providers.ibmq.experiment.ExperimentService.experiments()qiskit.providers.ibmq.experiment.ExperimentService.analysis_results() 메서드의 첫 번째 매개변수 limit 가 새로운 매개변수로 추가되었습니다. 이 limit 의 기본값은 10으로, 청각 장애가 있는 경우 10개의 실험 및 분석 결과만 반환됩니다.

  • IBM 이제 퀀텀 자격 증명은 qiskitrc 파일에서 'ibmq'로 시작하는 섹션에서만 로드됩니다. 이렇게 하면 qiskitrc 파일을 다른 기능에 사용할 수 있습니다.

지원 중단 노트

  • 사용 QasmQobjPulseQobjqiskit.providers.ibmq.IBMQBackend.run() 의 사용은 이제 더 이상 사용되지 않습니다. QuantumCircuitSchedule 를 대신 사용해야 합니다.

  • qiskit.providers.ibmq.AccountProviderbackends 속성이 backend (시그널)로 이름이 변경되었습니다. 이전 버전과의 호환성을 위해 backends 을 계속 사용할 수 있지만 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다. qiskit.providers.ibmq.AccountProvider.backends() 방법은 변경되지 않습니다. 예를 들어,

    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.
  • IBMQJob client_version 속성 설정은 더 이상 사용되지 않습니다. 그러나 속성 값을 계속 읽을 수는 있습니다.

  • " qiskit.providers.ibmq.IBMQBackend.run()validate_qobj 키워드는 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다. 이 스키마 유효성 검사에 의존하는 경우 Qiskit/ibmq-schemas에서 스키마를 가져와서 페이로드의 유효성을 직접 검사해야 합니다.

버그 수정

  • 작업 제출이 중간에 실패할 경우 작업이 CREATING 상태로 남아있을 수 있는 문제를 수정했습니다.
  • 백엔드의 기본 게이트에 기존 u1, u2, u3 이 포함되어 있지 않은 경우 Jupyter 백엔드 위젯 사용이 실패하는 문제를 수정했습니다. 수정 #844
  • IBMQRandomService 인스턴스를 하위 프로세스에 전달할 때 발생하는 무한 루프를 수정합니다.
  • 서버가 오류 코드를 반환하지만 응답 데이터가 예상 형식이 아닌 경우 TypeError 이 발생하는 문제를 수정합니다.
이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.