מעבר מ-Qiskit Pulse לשערים שברירתיים
עם הצגת שערים שברירתיים, שליטה ברמת הפולס על כל מעבדי IBM Quantum® סומנה כמיושנת (deprecated) ותוסר בתחילת 2025. בנוסף, מודול qiskit.pulse סומן כמיושן החל מ-Qiskit SDK v1.3.0 ויוסר ב-Qiskit SDK v2.0.0. שינוי זה נבע מהמיקוד המתמשך שלנו בניסויים בקנה מידה שימושי (utility-scale) ובתמיכה במשתמשים החוקרים יישומים שעשויים להוביל ליתרון קוונטי.
ביצוע סיבובים של qubit יחיד ושני qubits ישירות עם שערים שברירתיים
השימוש הנפוץ ביותר בשליטה ברמת הפולס היה לבנות לוחות זמנים מותאמים של פולסים שמשנים את פולסי ה-ECR או ה-RX כדי לבצע ישירות סיבובים של qubit יחיד ושני qubits. התהליך האופייני היה להשתמש ב-RXCalibrationBuilder וב-RZXCalibrationBuilder (או RZXCalibrationBuilderNoEcho) ולהוסיף הוראת RXGate או RZXGate ל-target של QPU, ואז לבנות צינור Transpiler המכיל את מעברי (passes) בוני הכיול לכיול הסיבובים של qubit יחיד ושני qubits עבור זווית מוגדרת. ברקע נוצר כיול, שהוא מיפוי בין ScheduleBlock לבין Gate ב-QuantumCircuit.
כעת ניתן להשיג זאת על מעבדי Heron באמצעות דגל ה-use_fractional_gates החדש. כפי שצוין במדריך השערים השברירתיים, גם וגם חייבים להיטען באמצעות דגל זה, שמחזיר Backend שתכונת ה-Target שלו מכילה מידע על שערים אלה.
service = QiskitRuntimeService()
backend = service.backend('ibm_torino', use_fractional_gates=True)
שימוש ב-Qiskit Dynamics
מודול qiskit.pulse הכיל הרבה יותר פונקציונליות מאשר רק ביצוע סיבובים של qubit יחיד ושני qubits ביעילות רבה יותר. חלק ניכר מהשליטה בפיזיקה של המכשיר ניתן למידול באמצעות חבילת Qiskit Dynamics שנמצאת ב-Qiskit Ecosystem. בפרט, לחבילה יש ייצוג אנלוגי משלה לרבות מהתכונות שסיפק qiskit.pulse בצורת מודול qiskit_dynamics.signals. תיעוד חבילה זו מכיל מספר מדריכים שעשויים להיות מועילים: