Lewati ke konten utama

Plot state kuantum

Versi paket

Kode di halaman ini dikembangkan menggunakan persyaratan berikut. Kami menyarankan menggunakan versi ini atau yang lebih baru.

qiskit[all]~=2.3.0

Dalam banyak situasi β€” seperti saat belajar atau debugging β€” sangat membantu untuk memvisualisasikan state komputer kuantum. Di sini kita asumsikan kamu sudah memiliki state tertentu dari simulasi atau state tomography. Kita hanya bisa melihat state sistem kuantum yang kecil.

Menggunakan output dari fungsi

Semua fungsi di halaman ini mengembalikan objek yang kaya. Ketika baris terakhir sel kode menghasilkan objek-objek ini, Jupyter notebooks akan menampilkannya di bawah sel. Jika kamu memanggil fungsi-fungsi ini di lingkungan lain atau dalam skrip, kamu perlu menampilkan atau menyimpan outputnya secara eksplisit.

Sebagian besar fungsi mengembalikan gambar, yaitu objek matplotlib.Figure. Dua opsi yang tersedia:

  • Panggil .show() pada objek yang dikembalikan untuk membuka gambar di jendela baru (dengan asumsi backend matplotlib yang dikonfigurasi bersifat interaktif).
  • Panggil .savefig("out.png") untuk menyimpan gambar ke out.png di direktori kerja saat ini. Metode savefig() menerima path sehingga kamu bisa menyesuaikan lokasi dan nama file tempat menyimpan output. Misalnya, plot_state_city(psi).savefig("out.png").

Output LaTeX adalah objek IPython.display.Latex. Opsi terbaik di lingkungan non-Jupyter adalah menghindari output ini dengan cara mencetak state untuk representasi teks, atau beralih ke drawer latex_source untuk mengembalikan string sumber LaTeX.

State kuantum bisa berupa matriks densitas ρ\rho (matriks Hermitian) atau statevector ∣ψ⟩|\psi\rangle (vektor kompleks). Matriks densitas berkaitan dengan statevector melalui

ρ=∣ψ⟩⟨ψ∣,\rho = |\psi\rangle\langle \psi|,

dan lebih umum karena bisa merepresentasikan mixed states (jumlah positif statevector)

ρ=βˆ‘kpk∣ψk⟩⟨ψk∣.\rho = \sum_k p_k |\psi_k\rangle\langle \psi_k |.

Qiskit merepresentasikan state kuantum melalui kelas Statevector dan DensityMatrix serta menyediakan banyak fungsi visualisasi. Lihat bagian-bagian setelah sel kode berikut untuk melihat bagaimana berbagai fungsi visualisasi Qiskit memplot state kuantum berikut ini.

# Added by doQumentation β€” required packages for this notebook
!pip install -q qiskit
from math import pi
from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector

# Create a Bell state for demonstration
qc = QuantumCircuit(2)
qc.h(0)
qc.crx(pi / 2, 0, 1)
psi = Statevector(qc)

Meski secara teknis bukan "plot", Qiskit bisa merender representasi LaTeX dari objek Statevector maupun DensityMatrix yang tampil dengan baik di Jupyter notebooks. Representasi ini mengikuti konvensi matematika standar untuk menuliskan state kuantum. Baca lebih lanjut di Dasar-dasar informasi kuantum: Sistem tunggal.

Statevector menggunakan "notasi ket" secara default, sedangkan matriks densitas ditampilkan sebagai matriks 2Γ—2.

Kamu juga bisa mengganti "latex" dengan "latex_source" untuk mendapatkan string LaTeX mentah.

psi.draw("latex")  # psi is a Statevector object

22∣00⟩+12∣01βŸ©βˆ’i2∣11⟩\frac{\sqrt{2}}{2} |00\rangle+\frac{1}{2} |01\rangle- \frac{i}{2} |11\rangle

from qiskit.quantum_info import DensityMatrix

DensityMatrix(psi).draw("latex") # convert to a DensityMatrix and draw
[122402i424140i40000βˆ’2i4βˆ’i4014] \begin{bmatrix} \frac{1}{2} & \frac{\sqrt{2}}{4} & 0 & \frac{\sqrt{2} i}{4} \\ \frac{\sqrt{2}}{4} & \frac{1}{4} & 0 & \frac{i}{4} \\ 0 & 0 & 0 & 0 \\ - \frac{\sqrt{2} i}{4} & - \frac{i}{4} & 0 & \frac{1}{4} \\ \end{bmatrix}
from qiskit.visualization import plot_state_city

plot_state_city(psi)
# Alternative: psi.draw("city")

Output of the previous code cell

from qiskit.visualization import plot_state_hinton

plot_state_hinton(psi)
# Alternative: psi.draw("hinton")

Output of the previous code cell

from qiskit.visualization import plot_state_paulivec

plot_state_paulivec(psi)
# Alternative: psi.draw("paulivec")

Output of the previous code cell

from qiskit.quantum_info import SparsePauliOp

SparsePauliOp.from_operator(psi)
SparsePauliOp(['II', 'IX', 'XY', 'YI', 'YX', 'YZ', 'ZI', 'ZX', 'ZZ'],
coeffs=[ 0.25 +0.j, 0.1767767+0.j, -0.1767767+0.j, -0.125 +0.j,
-0.1767767+0.j, 0.125 +0.j, 0.125 +0.j, 0.1767767+0.j,
0.125 +0.j])
from qiskit.visualization import plot_state_qsphere

plot_state_qsphere(psi)
# Alternative: psi.draw("qsphere")

Output of the previous code cell

from qiskit.visualization import plot_bloch_multivector

plot_bloch_multivector(psi)
# Alternative: psi.draw("bloch")

Output of the previous code cell

Opsi untuk fungsi plot state​

Semua fungsi plot state menerima argumen berikut (kecuali drawer LaTeX, yang tidak mengembalikan figure Matplotlib, dan plot_state_qsphere, yang hanya menerima figsize):

  • title (str): string untuk judul plot, ditampilkan di bagian atas plot
  • figsize (tuple): ukuran figure dalam inci (lebar, tinggi)

Fungsi plot_state_city dan plot_state_paulivec juga menerima argumen color (list string) yang menentukan warna batang. Lihat dokumentasi API untuk informasi lebih lanjut.

Tidak ingat nama fungsi plotting yang kamu butuhkan? Coba tanyakan ke Qiskit Code Assistant.

Langkah selanjutnya​

Rekomendasi
Source: IBM Quantum docs β€” updated 16 Mar 2026
English version on doQumentation β€” updated 7 Mei 2026
This translation based on the English version of 11 Mar 2026