Skip to main content
IBM Quantum Platform

키스킷 0.36 릴리즈 노트


0.36.2

테라 0.20.2

Prelude

키스킷 테라 0.20.2 는 버그 수정 릴리스로, 지난 패치 릴리스 이후 확인된 몇 가지 사소한 문제를 해결합니다.

버그 수정

  • 문제를 수정했습니다 BackendV2-기반 가짜 백엔드 클래스(예: qiskit.providers.fake_provider 모듈에서 FakeMontrealV2, 여기서 값은 dtmdt 속성 및 관련 속성 Target.dt 값이 초로 제대로 변환되지 않는 문제를 수정했습니다. 이러한 가짜 백엔드를 스케줄링에 사용할 경우 문제가 발생할 수 있습니다. 8018번을 참조하세요.

  • marginal_counts() 는 이제 0이 아닌 요소가 포함된 indices 매개 변수를 사용하여 메모리를 한계 설정하라는 요청을 받을 때 성공합니다. 이전에는 16진수 결과 표현이 충분히 작은 샷의 경우 ValueError. 8044를 참조하세요.

  • OpenQASM 3 익스포터(qiskit.qasm3)는 이제 게이트 선언 전에 input 또는 output 선언을 출력합니다. 이는 OpenQASM 3 팀의 현재 참조 ANTLR 문법과 더 일치합니다. 7964번을 참조하세요.

  • 트랜스파일러 패스의 버그를 수정했습니다 RZXCalibrationBuilder 트랜스파일러 패스에서 스케일링된 교차 공명 펄스 진폭이 할당 후에도 파라미터화된 것처럼 보일 수 있는 버그를 수정했습니다. 이로 인해 펄스 시각화 도구가 예상되는 숫자 형식이 아닌 매개변수화된 형식을 사용할 수 있습니다. 8031번을 참조하세요.

  • 함수 관련 문제를 수정했습니다 transpile() 함수를 실행할 때 BackendV2-기반 백엔드로 실행하고 scheduling_method 키워드 인수를 설정할 때 발생하는 문제를 수정했습니다. 이전에는 이 함수가 백엔드에서 지원하는 명령어의 기본 길이를 올바르게 처리하지 못해 오류가 발생했습니다.

  • 트랜스파일러 패스의 버그를 수정했습니다 RZXCalibrationBuilder 트랜스파일러 패스에서 가끔 펄스가 잘못된 지속 시간으로 구성되던 버그를 수정했습니다. 7994번을 참조하세요.

  • 트랜스파일러 패스는 SabreSwap 에서 사용되는 트랜스파일러 패스 transpile()routing_method="sabre" 를 설정하면 트랜스파일링의 라우팅 단계에서 더 이상 클래식 컨디셔닝 게이트와 그 후속 게이트가 회로에서 산발적으로 드롭되지 않습니다. 8040을 참조하세요.

  • Statevector 는 이제 값(예: for coefficient in statevector)을 직접 반복할 수 있으며 len 에서 길이를 올바르게 보고합니다. 이전에는 범위를 벗어난 데이터에 액세스하려고 시도하고 QiskitError. 8039번을 참조하세요.

에어 0.10.4

변경 없음

이그니스 0.7.1

Prelude

이 버그 수정 릴리스는 주로 qiskit-ignis 문서를 빌드하는 데 사용되는 소스 파일이 포함된 docs/ 디렉터리가 Python 패키지에 포함되도록 하는 패키징 문제를 해결합니다.

IBM Q 제공자 0.19.1

변경 없음


0.36.1

테라 0.20.1

Prelude

키스킷 테라 0.20.1 는 릴리스 0.20.0 에서 확인된 문제를 해결하는 버그 수정 릴리스입니다.

알려진 문제점

  • QPY 역직렬화 qpy.load() 함수로 역직렬화하면 회로에서 직접 인스턴스화된 UCPauliRotGate 클래스에 대한 회전 축 인수가 표준 위치에 저장되지 않기 때문에 회로에서 객체를 직접 인스턴스화하면 실패합니다. 이 문제를 해결하려면 대신 서브클래스를 사용할 수 있습니다: UCRXGate, UCRYGate또는 UCRZGate (각각 "X", "Y", "Z" 의 회전 축을 사용하는지 여부에 따라) 클래스 생성자에 회전 축을 포함하면 QPY에서 올바르게 작동합니다.

  • 키스킷 테라에 처음 소개된 이후 0.20, XXPlusYYGate 는 다른 모든 회전 게이트에 비해 음의 각도 규칙을 사용했습니다. 키스킷 테라 0.21 에서는 다른 로테이션 게이트와 일치하도록 수정될 예정입니다. 이것은 다른 회전 게이트에는 영향을 미치지 않으며 XXMinusYYGate.

버그 수정

  • 고정 Clifford, PauliCNOTDihedral 연산자 초기화를 포함하는 호환 가능한 회로에서 Delay 명령어를 포함합니다. 이러한 지침은 운영자로 전환할 때 ID로 취급됩니다.

  • 함수에서 eval_observables() 함수가 quantum_state 인수의 유형이 StateFn 인 경우 오류를 발생시키는 문제를 수정했습니다. eval_observables 이제 유형 힌트로 표시된 모든 입력 유형을 올바르게 지원합니다.

  • 시각화 기능 관련 문제 수정 dag_drawer() 및 메서드 DAGCircuit.draw() 의 시각화 함수 및 메서드 관련 문제를 수정했습니다 DAGCircuit 객체에 대한 시각화를 생성하려고 할 때 Qubit 또는 Clbit 가 포함되지 않은 객체에 대한 시각화 생성 시 실패하던 문제를 수정했습니다( QuantumRegister 또는 ClassicalRegister. 7915를 수정했습니다.

  • 클래스에 대한 매개변수 유효성 검사 수정 Drag. 이전에는 음의 부호를 가진 큰 베타 값에 민감하지 않았기 때문에 최대 값이 진폭 제한( 1.0 )을 초과하는 파형 샘플이 발생할 수 있었습니다.

  • 많은 알고리즘에서 사용되는 QuantumInstance 클래스(예: VQE)는 작업 상태가 업데이트되기를 기다리는 동안 잠자기 값을 하드코딩하고 있었습니다. 이제 이니셜라이저의 wait 속성에 설정된 대로 구성된 슬립 값을 존중합니다 QuantumInstance.

  • 함수 관련 문제를 수정했습니다 schedulelist 함수의 문제를 수정했습니다 QuantumCircuit 객체를 지정하는 호출자에게 단일 항목이 있는 단일 Schedulelist 객체를 반환하는 문제를 수정했습니다.

  • 제공된 백엔드에 정의된 읽기 오류가 있는 백엔드로 실행할 때 plot_error_map 시각화 기능이 작동하지 않던 문제를 수정했습니다 BackendProperties 또는 BackendV2 백엔드. 7879를 수정했습니다.

  • 메서드에 인스턴스가 주어졌을 때 기하급수적인 런타임과 종료되지 않을 수 있는 버그를 수정했습니다 Pauli 인스턴스가 init_observables() 메서드에 전달될 때 기하급수적인 시간 초과 및 종료되지 않는 버그를 수정했습니다.

  • Fixed SabreSwap및 확장 transpile()optimization_level=3 를 사용하여 간혹 측정값을 잘못 재주문하는 문제를 수정했습니다. 이전에는 두 측정값이 동일한 클래식 비트에 쓰인다면 SabreSwap 는 (커플링 맵에 따라) 순서를 바꿔서 등가가 아닌 회로를 생성할 수 있었습니다. 이 동작은 확률적이어서 안정적으로 나타나지 않았을 수 있습니다. 수정 #7950

  • 트랜스파일러 패스 SabreSwap 트랜스파일러 패스, 그리고 더 나아가 SabreLayouttranspile()optimization_level=3 는 이제 무한 루프에 갇히지 않도록 보장하는 탈출 메커니즘을 갖췄습니다. 이전에는 특정 입력값이 운이 나쁘면 안정적인 로컬 최소 검색 공간에 갇혀 패스가 더 이상 진행되지 않을 수 있었습니다. 이제 라우팅이 최근 진전이 없는 것으로 감지되면 일련의 스왑을 강제로 수행하여 라우팅을 계속할 수 있도록 합니다. 수정 #7707.

  • QPY 역직렬화 관련 문제를 수정했습니다 qpy.load() 함수의 UCRXGate, UCRYGateUCRZGate 클래스의 함수를 통한 역직렬화 문제를 수정했습니다. 이전에는 이러한 게이트가 포함된 QPY 파일은 파일을 로드하려고 할 때 오류가 발생했습니다. 7847 수정.

에어 0.10.4

변경 없음

이그니스 0.7.0

변경 없음

IBM Q 제공자 0.19.1

0.19.1

버그 수정

  • PR #1129는 least_busy() 메서드가 더 이상 유효한 입력 또는 출력 유형으로 BaseBackend 을 지원하지 않도록 업데이트하는데, 이는 qiskit-terra에서 오랫동안 사용되지 않았고 최근에 제거되었기 때문이다.

0.36.0

테라 0.20.0

변경 없음

에어 0.10.4

업그레이드 주의사항

  • 키스킷 에어는 더 이상 안전하지 않은 부동소수점 최적화를 사용하여 컴파일되지 않습니다. 대부분의 효과는 키스킷 에어에 로컬라이즈되었어야 하지만, 이전에 라이브러리가 "0으로 플러시" 모드를 잘못 설정하여 비정상적인 처리의 일부 측면이 사용자 코드에 유출되었을 수 있습니다. 더 이상 이런 일은 일어나지 않을 것입니다.

버그 수정

  • 캐시 차단 트랜스파일러가 슈퍼옵을 캐시 차단으로 인식하도록 수정했습니다. 1479번 문제 해결 <https://github.com/Qiskit/qiskit-aer/issues/1479> 이제 노이즈 모델이 있는 밀도_매트릭스를 병렬화할 수 있습니다. 이 문제를 확인하기 위해 test_noise.TestNoise.test_kraus_gate_noise_on_QFT_cache_blocking이라는 새로운 테스트가 추가되었습니다. 또한 이 수정에는 새로운 테스트 사례를 추가하여 발견된 문제 1483( <https://github.com/Qiskit/qiskit-aer/issues/1483> )에 대한 수정도 포함되어 있습니다. 이렇게 하면 상태 벡터의 청크에 대한 측정값이 수정됩니다.

  • 백엔드에서 T2 값이 2 * T1 보다 클 때 오류가 발생하던 버그( NoiseModel.from_backend() )를 수정했습니다. 이 수정 후에는 T2 값을 최대 2 * T1 까지 잘라내고 잘릴 경우 사용자 경고를 발행하게 됩니다. 이 버그는 #1391에 도입되었으며, 그 이전에는 NoiseModel.from_backend() 에서 T2 값을 2 * T1 까지 자동으로 잘라냈습니다.

    자세한 내용은 1464호를 참조하세요.

  • 장치= OpenMP 스레딩이 항상 적용되었기 때문에 적은 수의 큐비트에 대해 추력이 매우 느렸습니다. 이 수정 사항은 상태 벡터_병렬_임계값을 사용하여 OpenMP 스레드를 장치=CPU와 동일하게 적용합니다.

  • 키스킷 에어는 더 이상 로드 시 부동 소수점 모드를 "0으로 플러시"로 설정하지 않습니다. 다운스트림 사용자는 이전에 Numpy에서 다음과 같은 경고를 보았을 수 있습니다:

    <class ‘numpy.float64’> 유형에 대한 가장 작은 하위 노멀의 값은 0입니다.

    이제 이러한 오류가 더 이상 발생하지 않으며 부동 소수점 처리가 올바르게 수행됩니다.

  • 속성이 설정된 회로에서 시뮬레이션을 실행할 때 발생할 수 있는 문제를 수정했습니다 QuantumCircuit.metadata 속성이 설정된 회로에서 시뮬레이션을 실행할 때 발생할 수 있는 문제를 수정했습니다. 어트리뷰트는 metadata 어트리뷰트는 모든 파이썬 딕셔너리가 될 수 있으며, 이전에는 qiskit-aer가 어트리뷰트의 내용이 JSON 직렬화할 수 없는 경우에도 나머지 회로 입력과 함께 처리하기 위해 해당 내용을 JSON 직렬화하려고 시도했습니다. 이 문제는 더 이상 발생하지 않습니다 QuantumCircuit.metadata 속성이 시뮬레이션을 실행하는 데 사용되지 않으므로 이제 콘텐츠가 직렬화되지 않고 대신 콘텐츠를 JSON으로 직렬화하지 않고도 qiskit.result.Result 객체에 직접 첨부됩니다. 수정 #1435

이그니스 0.7.0

변경 없음

IBM Q 제공자 0.19.0

새 기능

  • 이제 qiskit-ibmq-provider 패키지가 IBM 퀀텀 LiveData 기능을 지원합니다. 이러한 기능을 통해 사용자는 작업을 실행하는 동안 IBM 퀀텀 백엔드의 실시간 동작을 관찰할 수 있습니다. 구체적으로, 공급자는 이제 백엔드 Jupyter 관련 위젯에 새 탭을 포함하며, 허용된 IBM 퀀텀 백엔드에서 live_data_enabled=True 매개변수를 사용한 작업 실행( qiskit.providers.ibmq.IBMQBackend.run() 메서드 사용)을 지원합니다.
  • 이제 qiskit.providers.ibmq.runtime.IBMRuntimeService.run() 방법으로 Qiskit Runtime 작업을 제출할 때 options 키워드에 다른 로깅 수준을 지정할 수 있습니다.

업그레이드 주의사항

  • Python 3.6 2021년 12월에 수명이 종료되어 지원이 중단되었습니다.
  • qiskit.providers.ibmq.random cQC 난수 추출기에 액세스하는 데 사용되던 난수 서비스는 더 이상 지원되지 않으며 제거되었습니다.

지원 중단 노트

  • qiskit.providers.ibmq.runtime.IBMRuntimeService.run() 메서드의 image 키워드는 더 이상 사용되지 않습니다. 대신 options 키워드에 사용할 이미지를 지정해야 합니다.

버그 수정

  • 문제 수정 #190. 이제 qiskit.providers.ibmq.runtime.RuntimeEncoderqiskit.providers.ibmq.runtime.RuntimeDecoder 에서 Instruction 클래스의 인스턴스를 처리하도록 업데이트되었습니다.
  • 객체 유형이 있는 널 배열을 직렬화할 수 없는 문제 #74를 수정했습니다. qiskit.providers.ibmq.runtime.RuntimeEncoderqiskit.providers.ibmq.runtime.RuntimeDecoder 가 이러한 배열을 처리하도록 업데이트되었습니다.
이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.