ข้ามไปยังเนื้อหาหลัก

ย้ายจาก Qiskit Pulse ไปใช้ fractional gates

ด้วยการเปิดตัว fractional gates การควบคุมระดับ pulse บน IBM Quantum® processors ทั้งหมดได้ถูก deprecated แล้ว และจะถูกลบออกในต้นปี 2025 นอกจากนี้ โมดูล qiskit.pulse ก็ถูก deprecated ตั้งแต่ Qiskit SDK v1.3.0 และจะถูกลบใน Qiskit SDK v2.0.0 การเปลี่ยนแปลงนี้มาจากการที่เรามุ่งเน้นการทดลองระดับ utility-scale และสนับสนุนผู้ใช้ที่สำรวจแอปพลิเคชันที่อาจนำไปสู่ quantum advantage

รัน single- และ two-qubit rotations โดยตรงด้วย fractional gates

การใช้งาน pulse-level control ที่พบบ่อยที่สุดคือการสร้าง custom pulse schedule ที่ปรับแต่ง ECR หรือ RX pulse เพื่อรัน single- และ two-qubit rotations โดยตรง กระบวนการทั่วไปคือใช้ RXCalibrationBuilder และ RZXCalibrationBuilder (หรือ RZXCalibrationBuilderNoEcho) แล้วเพิ่ม instruction RXGate หรือ RZXGate เข้าใน target ของ QPU จากนั้นสร้าง transpilation pipeline ที่มี calibration builder pass เพื่อ calibrate single- และ two-qubit rotations สำหรับมุมที่กำหนด ในเบื้องหลัง กระบวนการนี้สร้าง calibration ซึ่งเป็น mapping ระหว่าง ScheduleBlock กับ Gate ใน QuantumCircuit

ตอนนี้คุณสามารถทำสิ่งเดียวกันนี้บน Heron processors ได้โดยใช้ flag use_fractional_gates ใหม่ ตามที่ระบุใน fractional gates guide ทั้ง RX(θ)R_X(\theta) และ RZZ(θ)R_ZZ(\theta) ต้องโหลดด้วย flag นี้ ซึ่งจะคืน backend ที่มีข้อมูลเกี่ยวกับ Gate เหล่านี้ใน attribute Target

service = QiskitRuntimeService()
backend = service.backend('ibm_torino', use_fractional_gates=True)

ใช้ Qiskit Dynamics

โมดูล qiskit.pulse มีฟังก์ชันการทำงานมากกว่าแค่การรัน single และ two-qubit rotations อย่างมีประสิทธิภาพ การควบคุมฟิสิกส์ของอุปกรณ์ส่วนมากสามารถจำลองได้ด้วยแพ็กเกจ Qiskit Dynamics ที่อยู่ใน Qiskit Ecosystem โดยเฉพาะแพ็กเกจนี้มีการแทนค่าฟีเจอร์หลายอย่างของ qiskit.pulse ในรูปแบบโมดูล qiskit_dynamics.signals เอกสารของแพ็กเกจนี้มี tutorial ที่อาจเป็นประโยชน์:

Source: IBM Quantum docs — updated 29 ต.ค. 2568
English version on doQumentation — updated 7 พ.ค. 2569
This translation based on the English version of 11 มี.ค. 2569