עבודה מעשית עם Qiskit: Hello World - Qiskit Patterns
במחברת זו תעבור/י על תהליך עבודה של Qiskit Patterns, ותשתמש/י ב-Sampler primitive של Qiskit.
מדריך זה מבוסס חלקית על תוכן מ-IBM Quantum Documentation: Hello World.
קישורים שימושיים:
- צור/י חשבון IBM Cloud כדי לגשת ל-IBM Quantum Platform.
- לב עלי כתובת מייל אוניברסיטאית: קבל/י קוד feature כאן להארכת תקופת הניסיון החינמית.
- לבעלי כתובת מייל שאינה אוניברסיטאית: הוראות להפעלת החשבון. הפעל/י את חשבונך במלואו על ידי רישום כרטיס אשראי. כרטיס האשראי שלך לא ייחייב בתהליך זה ולא באופן אקראי לאחר הרישום. הפעלה זו מאפשרת לך להמשיך לגשת למשאבים החינמיים ב-IBM Cloud וב-IBM Quantum Platform לאחר תקופת הניסיון (30 יום).
- נשתמש בפלטפורמה מבוססת-ענן להגדרת סביבת קידוד. תוכל/י להשתמש ב-QBraid או ב-Google Colab.
- לאחר מחברת זו, נבחן את פרוטוקול הטלפורטציה הקוונטית.
קישורים נוספים - קהילת Qiskit ומשאבי למידה:
- כדור Grok
- IBM Quantum Composer
- IBM Quantum Learning
- הרצאות Qiskit Global Summer School 2025
- הסמכת Qiskit v2.X
- תוכנית Qiskit advocate
- התמחויות קיץ בתחום הקוונטום
- Qiskit YouTube
התקנת Qiskit
ניתן להשתמש בסביבת jupyter lab מקוונת (ראה/י מדריך סביבות מעבדה מקוונות) או להתקין את Qiskit מקומית.
עקוב/י אחר מדריך ההתקנה של Qiskit Install the Qiskit SDK and the Qiskit Runtime client כדי להשלים את השלבים הבאים:
-
התקן/י את Qiskit כולל חבילות הויזואליזציה הנוספות:
pip install qiskit[visualization] -
התקן/י את qiskit-ibm-runtime:
pip install qiskit-ibm-runtime -
התקן/י את jupyter:
pip install jupyterודא/י שגרסת Python שבה אתה/את משתמש/ת בסביבה שלך היא python>=3.10, כדי לוודא שהיא תואמת לגרסת Qiskit העדכנית ביותר:
# Added by doQumentation — required packages for this notebook
!pip install -q IPython
from platform import python_version
print(python_version())
3.13.7
אם עליך לשדרג את Python ואינך בטוח/ה כיצד לעשות זאת, ראה/י במדריך לשדרוג Python לפי מערכת ההפעלה שלך: How to update Python
%pip install qiskit[visualization]
%pip install qiskit-ibm-runtime
%pip install
%pip install qiskit-aer
zsh:1: no matches found: qiskit[visualization]
Note: you may need to restart the kernel to use updated packages.
Requirement already satisfied: qiskit-ibm-runtime in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (0.43.0)
Requirement already satisfied: requests>=2.19 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (2.32.5)
Requirement already satisfied: requests-ntlm>=1.1.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (1.3.0)
Requirement already satisfied: numpy>=1.13 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (2.3.3)
Requirement already satisfied: urllib3>=1.21.1 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (2.5.0)
Requirement already satisfied: python-dateutil>=2.8.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (2.9.0.post0)
Requirement already satisfied: ibm-platform-services>=0.22.6 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (0.69.0)
Requirement already satisfied: pydantic>=2.5.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (2.12.2)
Requirement already satisfied: qiskit>=1.4.1 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (2.2.1)
Requirement already satisfied: packaging in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (25.0)
Requirement already satisfied: ibm_cloud_sdk_core<4.0.0,>=3.24.2 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from ibm-platform-services>=0.22.6->qiskit-ibm-runtime) (3.24.2)
Requirement already satisfied: PyJWT<3.0.0,>=2.10.1 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from ibm_cloud_sdk_core<4.0.0,>=3.24.2->ibm-platform-services>=0.22.6->qiskit-ibm-runtime) (2.10.1)
Requirement already satisfied: six>=1.5 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from python-dateutil>=2.8.0->qiskit-ibm-runtime) (1.17.0)
Requirement already satisfied: charset_normalizer<4,>=2 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from requests>=2.19->qiskit-ibm-runtime) (3.4.4)
Requirement already satisfied: idna<4,>=2.5 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from requests>=2.19->qiskit-ibm-runtime) (3.11)
Requirement already satisfied: certifi>=2017.4.17 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from requests>=2.19->qiskit-ibm-runtime) (2025.10.5)
Requirement already satisfied: annotated-types>=0.6.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from pydantic>=2.5.0->qiskit-ibm-runtime) (0.7.0)
Requirement already satisfied: pydantic-core==2.41.4 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from pydantic>=2.5.0->qiskit-ibm-runtime) (2.41.4)
Requirement already satisfied: typing-extensions>=4.14.1 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from pydantic>=2.5.0->qiskit-ibm-runtime) (4.15.0)
Requirement already satisfied: typing-inspection>=0.4.2 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from pydantic>=2.5.0->qiskit-ibm-runtime) (0.4.2)
Requirement already satisfied: rustworkx>=0.15.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit>=1.4.1->qiskit-ibm-runtime) (0.17.1)
Requirement already satisfied: scipy>=1.5 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit>=1.4.1->qiskit-ibm-runtime) (1.16.2)
Requirement already satisfied: dill>=0.3 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit>=1.4.1->qiskit-ibm-runtime) (0.4.0)
Requirement already satisfied: stevedore>=3.0.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit>=1.4.1->qiskit-ibm-runtime) (5.5.0)
Requirement already satisfied: cryptography>=1.3 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from requests-ntlm>=1.1.0->qiskit-ibm-runtime) (46.0.2)
Requirement already satisfied: pyspnego>=0.4.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from requests-ntlm>=1.1.0->qiskit-ibm-runtime) (0.12.0)
Requirement already satisfied: cffi>=2.0.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from cryptography>=1.3->requests-ntlm>=1.1.0->qiskit-ibm-runtime) (2.0.0)
Requirement already satisfied: pycparser in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from cffi>=2.0.0->cryptography>=1.3->requests-ntlm>=1.1.0->qiskit-ibm-runtime) (2.23)
Note: you may need to restart the kernel to use updated packages.
[31mERROR: You must give at least one requirement to install (see "pip help install")[0m[31m
[0mNote: you may need to restart the kernel to use updated packages.
Requirement already satisfied: qiskit-aer in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (0.17.2)
Requirement already satisfied: qiskit>=1.1.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-aer) (2.2.1)
Requirement already satisfied: numpy>=1.16.3 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-aer) (2.3.3)
Requirement already satisfied: scipy>=1.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-aer) (1.16.2)
Requirement already satisfied: psutil>=5 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-aer) (7.1.0)
Requirement already satisfied: python-dateutil>=2.8.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-aer) (2.9.0.post0)
Requirement already satisfied: six>=1.5 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from python-dateutil>=2.8.0->qiskit-aer) (1.17.0)
Requirement already satisfied: rustworkx>=0.15.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit>=1.1.0->qiskit-aer) (0.17.1)
Requirement already satisfied: dill>=0.3 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit>=1.1.0->qiskit-aer) (0.4.0)
Requirement already satisfied: stevedore>=3.0.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit>=1.1.0->qiskit-aer) (5.5.0)
Requirement already satisfied: typing-extensions in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit>=1.1.0->qiskit-aer) (4.15.0)
Note: you may need to restart the kernel to use updated packages.
ייבוא הספריות הנדרשות
בואו נייבא את הספריות הנדרשות למדריך זה.
from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister
import qiskit_ibm_runtime
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
from qiskit_ibm_runtime import SamplerV2 as Sampler
from qiskit.quantum_info import SparsePauliOp
from qiskit.quantum_info import Statevector
from qiskit.visualization import plot_bloch_multivector, plot_state_qsphere
from IPython.display import display, Latex
הגדרת חשבון IBM Quantum Platform שלך
כדי להריץ Circuit-ים קוונטיים על חומרה אמיתית, תזדקק/י לחשבון IBM Cloud.
עקוב/י אחר ההוראות במדריך Set up your IBM Cloud account כדי להשלים את השלבים הבאים:
- הגדר/י חשבון IBM Cloud אם עדיין אין לך אחד.
- התחבר/י ל-IBM Quantum Platform או צור/י חשבון עם IBMid.
- גש/י ל-dashboard של IBM Quantum Platform, צור/י את ה-API token שלך, והעתק/י אותו למקום בטוח. (ראה/י את התמונה הראשונה למטה.)
- בתא הקוד שלאחר התמונות, החלף/י את
deleteThisAndPasteYourAPIKeyHereבמפתח ה-API שלך. - עבור/י לדף Instances מתפריט ☰ הראשי וצור/י את ה-instance שלך. אם אינך חלק ממוסד רשת, בחר/י בתוכנית הפתוחה. (ראה/י את התמונה השנייה למטה.)
- לאחר יצירת ה-instance, העתק/י את קוד ה-CRN המשויך אליו. (CRN הוא קיצור של Cloud Resource Names) ייתכן שתצטרך/י לרענן כדי לראות את ה-instance.
- בתא הקוד שלאחר התמונות, החלף/י את
deleteThisAndPasteYourCRNHereבקוד ה-CRN שלך.
שים/י לב: התייחס/י למפתח ה-API שלך כאילו הוא סיסמה מאובטחת. ראה/י במדריך Set up your IBM Cloud account לקבלת מידע נוסף על שימוש במפתח ה-API שלך בסביבות מאובטחות ולא מאובטחות.
#@title personals
your_api_key = "YOUR_API_KEY"
your_crn = "YOUR_CRN"
from qiskit_ibm_runtime import QiskitRuntimeService
# Save your API key to access real devices
your_api_key = your_api_key
your_crn = your_crn
QiskitRuntimeService.save_account(
channel="ibm_cloud",
token=your_api_key,
instance=your_crn,
set_as_default=True,
overwrite=True,
)
צור והרץ אלגוריתם קוונטי פשוט באמצעות מסגרת הדפוסים של Qiskit
מסגרת הדפוסים הקונספטואלית של Qiskit אפשר לראות כמבנה האנטומי של אלגוריתם קוונטי.
ארבעת השלבים לכתיבת תוכנית קוונטית באמצעות דפוסי Qiskit הם:
-
ממפים את הבעיה לפורמט קוונטי-נייטיב.
-
מייעלים את ה-Circuits והאופרטורים.
-
מריצים באמצעות פונקציית primitive של Qiskit.
-
מנתחים את התוצאות.