큐스키트

Qiskit
큐스키트
개발자IBM Research, Qiskit 커뮤니티
초기 릴리즈2017년 3월 7일, 5년 전(2017-03-07)[1]
안정된 릴리스
2021년 11월 22일 / 0.32.1, 7개월 전(2021-11-22)[2]
저장소
기입처파이썬
운영 체제크로스 플랫폼
유형퀀텀
면허증.Apache 라이센스 2.0[3]
웹 사이트qiskit.org

Qiskit은 회로, 펄스 및 알고리즘 수준에서 양자 컴퓨터를 사용하기 위한 오픈 소스 소프트웨어 개발 키트(SDK)입니다.IBM Quantum Experience의 프로토타입 양자 장치 또는 로컬 컴퓨터의 시뮬레이터에서 양자 프로그램을 만들고 조작하고 실행할 수 있는 도구를 제공합니다.범용 양자 계산을 위한 회로 모델을 따르며, 이 모델을 따르는 모든 양자 하드웨어(현재 초전도 큐비트포획[4] 이온을 지원)에 사용할 수 있습니다.

Qiskit은 자사의 클라우드 양자 컴퓨팅 서비스인 IBM Quantum Experience를 위한 소프트웨어 [5][6]개발을 지원하기 위해 IBM Research에 의해 설립되었습니다.기부금 또한 일반적으로 학술 [7][8]기관의 외부 후원자들에 의해 이루어진다.

Qiskit의 기본 버전은 Python 프로그래밍 언어를 사용합니다.Swift [10] JavaScript 버전[9] 처음에 탐색되었지만 이러한 버전의 개발은 중단되었습니다.대신 기본 기능의 최소한의 재실장만 MicroQiskit으로 [11]이용할 수 있어 대체 플랫폼으로 쉽게 이식할 수 있습니다.

다양한 Jupyter 노트북에는 [12]양자 컴퓨팅의 예가 포함되어 있습니다.예를 들어, Qiskit을 [13]사용하는 과학적 연구의 이면에 있는 소스 코드와 사람들이 양자 프로그래밍의 기본을 배우는 데 도움이 되는 일련의 연습이 포함됩니다.Qiskit에 기반한 오픈소스 교과서는 대학 수준의 양자 알고리즘이나 양자 계산 과정 [14]보충 자료로 이용할 수 있다.

구성 요소들

Qiskit은 양자 컴퓨팅을 가능하게 하기 위해 함께 작동하는 요소로 구성되어 있습니다.Qiskit의 중심 목표는 스킬 레벨이나 관심 분야에 관계없이 누구나 쉽게 양자 컴퓨터를 사용할 수 있도록 소프트웨어 스택을 구축하는 것입니다.Qiskit은 사용자가 실험과 애플리케이션을 쉽게 설계하고 실제 양자 컴퓨터 및/또는 클래식 시뮬레이터에서 실행할 수 있도록 합니다.Qiskit은 OpenQ머신 코드 레벨 모두에서 양자 소프트웨어를 개발할 수 있는 기능을 제공합니다.ASM 및 양자 컴퓨팅 전문지식이 없는 최종 사용자에게 적합한 추상적 수준입니다.이 기능은 다음과 같은 개별 [15]컴포넌트에 의해 제공됩니다.

키스킷테라

Terra라는 요소는 나머지 Qiskit의 기초가 됩니다.Qiskit Terra는 양자 기계 [16]코드 수준 또는 그 수준에서 양자 회로를 생성할 수 있는 도구를 제공합니다.양자 하드웨어에서 실행되는 프로세스를 양자 게이트의 관점에서 명시적으로 구성할 수 있습니다.또, 양자 회로를 특정의 디바이스에 최적화하기 위한 툴도 제공하고, 작업의 배치를 관리하고, 리모트 액세스 양자 디바이스와 시뮬레이터로 실행할 수 있습니다.

다음으로 Qiskit Terra의 간단한 예를 나타냅니다.이 때 벨 상태를 만드는 데 필요한 양자 게이트로 구성된 2개의 큐비트에 대해 양자회로가 생성된다.양자회로는 각 큐비트에서 비트를 추출하는 양자측정으로 종료됩니다.

부터  수입품 퀀텀 서킷  qc = 퀀텀 서킷(2, 2)  qc.h(0) qc.cx(0, 1) qc.재다([0,1], [0,1]) 

키스키트 에어

Aer라는 요소는 고성능 양자 컴퓨팅 시뮬레이터와 현실적인 노이즈 모델을 제공합니다.단기적으로 양자 소프트웨어의 개발은 소형 양자 소자의 시뮬레이션에 크게 좌우될 것이다.Qiskit의 경우 이는 Air 컴포넌트에 의해 제공됩니다.이를 통해 사용자의 기기에서 로컬로 호스트되는 시뮬레이터와 클라우드를 [17]통해 사용할 수 있는 HPC 리소스를 제공합니다.시뮬레이터는 단순하고 정교한 소음 모델을 [18]위해 소음의 영향을 시뮬레이션할 수도 있다.

