Langkau ke kandungan utama

Keadaan rujukan

Dalam pelajaran ini, kita akan meneroka bagaimana kita boleh memulakan sistem kita dengan keadaan rujukan bagi membantu algoritma variasi kita menumpu dengan lebih cepat. Pertama, kita akan belajar cara membina keadaan rujukan secara manual, kemudian meneroka beberapa pilihan standard yang boleh digunakan dalam algoritma variasi.

Rajah pilihan untuk keadaan rujukan termasuk lalai, khusus aplikasi, dan kuantum.

Keadaan lalai​

Keadaan rujukan merujuk kepada titik permulaan tetap dan awal untuk masalah kita. Untuk menyediakan keadaan rujukan, kita perlu menerapkan unitary yang sesuai dan tidak berparameter URU_R pada permulaan litar kuantum kita, supaya ∣ρ⟩=UR∣0⟩|\rho\rangle = U_R |0\rangle. Jika kamu ada tekaan yang berpengetahuan atau titik data daripada penyelesaian optimum yang sedia ada, algoritma variasi kemungkinan besar akan menumpu lebih cepat jika kamu menggunakannya sebagai titik permulaan.

Keadaan rujukan yang paling mudah ialah keadaan lalai, di mana kita menggunakan keadaan permulaan litar kuantum nn-Qubit: ∣0βŸ©βŠ—n|0\rangle^{\otimes n}. Untuk keadaan lalai, operator unitary kita ialah UR≑IU_R \equiv I. Disebabkan kesederhanaannya, keadaan lalai adalah keadaan rujukan yang sah dan digunakan dalam banyak senario.

Keadaan rujukan klasik​

Katakan kamu mempunyai sistem tiga Qubit dan kamu mahu bermula dalam keadaan ∣001⟩|001\rangle dan bukannya keadaan lalai ∣000⟩|000\rangle. Ini adalah contoh keadaan rujukan yang sepenuhnya klasik, dan untuk membinanya, kamu hanya perlu menerapkan Gate X pada Qubit 00 (mengikut susunan Qubit Qiskit), kerana ∣001⟩=X0∣000⟩|001\rangle = X_0 |000\rangle.

Dalam kes ini, operator unitary kita ialah UR≑X0U_R \equiv X_0, yang membawa kepada keadaan rujukan βˆ£ΟβŸ©β‰‘βˆ£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

Keadaan rujukan kuantum​

Katakan kamu ingin bermula dengan keadaan yang lebih kompleks yang melibatkan superposisi dan/atau keterkaitan, seperti 12(∣100⟩+∣111⟩)\frac{1}{\sqrt{2}}(|100\rangle+|111\rangle).

Untuk mendapatkan keadaan ini daripada ∣000⟩|000\rangle, salah satu pendekatan ialah menggunakan Gate Hadamard pada Qubit 00 (H0H_0), Gate CNOT (CX) dengan Qubit 00 sebagai Qubit kawalan dan Qubit 11 sebagai Qubit sasaran (CNOT01CNOT_{01}), dan akhirnya Gate XX yang diterapkan pada Qubit 22 (X2X_2).

Dalam senario ini, operator unitary kita ialah UR≑X2CNOT01H0∣000⟩U_{R} \equiv X_2CNOT_{01}H_0|000\rangle, dan keadaan rujukan kita ialah βˆ£ΟβŸ©β‰‘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

Membina Keadaan Rujukan menggunakan Circuit templat​

Kita juga boleh menggunakan pelbagai Circuit templat, seperti TwoLocal yang membolehkan ungkapan pelbagai parameter boleh laras dan keterkaitan dengan mudah. Kita akan membincangkan Circuit templat ini dengan lebih terperinci dalam pelajaran seterusnya, tetapi kita boleh menggunakannya untuk keadaan rujukan kita sekiranya kita mengikat parameter:

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

Keadaan rujukan khusus aplikasi​

Pembelajaran mesin kuantum​

Dalam konteks pengelas kuantum variasi (VQC), data latihan dikodkan ke dalam keadaan kuantum dengan Circuit berparameter yang dikenali sebagai peta ciri, di mana setiap nilai parameter mewakili titik data daripada set data latihan. zz_feature_map adalah sejenis Circuit berparameter yang boleh digunakan untuk menghantar titik data kita (xx) kepada peta ciri ini.

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

Ringkasan​

Dengan pelajaran ini, kamu telah belajar cara memulakan sistem kamu menggunakan:

  • Keadaan rujukan lalai
  • Keadaan rujukan klasik
  • Keadaan rujukan kuantum
  • Keadaan rujukan khusus aplikasi

Beban kerja variasi peringkat tinggi kita kelihatan seperti berikut:

Rajah Circuit operator unitary yang menyediakan keadaan rujukan.

Walaupun keadaan rujukan adalah titik permulaan tetap dan awal, kita boleh menggunakan bentuk variasi untuk mentakrifkan ansatz bagi mewakili koleksi keadaan berparameter untuk algoritma variasi kita terokai.

Source: IBM Quantum docs β€” updated 15 Jan 2026
English version on doQumentation β€” updated 7 Mei 2026
This translation based on the English version of approx. 27 Mac 2026