KonuAnlatım.com

Tensor ve Kronecker Çarpımı

Kuantum Hesaplama · Bölüm 22Kuantum HesaplamaDers

Bir kuantum bilgisayarda iki kübiti bir araya getirmek, iki sayıyı toplamaya benzemez: durumları yan yana koymak için tensor çarpımı denen özel bir birleştirme işlemine ihtiyaç vardır. Bu derste tensor çarpımının ne olduğunu, matrisler için kullanılan adıyla Kronecker çarpımını, küçük örneklerle adım adım nasıl hesaplandığını ve kuantum hesaplamada neden her adımda karşımıza çıktığını öğreneceksin. Serinin tamamı için Kuantum Hesaplama dersleri sayfasına bakabilirsin.

Neden Yeni Bir Çarpıma İhtiyaç Var?

Tek bir kübitin durumu iki bileşenli bir vektördür (bkz. Vektörler): |0⟩ için (1, 0), |1⟩ için (0, 1); genel durum α|0⟩ + β|1⟩ ise (α, β) sütun vektörüdür. Kuantum durumları kompleks bileşenli vektör uzaylarında yaşar; bu uzayların kurallarını Kompleks Vektör Uzayları dersinde, ket gösterimini de Dirac Bra-ket Notasyonu dersinde göreceksin. Peki iki kübitin ortak durumu nasıl yazılır? İki kübit birlikte dört olasılık taşır: |00⟩, |01⟩, |10⟩, |11⟩. Her birinin ayrı bir genliği olduğu için ortak durum dört bileşenli bir vektördür; iki kübitin ikişer bileşenli vektörlerini toplayarak bu dört genliğe ulaşamazsın. İki bağımsız sistemi tek bir duruma birleştiren işlem tensor çarpımıdır ve ⊗ simgesiyle gösterilir.

Tensor Çarpımı Nedir?

Tanım basittir: m bileşenli v ile n bileşenli w vektörlerinin tensor çarpımı v ⊗ w, tüm bileşen çiftlerinin ürünlerinden oluşan yeni bir vektördür. İki bileşenli örnek: (a, b) ⊗ (c, d) = (a·c, a·d, b·c, b·d). Birinci vektörün her bileşeni, ikinci vektörün tüm bileşenleriyle çarpılır ve sonuçlar sırayla dizilir. Boyut kuralı çarpımsaldır: sonuç m·n bileşenlidir. Böylece n kübitlik sistem 2ⁿ bileşenli bir vektörle tanımlanır — iki kübit 4, üç kübit 8, on kübit 1024 bileşen demektir. Kuantum hesaplamada üstel durum uzayının kaynağı bu kuraldır.

İki özellik hemen akılda kalsın. Birincisi dağılma (bilinearity): (αv + u) ⊗ w = α(v ⊗ w) + (u ⊗ w); parantezler sıradan çarpımda olduğu gibi açılır. İkincisi sıra önemlidir: v ⊗ w ile w ⊗ v genelde farklı vektörlerdir; bileşenler aynı olsa bile yerleri değişmiştir. Hangi kübitin başa yazıldığı, sonuçta hangi genliğin hangi olasılığa karşılık geldiğini belirler; bu yüzden devre çizimlerinde ilk kübit sözleşmesi sabit tutulur.

Kronecker Çarpımı: Matrisler İçin Aynı Fikir

Kapılar da matristir; bir kübitlik kapı, durum vektörünü 2×2'lik bir matrisle çarpar ve çarpımın kurallarını Matrisler ile Matris Çarpımı derslerinde işledik. İki kübitlik sisteme iki ayrı kapıyı uygulamak içinse kapıların kendisi tensor çarpımıyla birleştirilir; matrisler için bu işleme Kronecker çarpımı denir. m×n'lik A ile p×q'luk B'nin çarpımı A ⊗ B, (mp)×(nq)'luk büyük bir matristir ve blok yapılıdır: her aᵢⱼ bileşeni, B matrisiyle ölçeklenmiş bir bloğa dönüşür. 2×2'lik A için A ⊗ B = [a₁₁B a₁₂B ; a₂₁B a₂₂B] yazarız; noktalı virgül satır geçişini gösterir.

Somut örnek: Pauli-X kapısı σₓ = [0 1 ; 1 0] ile birim matris I = [1 0 ; 0 1] olsun. Blok kuralından σₓ ⊗ I = [0·I 1·I ; 1·I 0·I] çıkar; bileşenlere dökersek dört satır hâlinde [0 0 1 0 ; 0 0 0 1 ; 1 0 0 0 ; 0 1 0 0] elde ederiz. Bu kapıyı |01⟩ durumuna uygulayalım: |01⟩ vektörü (0, 1, 0, 0)'dır ve matrisle çarpınca (0, 0, 0, 1), yani |11⟩ çıkar. Kapı yalnızca ilk kübiti 0'dan 1'e çevirdi; ikinci kübit I yüzünden olduğu gibi kaldı. Hesabı elle kontrol edebilirsin: dördüncü satır 0·0 + 1·1 + 0·0 + 0·0 = 1 verir, diğer satırlar 0 verir.

Aynı birleştirmeyi durumlara da uygulayalım. ψ = (|0⟩ + |1⟩)/√2 kübitini φ = |0⟩ ile birleştirelim: ψ vektörü (1/√2, 1/√2), φ vektörü (1, 0)'dır. Bileşen bazında (1/√2, 1/√2) ⊗ (1, 0) = (1/√2, 0, 1/√2, 0) bulunur; ket gösterimiyle bu (|00⟩ + |10⟩)/√2'dir. Normalizasyon kontrolü: 1/2 + 0 + 1/2 + 0 = 1 ✓. Genel kural ‖v ⊗ w‖ = ‖v‖·‖w‖ der; tek tek normalize edilmiş durumların tensor çarpımı da bu yüzden otomatik olarak normalize kalır.