이전 예시로 계속 진행합니다.양자회로가 생성되면 백엔드(양자하드웨어 또는 시뮬레이터)에서 실행할 수 있습니다.다음 예제에서는 로컬 시뮬레이터가 사용됩니다.

부터  수입품 에어, 실행하다  백엔드 = 에어.get_filength(가져오기)("Qasm_displicate")  = 실행하다(qc, 백엔드) 결과 = .결과() 인쇄물(결과.get_filength(가져오기)(qc)) 

이 최종 인쇄문은 백엔드에서 반환된 결과를 보여줍니다.퀀텀 회선을 여러 번 실행하여 얻은 비트 문자열을 설명하는 Python 사전입니다.이 예에서 사용되는 양자회선에서는 비트 문자열이'00'그리고.'11'가능한 유일한 결과여야 하며 동일한 확률로 발생해야 합니다.따라서 전체 결과는 일반적으로 샘플이 두 가지 사이에서 거의 동등하게 분할됩니다. 예를 들어 다음과 같습니다. {'00':519, '11':505} .

Qiskit을 사용한 양자 하드웨어에 대한 실험은 양자 오류 수정[20],[21] 얽힘[22] 생성 및 원균형 [23]역학의 시뮬레이션과 같은 많은 연구 [19]논문에서 사용되어 왔다.

키스키트 이그니스

2021년 12월 6일에 출시된 버전 0.7.0을 기준으로, Qiskit Ignis는 더 이상 사용되지 않고 Qiskit Experiments 프로젝트로 대체되었습니다.[24]

Ignis 요소는 양자 하드웨어 검증, 노이즈 특성화 및 오류 수정을 위한 도구를 제공합니다.Ignis는 소음 발생 시 계산을 수행할 수 있을 뿐만 아니라 단기 장치의 소음을 특성화하기 위한 도구를 포함하는 부품이다.여기에는 단기 디바이스 벤치마킹, 오류 경감 및 오류 수정을 [25]위한 도구가 포함됩니다.

Ignis는 양자 오류 수정 코드를 설계하고 싶거나 단층 촬영과 같은 방법을 통해 오류를 특징짓는 방법을 연구하거나 동적 디커플링과 최적 제어를 탐색하여 게이트를 사용하는 더 나은 방법을 찾고 싶은 사람들을 위한 것입니다.

키스키트 아쿠아

2021년 4월 2일에 출시된 버전 0.9.0을 기준으로, Qiskit Aqua는 지원이 종료되고 최종 아카이브는 그 날로부터 3개월 이내에 종료되어 폐지되었습니다.

Aqua라는 요소는 도메인별 애플리케이션을 구축할 수 있는 교차 도메인 알고리즘 라이브러리를 제공했습니다.다만, Qiskit 0.25.0 릴리스에는 애플리케이션과 알고리즘의 재구성이 포함되어 있습니다.이전에는 Qiskit Aqua라고 불리던 Qiskit의 단일 어플리케이션 및 알고리즘 모듈은 현재 최적화, 재무, 머신러닝 및 네이처 전용 어플리케이션 모듈(물리 및 화학 포함)로 분할되었습니다.코어 알고리즘과 opflow 연산자 기능이 Qiskit Terra로 이동되었습니다.

또한 구조 조정에서는 모든 알고리즘이 새로운 통합 패러다임을 따릅니다. 즉, 알고리즘은 해결된 문제에 따라 분류되며, 하나의 애플리케이션 클래스 내에서 동일한 문제를 해결하기 위해 서로 바꿔 사용할 수 있습니다.이는 이전과는 달리 알고리즘인스턴스가 해결되는 [26]문제에서 분리됨을 의미합니다.

Qiskit 최적화

Qiskit Optimization은 최적화 문제의 개략적인 모델링에서 문제를 다양한 필수 표현으로 자동 변환하는 것부터 Qi를 통해 기존 시뮬레이터 및 실제 양자 디바이스에서 즉시 실행할 수 있는 사용하기 쉬운 양자 최적화 알고리즘 스위트까지 모든 범위를 망라하는 오픈 소스 프레임워크입니다.최적화 모듈을 사용하면 docplex를 [27]사용하여 최적화 문제를 쉽고 효율적으로 모델링할 수 있습니다.

Qiskit 파이낸스

Qiskit Finance는 주식/증권 문제에 대한 불확실성 컴포넌트, 포트폴리오 최적화를 위한 Ising 번역자 및 실제 또는 랜덤 데이터를 소싱하여 [28]실험을 지원하는 데이터 공급자를 포함하는 오픈 소스 프레임워크입니다.

Qiskit 머신 러닝

머신 러닝 패키지에는 현재 샘플 데이터 세트가 포함되어 있습니다.실험에 활용할 수 있는 QSVM, VQC(Variational Quantum Classifier) 등 분류 알고리즘이 일부 적용됐고, [29]QGAN(Quantum Generative Adversarial Network) 알고리즘도 있다.

Qiskit 네이처

