Kuantum Fourier dönüşümü — faz uzayına geçiş
QFT (Quantum Fourier Transform), n kübitlik bir durumun genliklerini, klasik ayrık Fourier (DFT) ile aynı matematiksel ilişkiye sadık kalarak yeniden dağıtan üniter (birim ve tersinir) bir dönüşümdür. Ölçüm öncesi genlik tablosunu “yeniden karıştırmak” değil; Hilbert uzayındaki temsilini Fourier tabanına döndürmektir. Klasik Fourier sinyaldeki frekans bileşenlerini ortaya çıkarırken, QFT kuantum durumunda sıklıkla fazlarda kodlanan periyodik yapıları ölçülebilir bir biçime yaklaştırır — Shor, faz tahmini (QPE) ve Grover sonrası sayım gibi algoritmalarda devreye tam buradan girer.
Kuantum Fourier Dönüşümü (QFT) nedir?
QFT, n kübitlik bir durumun genliklerini Fourier dönüşümü mantığıyla yeniden düzenler. Klasik dünyada Fourier dönüşümü sinyalin içindeki frekansları ortaya çıkarır; kuantum dünyasında ise “bilginin” çoğu zaman fazlarda saklandığı durumlarda bu faz desenlerini okunabilir hâle getirir.
Daha kesin söylemek gerekirse: n kübit, N = 2n boyutlu bir genlik vektörü taşır. QFT, bu vektöre klasik DFT’nin kuantum karşılığını uygular — yani genlikleri, “hangi endeks?” düzeninden Fourier tabanına taşır. Sonuç yine bir kuantum durumudur; Fourier “çıktısı” tek başına klasik bir liste olarak okunmaz, ölçüm ve (çoğu algoritmada) klasik devam işlemleri ile anlam kazanır.
Neden bu kadar merkezi? Birçok kuantum algoritması, aradığı yapıyı (örneğin bir fonksiyonun gizli periyodu veya bir ünite operatörünün özdeğer fazı) doğrudan bit deseninde değil, tekrarlayan faz ilişkilerinde saklar. QFT, bu ilişkileri genliklerin yeniden dağılımıyla öne çıkarır; böylece bir sonraki adımda ölçüm veya klasik çıkarım, “hangi frekans/kip baskın?” sorusuna yaklaşabilir. Özetle QFT tek başına “cevap makinesi” değildir; periyodiklik ve faz bilgisini ortaya çıkaran geçiş kapısıdır.
Neden devrimseldir?
Burada “devrim”den kastettiğimiz şey, tek başına bir slogandan çok hesaplama modeli farkıdır: klasik ayrık Fourier (FFT), elinizde N sayılık bir diziyi okuyup yazarken O(N log N) işlem yapar. QFT ise aynı boyuttaki genlik uzayına karşılık gelen üniter dönüşümü, n = log₂N kübit üzerinde çok daha küçük bir kapı sayısıyla (O(n²), yani O((log N)²)) gerçekleştirebilir. Önemli nüans: QFT bir klasik diziyi satır satır çözmek için kullanılmaz; önceden hazırlanmış kuantum durumunun temsilini Fourier tabanına döndürür.
Bu yüzden tabloyu okurken iki satırın aynı masada yarışan iki program olduğunu düşünmeyin. FFT satırı, “genlikleri depoda duran bir vektörün Fourier’ini hesapla” problemini çözer; QFT satırı ise “n kübitlik duruma DFT’ye denk gelen üniteyi uygula” işinin devre maliyetidir. Genlikleri klasik olarak çıkarıp FFT’e beslemek çoğu senaryoda ya mümkün değildir ya da en azından boyutu N ile ölçeklenen bir maliyet doğurur; kuantum algoritması ise durumu yerinde tutup QFT ile dönüşümü “yerinde” yapmayı hedefler.
| Yöntem | Ölçek | Not |
|---|---|---|
| Klasik FFT | O(N log N) | Uzunluğu N olan dizide dönüşüm. |
| QFT devresi | O((log N)^2) | n=log₂N kübit üzerinde kapı sayısı. |
Shor ve QPE bağlamında üstel ayrımı “yalnızca FFT’den geldi” sanmayın: kazanç, oracle/hazırlık + faz bilgisini taşıyan durum + QFT + klasik devam işinin bütününden doğar. QFT’nin rolü, bu paket içinde Fourier adımını n’de polinom tutarak darboğazı kırmaktır; tek başına her klasik problemi hızlandırmaz.
Genellemeyi reddedelim: “kuantum her şeyi daha hızlı yapar” doğru değildir. QFT, veri hazırlığı ve sonradan okuma koşulları uygun olduğunda (periyot, faz, düzenli oracle) devreyi verimli kılan bir bileşendir; anlam yine ölçüm ve klasik son işlemle gelir — bunu 1 · QFT nedir? içindeki “ne beklemeli?” çerçevesinde açmıştık.
Mimari yapı: kontrollü dönüşler ve Hadamard
Standart QFT devresi, kübitleri sırayla işleyen bir “merdiven”dir: dış döngüdeki her j için önce o hatta H, ardından daha yüksek numaralı kübitlerden (k > j) gelen kontrollü fazlar gelir. Bu sayede klasik DFT’nin çarpım kurulumuna denk gelen faz ilişkileri, kapı kapı birikir; açılar π/2, π/4, π/8, … şeklinde ikilik kesir basamaklarına iner — işte Fourier’deki frekans çözünürlüğünün devre karşılığı budur.
Bell durumu sayfasında H’nin tek kübitte eşit süperpozisyon ürettiğini ve kontrollü kapıların iki hat arasında koşullu etki kurduğunu adım adım görmüştük. Burada rol değişir: dolanıklık için CNOT yerine faz taşıyan kontrol kullanılır; merdiven ise Fourier tabanını inşa etmek içindir — yani kapılar aynı aileden, ama algoritma hedefi tamamen QFT’ye özgüdür.
-
Hadamard H
Bell örneğinde olduğu gibi, tek kübit düzeyinde |0⟩ ve |1⟩ genliklerini eşitler ve göreli fazları karşılaştırılabilir hâle getirir. QFT’de bu “ilk adım” her katmanda o anki hedef hatta (j) tekrarlanır: kübit yalnızca klasik bir bit değil, iki dalın birlikte taşıdığı faz alanıdır. Arkadan gelen kontrollü fazlar, işte bu iki dal arasına Fourier’nin gerektirdiği ikilik faz farklarını eklemek için gereklidir — özetle H süperpozisyonu açar, merdiven ise o süperpozisyon üzerinde harmonikleri kodlar.
-
Kontrollü faz CP · Rk
İki kübitlidir: bir hat kontrol, diğeri bu blokta hedef (qc.cp(angle, k, j) kurulumunda kontrol k, hedef j). Kontrol |1⟩ iken hedefin |1⟩ bileşenine ek faz eklenir; kontrol |0⟩ iken dokunulmaz — Bell’deki CNOT’un “yalnızca bir dalda işlem” mantığına paralel, fakat burada bit çevirmek yerine faz döndürmek vardır. Açılar π / 2m biçimindedir; bu sayfadaki döngüde m = k − j olduğundan π/2, π/4, … sırası çıkar. Üst kübitler hangi kombinasyonların aktif olduğuna göre alt hattaki fazı kesir kesir biçimler — bu da QFT’nin “frekansı fazda yazma” mekanizmasıdır.
Faz uzayına geçiş
QFT uygulandığında bilgi, “hangi kübit 0/1?” gibi doğrudan bit deseninden ziyade, register’ın taşıdığı göreli fazlar ve girişim üzerinden okunur. Çünkü QFT bir üniter temsil değişimidir: aynı fiziksel durum, hesaplama tabanından Fourier tabanına taşınır; önceden dal dal saklı görünen faz ilişkileri, yeni tabanda genlik yoğunlaşması olarak seçilebilir hâle gelir.
Bu pasajda “faz uzayı”ndan kastettiğimiz şey, soyut faz uzayı geometrisinin tam formülü değil, pratik bir uyarıdır: kübitleri tek tek klasik bit sanarak okuyamazsınız; önemli olan, tamamlayıcı genlikler arasındaki faz farklarıdır (genel faz kayması ölçümde görünmez). QFT tam da bu göreli fazların, Fourier indeksleriyle uyumlu biçimde yeniden paketlenmesini sağlar — dolayısıyla “faza geçiş”, kapılarda döndürdüğünüz açıların özetidir (3 · Mimari); ölçüm öncesi ise anlamlı özetin hangi etiketlerde ortaya çıkacağıdır.
Periyodik veya özdeğer yapılarda aranan bilgi sıklıkla çarpım durumunun üstündeki düzenli faz döngülerinde durur. QFT’den hemen sonra yapılan ölçüm, klasik FFT çıktısı gibi tüm katsayıları tek seferde yazdırmaz; bunun yerine örnekler üretir ve doğru devre koşullarında belirgin sonuçlar istatistiksel olarak öne çıkar. Devamında sürekli kesir, periyot arama veya özdeğer çıkarımı gibi klasik adımlar devreye girer — bu zincirin kuantum kısmı ile ölçüm beklentisi arasındaki farkı 1 · Tanım · ne beklemeli? notunda özetlemiştik.
Qiskit kod örneği
Aşağıdaki kod, QFT’yi “kütüphaneden çağırmak” yerine kapı kapı manuel kurar: Hadamard, kontrollü faz (CP) merdiveni ve bit reversal için SWAP. Örnek olarak giriş durumunu |101⟩ hazırlayıp QFT sonrası durum vektörünü okuyoruz.
import numpy as np
from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector
def build_qft_manual(n: int) -> QuantumCircuit:
qc = QuantumCircuit(n)
for j in range(n):
# 1) Her blok Hadamard ile başlar
qc.h(j)
# 2) Takip eden kübitlerle kontrollü rotasyonlar
for k in range(j + 1, n):
angle = np.pi / (2 ** (k - j)) # π / 2^(k-j)
qc.cp(angle, k, j)
qc.barrier()
# 3) Bit reversal: SWAP ile sırayı tersle
for i in range(n // 2):
qc.swap(i, n - i - 1)
return qc
n_qubits = 3
qft = build_qft_manual(n_qubits)
# Örnek giriş: |101⟩
qc = QuantumCircuit(n_qubits)
qc.x(0)
qc.x(2)
qc.barrier()
qc.compose(qft, inplace=True)
print(\"Manuel QFT Devre Şeması:\")
print(qc)
state = Statevector.from_instruction(qc)
print(\"Durum vektörü (genlikler):\")
print(state.data)
Aynı Devre (İki Temsil)
Yukarıdaki editördeki akışın çıktısı solda Qiskit’in metin devre şeması olarak; sağda aynı n=3 QFT merdiveninin özet çizimi yer alır. Baştaki X kapıları |101⟩ hazırlığını verir; ░ bariyerleri ve P(π/…) kontrollü faz (CP) kapıları merdiveni takip eder; Qiskit çiziminde sondaki çapraz çizim, bit reversal SWAP’ı temsil eder (üstteki Pauli-X ile karıştırmayın).
print(qc) · Qiskit · |101⟩ + manuel QFT
Manuel QFT Devre Şeması:
┌───┐ ░ ┌───┐ ░ ░ ░
q_0: ┤ X ├─░─┤ H ├─■────────■────────░────────────────░───────░──X─
└───┘ ░ └───┘ │P(π/2) │ ░ ┌───┐ ░ ░ │
q_1: ──────░───────■────────┼────────░─┤ H ├─■────────░───────░──┼─
┌───┐ ░ │P(π/4) ░ └───┘ │P(π/2) ░ ┌───┐ ░ │
q_2: ┤ X ├─░────────────────■────────░───────■────────░─┤ H ├─░──X─
└───┘ ░ ░ ░ └───┘ ░
Pauli-X · |101⟩ ░ · bariyer H · CP · SWAP (çapraz)
Premium devre çizimi
mor · H turuncu · CP pembe · CP yeşil · SWAP
Kodun derinlemesine analizi
Kod analizi · satır satır
qc.h(j) Her katman bir Hadamard ile başlar. Bu, “faz merdiveni” için referans süperpozisyonu oluşturur.
Hangi kübit hangi rolü oynuyor? Döngüde j “hedef kübit”tir; onun üstüne QFT’nin bir basamağını kurarız. İç döngüdeki k ise “daha anlamlı” (daha yüksek ağırlıklı) kübitlerden gelen kontrollerdir. Sezgi: yüksek anlamlı bitler, daha küçük açılarla daha ince faz düzeltmeleri yapar.
qc.cp(angle, k, j) Kontrollü faz kapısı, kontrol kübit 1 iken hedef kübite angle kadar faz uygular. Açıların π/2, π/4, π/8... şeklinde küçülmesi, faz bilgisinin ikili basamaklar gibi kodlanmasıdır.
Açı formülü Burada angle = π / 2^(k-j). Mesafe büyüdükçe (k-j arttıkça) açı küçülür; bu yüzden merdivenin üst basamaklarında “ince” fazlar eklenir. QFT’nin estetik görünümü, aslında bu geometrik ölçeklemeden gelir.
qc.barrier() Bariyer, matematiği değiştirmez; sadece “bu basamak bitti” demektir. Devre şemasını okurken Hadamard + CP grubunu bloklar hâlinde görmenizi sağlar ve transpiler’ın kapıları farklı yerlere taşımasını pratikte sınırlar.
qc.swap(...) (bit reversal) QFT doğal olarak bitleri ters sırada üretir. SWAP katmanı, ölçüm çıktısını “insanların okuduğu” sıraya geri çevirir.
Statevector ile kontrol Bu örnekte ölçüm yapmıyoruz; amaç dönüşümün genlik/faz yapısını görmek. QFT’nin gücü, daha büyük algoritmalarda (QPE/Shor) ölçüm + klasik son işlemle ortaya çıkar.
Bu örnek neden ölçümsüz? QFT tek başına “cevap” üretmez; cevabı üreten, QFT’den sonra yapılan ölçümün hangi bağlamda yorumlandığıdır. Shor/QPE’de ölçüm, periyodu/fazı çıkarmaya yarayan klasik post-processing’e beslenir. Bu sayfada amaç, QFT’nin kapı yapısını ve faz mantığını çıplak hâliyle görmek.
Devre ve doğrulama
Şema 3 kübitlik manuel QFT merdivenini gösterir: her kübitte Hadamard ve ardından kontrollü faz kapıları; en sonda bit reversal için SWAP. Terminal satır satır versiyon için 6 · Aynı Devre (İki Temsil) bölümüne bakın.
Şemayı adım adım oku
-
İlk kübitte H ile başlarsınız; sonra diğer kübitlerden gelen kontrollü fazlarla ince ayar yapılır.
-
Açıların π/2, π/4, ... şeklinde küçülmesi, fazın ikili basamaklarla kodlandığını gösterir.
-
Şemada kontrol noktası (dolu nokta) “fazı koşullu uygula” anlamına gelir. Örneğin q2 üzerindeki 1, q0 üzerinde π/4 faz ekler. Böylece üst kübitler alt kübitlerin fazını “ince ayarlar”.
-
Merdiven tamamlanınca bit reversal için SWAP ile sıralama düzeltilir.
Hedef: devrenin “H + kontrollü faz + SWAP” merdiveni olarak okunabilmesi ve bit reversal fikrinin net olması.
- kapılar H + CP + SWAP
- açılar π/2, π/4, ...
- not ölçüm, algoritmaya göre en sonda gelir
Tasarım ve içerik geliştirme notları
-
“Kuantumun spektrum analizi”
Spektrum analojisi “fazı” hızlı oturtur; okuyucuya küçük uyarı: kuantumda bu “frekans” çoğu zaman ses tonu değil, kübitler arası göreli fazın uyumlu tekrarıdır. Benzetmeyi 4 · Faz uzayına geçiş bölümündeki histogram/ölçüm diline bağlamak, analojiyi tek başına bırakmaz.
-
Bit reversal
“Fourier dünyasında adreslemenin ters aktığı” iyi bir sezgi; geliştirirken bit sırasını okuyucunun zihninde net tutun: doğal merdiven çıktısı ile klasik indeks okuma sırası uyumsuz olabilir — SWAP katmanı tam da ölçüm satırını insanların beklediği uca hizalar.
-
Hibrit mantık
QFT’nin ölçümden hemen önce veriyi örneklemeye uygun biçimde düzenlediği; ardından sürekli kesir, periyot çıkarma vb. klasik işlemlerin geldiği çerçeve, Shor, QPE ve Grover-sonrası sayım zincirlerinde standarttır. İçerikte “kara kutu QFT()” ile manuel devreyi yan yana tutmak bu hibrit resmi tamamlar.
-
İki satır, iki problem
Karmaşıklık tablosunda FFT ile QFT satırını yan yana verirken editör notu: bu tablo “aynı işi iki dilde çalıştır” demek değil; biri açık klasik dizi, diğeri n kübit üzerinde üniter. Yanlış genellemeden kaçınmayı 2 · Neden devrimsel? bölümünde zaten ayırdık — özet kartlar o nüansı kaybetmesin.