Temel Kurallar

  • Birleşme: (A ⊗ B) ⊗ C = A ⊗ (B ⊗ C). Paranteze gerek yoktur; üç kübitli ve daha büyük sistemler aynı kuralla kurulur.
  • Karışık çarpım: (A ⊗ B)(C ⊗ D) = (AC) ⊗ (BD). Her kübite kendi kapısını uygula işlemini tek büyük matris olarak yazmayı sağlar; simülatörlerin en çok kullandığı özelliktir.
  • Değişme yok: genel olarak A ⊗ B ≠ B ⊗ A. İkisi yalnızca satır-sütun dizilişi farklıdır ama bu fark, |01⟩ ile |10⟩ olasılıklarının yer değiştirmesi demektir.
  • Transpoz ve adjoint dağılır: (A ⊗ B)ᵀ = Aᵀ ⊗ Bᵀ ve (A ⊗ B)† = A† ⊗ B†; ayrıntılar Transpoz ve Adjoint dersinde.
  • Üniteryenlik korunur: A ve B üniteryense A ⊗ B de üniteryendir (bkz. Üniteryen Matrisler); kapıların uzunluğu koruma güvencesi büyük sistemlere aynen taşınır.

Sık Yapılan Hatalar ve Yanılgılar

  • 'Tensor çarpımı bir tür matris çarpımıdır' — değildir. Matris çarpımı iç boyutların eşleşmesini ister ve sonucun boyutu küçülür; Kronecker çarpımı her boyutta tanımlıdır ve boyutları çarpar. İkisi farklı sorulara cevap verir.
  • 'Sıra önemli değil' — önemlidir. ψ ⊗ φ yerine φ ⊗ ψ yazarsan iki kübitlik sistemde hızlı ve yavaş kübitin yeri değişir; ölçüm sonuçların yanlış teline atanır.
  • 'Durumları toplayarak birleştiririm' — olmaz. (α, β) + (α′, β′) hâlâ iki bileşenli bir vektördür; iki kübitin dört genliğini yalnızca tensor çarpımı üretir.
  • İç çarpımla karıştırmak: ⟨φ|ψ⟩ benzerliği ölçen tek bir sayıdır (bkz. İç Çarpım); ψ ⊗ φ ise sistemleri birleştiren büyük bir vektördür. Biri karşılaştırma, diğeri birleştirme işlemidir.

Tensor çarpımı aynı zamanda seni dolanıklığa hazırlar. |00⟩ + |11⟩ durumunu ele al: hiçbir a, b, c, d seçimi bunu (a|0⟩ + b|1⟩) ⊗ (c|0⟩ + d|1⟩) biçiminde yazamaz. Görmek için açılımdaki ac|00⟩ + ad|01⟩ + bc|10⟩ + bd|11⟩ ifadesinde ac = 1, ad = 0, bc = 0, bd = 1 koşullarına bakman yeterli; a ve c sıfırdan farklı olmalı, bu da d = 0'ı zorunlu kılar ama bd = 1 d = 0 ile çelişir. Tek kübitlerin bağımsız birleşimi olarak tanımlanamayan bu durumlara dolanık durum denir ve ilerleyen derslerin merkezinde yer alır.

Sık Sorulan Sorular

Tensor çarpımı ile Kronecker çarpımı arasındaki fark nedir?

İkisi aynı birleştirme fikrinin iki adıdır. Tensor çarpımı genel kavramdır: iki vektörü ya da iki vektör uzayını birleştiren işlemi ifade eder. Kronecker çarpımı, aynı işlemin matrislere uygulanmış bileşen gösteriminin adıdır. Kuantum hesaplama metinlerinde bu iki terim çoğu zaman birbirinin yerine kullanılır.

İki kübitin ortak durumu tensor çarpımıyla nasıl bulunur?

Her kübitin durum vektörünü alır, tüm bileşen çiftlerini çarpar ve sonuçları sırayla dizersin. Örneğin (1/√2, 1/√2) ile (1, 0) vektörlerinin tensor çarpımı (1/√2, 0, 1/√2, 0) verir; ket gösteriminde bu (|00⟩ + |10⟩)/√2 durumudur. Boyut kuralı gereği iki kübitlik durum 2·2 = 4 bileşenlidir.

Tensor çarpımı matris çarpımından nasıl farklıdır?

Matris çarpımı için iç boyutlar eşleşmeli ve sonuç daha küçük boyutludur; Kronecker çarpımı her boyutta tanımlıdır ve boyutları çarpar: m×n ile p×q'luk matrislerin çarpımı (mp)×(nq)'luktur. Ayrıca tensor çarpımı genel olarak değişmez: A ⊗ B ile B ⊗ A aynı matris değildir.

Kuantum hesaplamada tensor çarpımı ne işe yarar?

Çok kübitli sistemleri tek kübitlilerden kurmayı sağlar: n kübitlik durum 2ⁿ bileşenlidir ve σₓ ⊗ I gibi yazımlar hangi kübite hangi kapının etki ettiğini belirtir. Karışık çarpım kuralı sayesinde birleşik kapılar tek büyük matris hâlinde işleme alınır.

Kaynaklar ve İleri Okuma

Tensor product — Wikipedia — tensor çarpımının genel tanımı ve temel özellikleri için İngilizce başvuru maddesi.

Kronecker product — Wikipedia — blok yapısı, boyut kuralı ve karışık çarpım özelliği dahil matris formülasyonu.

IBM Quantum Learning: Multiple Systems — çok sistemli kuantum durumlarını tensor çarpımıyla kurmayı anlatan resmi Qiskit ders notu.

Dersler

Tümü →