Qiskit Nature는 오픈 셸과 클로즈 셸 모두에서 그랜드 상태 에너지 계산, 들뜬 상태 및 분자의 쌍극자 모멘트 등의 문제를 지원하는 오픈 소스 프레임워크입니다.코드는 화학 드라이버로 구성됩니다.이러한 드라이버는 분자 구성이 제공되면 1체 적분 및 2체 적분뿐만 아니라 고전적으로 효율적으로 계산되는 다른 데이터를 반환합니다.드라이버로부터의 이 출력 데이터는 양자 [30]알고리즘에 적합한 형태로 변환할 수 있는 논리를 포함하는 Qiskit Nature에서 입력으로 사용할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Jay M. Gambetta; Andrew Cross (March 27, 2018). "Looking back on a year of Qiskit". Medium. Retrieved September 24, 2019.
  2. ^ "Releases – Qiskit".
  3. ^ 면허증.
  4. ^ "Qiskit - Write once, target multiple architectures". IBM Research Blog. 2019-11-05. Retrieved 2019-12-20.
  5. ^ Magee, Tamlim (August 24, 2018). "What is Qiskit, IBM's open source quantum computing framework". Computerworld UK. Retrieved 11 December 2018.
  6. ^ Hemsoth, Nicole (August 7, 2018). "QISKit Developments Key to IBM Quantum Engagement". The Next Platform. Retrieved 11 December 2018.
  7. ^ "Qiskit Github page".
  8. ^ Wille, R.; Meter, R. Van; Naveh, Y. (March 25, 2019). "IBM's Qiskit Tool Chain: Working with and Developing for Real Quantum Computers". 2019 Design, Automation, and Test in Europe (DATE): 1234–1240. doi:10.23919/DATE.2019.8715261.
  9. ^ "Qiskit in swift". GitHub. Retrieved September 24, 2019.
  10. ^ "Qiskit (Quantum Information Science Kit) for JavaScript". GitHub. Retrieved September 24, 2019.
  11. ^ "MicroQiskit". GitHub. Retrieved February 10, 2021.
  12. ^ "A collection of Jupyter notebooks showing how to use Qiskit that is synced with the IBM Quantum Experience". GitHub. Retrieved September 24, 2019.
  13. ^ "Celebrating the IBM Q Experience community, and their research". IBM. IBM Research Editorial Staff. March 8, 2018. Retrieved September 24, 2019.
  14. ^ "Learn Quantum Computing using Qiskit". Retrieved 20 December 2019.
  15. ^ Javadi-Abhari, Ali; Gambetta, Jay M. (July 13, 2018). "Qiskit and its Fundamental Elements". Medium. Retrieved 10 January 2019.
  16. ^ "Qiskit Terra". Qiskit. Archived from the original on October 10, 2019. Retrieved September 24, 2019.
  17. ^ "An Open High-Performance Simulator for Quantum Circuits". IBM. IBM Research Editorial Staff. May 1, 2018. Retrieved September 24, 2019.
  18. ^ Wood, Christopher J. (December 19, 2018). "Introducing Qiskit Aer: A high performance simulator framework for quantum circuits". Medium. Retrieved September 24, 2019.
  19. ^ "IBM Q Experience community publishes research". IBM Research Blog. 2018-03-08. Retrieved 2021-07-14.
  20. ^ Wootton, James R.; Loss, Daniel (2018). "Repetition code of 15 qubits". Physical Review A. 97 (5). arXiv:1709.00990. doi:10.1103/PhysRevA.97.052313. ISSN 2469-9926.
  21. ^ Roffe, Joschka; Headley, David; Chancellor, Nicholas; Horsman, Dominic; Kendon, Viv (2018). "Protecting quantum memories using coherent parity check codes". Quantum Science and Technology. 3 (3): 035010. arXiv:1709.01866. doi:10.1088/2058-9565/aac64e. ISSN 2058-9565.
  22. ^ Wang, Yuanhao; Li, Ying; Yin, Zhang-qi; Zeng, Bei (2018). "16-qubit IBM universal quantum computer can be fully entangled". npj Quantum Information. 4 (1). doi:10.1038/s41534-018-0095-x. ISSN 2056-6387.
  23. ^ Zhukov, A. A.; Remizov, S. V.; Pogosov, W. V.; Lozovik, Yu. E. (2018). "Algorithmic simulation of far-from-equilibrium dynamics using quantum computer". Quantum Information Processing. 17 (9). arXiv:1807.10149. doi:10.1007/s11128-018-2002-y. ISSN 1570-0755.
  24. ^ Qiskit/qiskit-ignis, Qiskit, retrieved 2021-12-21
  25. ^ "Ignis provides tools for quantum hardware verification, noise characterization, and error correction". GitHub. Retrieved September 24, 2019.
  26. ^ "Qiskit Algorithms Migration Guide — Qiskit 0.28.0 documentation". qiskit.org. Retrieved 2021-07-14.
  27. ^ Qiskit/qiskit-optimization, Qiskit, 2021-07-13, retrieved 2021-07-14
  28. ^ Qiskit/qiskit-finance, Qiskit, 2021-07-13, retrieved 2021-07-14
  29. ^ Qiskit/qiskit-machine-learning, Qiskit, 2021-07-13, retrieved 2021-07-14
  30. ^ Qiskit/qiskit-nature, Qiskit, 2021-07-13, retrieved 2021-07-14