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

สถานะอ้างอิง

ในบทเรียนนี้ เราจะสำรวจวิธีที่เราสามารถกำหนดค่าเริ่มต้นของระบบด้วย reference state เพื่อช่วยให้อัลกอริทึม variational ของเรา converge เร็วขึ้น ก่อนอื่น เราจะเรียนรู้วิธีสร้าง reference state ด้วยมือ จากนั้นสำรวจตัวเลือกมาตรฐานหลายอย่างที่สามารถใช้ในอัลกอริทึม variational

Diagram of options for references states including default, application-specific, and quantum.

สถานะดีฟอลต์

Reference state หมายถึงจุดเริ่มต้นที่คงที่สำหรับปัญหาของเรา ในการเตรียม reference state เราต้องใช้ unitary URU_R ที่ไม่มีพารามิเตอร์ที่เหมาะสมที่จุดเริ่มต้นของ Circuit ควอนตัมของเรา เช่นว่า ρ=UR0|\rho\rangle = U_R |0\rangle หากคุณมีการเดาที่มีเหตุผลหรือจุดข้อมูลจากวิธีแก้ปัญหาที่เหมาะสมที่สุดที่มีอยู่ อัลกอริทึม variational มักจะ converge เร็วขึ้นหากคุณใช้สิ่งนั้นเป็นจุดเริ่มต้น

reference state ที่ง่ายที่สุดคือสถานะดีฟอลต์ ซึ่งเราใช้สถานะเริ่มต้นของ Circuit ควอนตัม nn-Qubit: 0n|0\rangle^{\otimes n} สำหรับสถานะดีฟอลต์ ตัวดำเนินการ unitary ของเรา URIU_R \equiv I เนื่องจากความเรียบง่าย สถานะดีฟอลต์เป็น reference state ที่ถูกต้องซึ่งใช้ในหลายสถานการณ์

Classical reference state

สมมติว่าคุณมีระบบ 3 Qubit และต้องการเริ่มต้นในสถานะ 001|001\rangle แทนสถานะดีฟอลต์ 000|000\rangle นี่คือตัวอย่างของ reference state แบบคลาสสิกล้วน ๆ และในการสร้างมัน คุณเพียงแค่ต้องใช้ X gate กับ Qubit 00 (ตามการเรียงลำดับ Qubit ของ Qiskit) เช่นว่า 001=X0000|001\rangle = X_0 |000\rangle

ในกรณีนี้ ตัวดำเนินการ unitary ของเราคือ URX0U_R \equiv X_0 ซึ่งนำไปสู่ reference state ρ001|\rho\rangle \equiv |001\rangle

# Added by doQumentation — required packages for this notebook
!pip install -q qiskit
from qiskit import QuantumCircuit

qc = QuantumCircuit(3)
qc.x(0)

qc.draw("mpl")

Output of the previous code cell

Quantum reference state

สมมติว่าคุณต้องการเริ่มต้นด้วยสถานะที่ซับซ้อนกว่าซึ่งเกี่ยวข้องกับ superposition และ/หรือ entanglement เช่น 12(100+111)\frac{1}{\sqrt{2}}(|100\rangle+|111\rangle)

ในการได้สถานะนี้จาก 000|000\rangle วิธีหนึ่งคือใช้ Hadamard gate บน Qubit 00 (H0H_0), CNOT (CX) gate ที่มี Qubit 00 เป็น control qubit และ Qubit 11 เป็น target qubit (CNOT01CNOT_{01}) และสุดท้าย XX gate ที่ใช้กับ Qubit 22 (X2X_2)

ในสถานการณ์นี้ ตัวดำเนินการ unitary ของเราคือ URX2CNOT01H0000U_{R} \equiv X_2CNOT_{01}H_0|000\rangle และ reference state ของเราคือ ρ12(100+111)|\rho\rangle \equiv \frac{1}{\sqrt{2}}(|100\rangle+|111\rangle)

qc = QuantumCircuit(3)
qc.h(0)
qc.cx(0, 1)
qc.x(2)

qc.draw("mpl")

Output of the previous code cell

การสร้าง Reference States โดยใช้ template circuits

เราสามารถใช้ template circuits ต่าง ๆ เช่น TwoLocal ซึ่งช่วยให้แสดงพารามิเตอร์ที่ปรับได้หลายตัวและ entanglement ได้อย่างง่ายดาย เราจะครอบคลุม template circuits เหล่านี้ในรายละเอียดในบทเรียนถัดไป แต่เราสามารถใช้มันเป็น reference states ได้หากเราผูกพารามิเตอร์:

from qiskit.circuit.library import TwoLocal
from math import pi

reference_circuit = TwoLocal(2, "rx", "cz", entanglement="linear", reps=1)
theta_list = [pi / 2, pi / 3, pi / 3, pi / 2]

reference_circuit = reference_circuit.assign_parameters(theta_list)

reference_circuit.decompose().draw("mpl")

Output of the previous code cell

Reference states เฉพาะแอปพลิเคชัน

Quantum machine learning

ในบริบทของ variational quantum classifier (VQC) ข้อมูลการฝึกจะถูกเข้ารหัสเข้าสู่สถานะควอนตัมด้วย Circuit แบบมีพารามิเตอร์ที่เรียกว่า feature map โดยค่าพารามิเตอร์แต่ละค่าแทนจุดข้อมูลจาก dataset การฝึก zz_feature_map เป็นประเภทของ Circuit แบบมีพารามิเตอร์ที่สามารถใช้ส่งข้อมูลของเรา (xx) ไปยัง feature map นี้

from qiskit.circuit.library import zz_feature_map

data = [0.1, 0.2]

zz_feature_map_reference = zz_feature_map(feature_dimension=2, reps=2)
zz_feature_map_reference = zz_feature_map_reference.assign_parameters(data)
zz_feature_map_reference.decompose().draw("mpl")

Output of the previous code cell

สรุป

ในบทเรียนนี้ คุณได้เรียนรู้วิธีกำหนดค่าเริ่มต้นของระบบโดยใช้:

  • Reference state ดีฟอลต์
  • Classical reference states
  • Quantum reference states
  • Reference states เฉพาะแอปพลิเคชัน

variational workload ระดับสูงของเราเป็นดังนี้:

A circuit diagram of a unitary operator preparing a reference state.

ในขณะที่ reference states เป็นจุดเริ่มต้นคงที่ เราสามารถใช้ variational form เพื่อกำหนด ansatz เพื่อแทนชุดของสถานะแบบมีพารามิเตอร์สำหรับอัลกอริทึม variational ของเราในการสำรวจ

Source: IBM Quantum docs — updated 15 ม.ค. 2569
English version on doQumentation — updated 7 พ.ค. 2569
This translation based on the English version of approx. 26 มี.ค. 2569