← Quantum Store · Rehberler · Dersler · Sözlük · Paketler · Öğrenme yolları · English

Qiskit kursu: gerçek kuantum programlama · Ders 1 / 6 · 10 dk

Qiskit’e giriş: ilk devreni Python’la yaz

Dünyada en çok kullanılan kuantum programlama kütüphanesi Qiskit’i kur, deneme alanında kurduğun Bell devresini Python koduyla yaz ve çizdir.

Qiskit nedir?

Qiskit, IBM’in geliştirdiği açık kaynak bir Python kütüphanesidir ve dünyada en çok kullanılan kuantum programlama aracıdır. Devre kurmayı, devreyi bilgisayarında simüle etmeyi ve aynı devreyi IBM’in gerçek kuantum bilgisayarlarına göndermeyi sağlar.

Önceki kurslarda devreleri deneme alanında fareyle kurdun. Bu kursta aynı devreleri Python koduyla yazacak, sonuçları kendin hesaplayacak ve kursun sonunda bir devreyi gerçek bir kuantum bilgisayarda çalıştıracaksın. Biraz Python bilmek işini kolaylaştırır ama kodlar satır satır açıklanıyor.

Kurulum

Bilgisayarında güncel bir Python 3 sürümü olması yeterli. Projeyi diğer kütüphanelerden ayırmak için önce bir sanal ortam (virtual environment) açıp Qiskit’i onun içine kurmanı öneririz. Son satır kurulan sürümü yazdırır; bir sayı görüyorsan kurulum tamamdır.

python -m venv .venv
.venv\Scripts\activate          # macOS / Linux: source .venv/bin/activate
pip install qiskit
python -c "import qiskit; print(qiskit.__version__)"

İlk devre: Bell durumu

QuantumCircuit(2) iki kübitlik boş bir devre açar; kübitlerin ikisi de |0⟩ ile başlar. Kapılar küçük harfli metotlardır: h, x, y, z, s, t tek kübitlik, cx, cz ve swap iki kübitlik kapılardır. Kapılar yazdığın sırayla uygulanır.

qc.cx(0, 1) yazımında ilk sayı kontrol, ikinci sayı hedef kübittir. measure_all() bütün kübitlere ölçüm ekler ve sonuçları “meas” adlı klasik yazmaca yazar; bu ismi bir sonraki derste kullanacağız.

from qiskit import QuantumCircuit

qc = QuantumCircuit(2)   # iki kübit, ikisi de |0⟩ ile başlar
qc.h(0)                  # q0'ı süperpozisyona sok
qc.cx(0, 1)              # q0 kontrol, q1 hedef: dolanıklık
qc.measure_all()         # bütün kübitleri ölç

print(qc.draw())

Devreyi çizdirmek

print(qc.draw()) devreyi metin olarak çizer: her satır bir kübittir ve q_0 en üsttedir. Jupyter defterinde qc.draw("mpl") daha güzel bir resim çizer; bunun için pip install matplotlib pylatexenc ile iki kütüphane daha kurman gerekir.

Deneme alanındaki “Bu devrenin Qiskit kodu” düğmesi, kurduğun her devreyi bu dersteki biçimde koda çevirir. Bir devreyi önce fareyle kurup sonra kodunu incelemek Qiskit’i öğrenmenin en hızlı yoludur.

Kendin dene

Bell devresinin altındaki “Bu devrenin Qiskit kodu” düğmesine bas: gördüğün kod bu dersteki kodla aynı. Sonra bir kapı ekle ve koda hangi satırın eklendiğine bak.

Tarayıcıda dene (kurulum yok)

Akılda kalsın

Kendini sına

Qiskit’te q0 kontrol, q1 hedef olan bir CNOT nasıl yazılır?

Cevabı göster

qc.cx(0, 1). cx metodunda ilk sayı kontrol, ikinci sayı hedef kübittir: qc.cx(0, 1).

Devreyi çalıştırmak: Sampler ve sayımlar →

Paylaş: X · LinkedIn