Yoğunluk matrisi simülasyonu — saf ve karışık durumların operatör dilinde
Yoğunluk matrisi (density matrix), kuantum durumunu yalnızca saf dalga fonksiyonu olarak değil, karışık ansembleler ve alt sistemler için de tutarlı biçimde kodlar. Statevector simülasyonu sayfası tek genlik vektörünü işler; burada ise pozitif tanımlı Hermitik operatör ρ üzerinden yürüyen Aer yolu ve Qiskit DensityMatrix nesnesi anlatılır. Genel Aer sözleşmesi Aer simülatörü başlığında, metin biçimi QASM simülasyonu sayfasında kaldı. Gürültü ve decoherence fikri dekoherens ve gürültü sayfasında derinleşir — burada yalnızca yoğunluk temsilinin neden doğal bir araç olduğuna odaklanıyoruz.
Yoğunluk matrisi neyi ifade eder
Kuantum mekaniğinde bir durum, bazen ket vektörü |ψ⟩ ile, bazen de yoğunluk operatörü ρ = |ψ⟩⟨ψ| ile yazılır; ikinci yazım saf durumlarda birincinin yeniden paketlenmesidir. Fakat karışık durumlarda — yani klasik bir olasılık dağılımıyla birden fazla kuantum durumunun birleştiği senaryolarda — ket tek başına yetmez; ρ doğrudan girmek zorundadır. Simülasyonda yoğunluk yolu, bu genişlemenin makinede tutulduğu yürütmedir: ünite adımlar ρ ↦ UρU† biçiminde işler ve ölçüm beklentileri Tr(Pρ) dilinde okunur.
Bu sayfanın sınırı
Tam CPTP kanal cebiri, Kraus temsili ve hata azaltma reçeteleri burada açılmaz; o başlıklar fizik ve kanal sayfalarında tutulur. Burada yalnızca yoğunluk matrisini üretmek ve yorumlamak için gereken Qiskit–Aer sözleşmesi ve saf/karışık ayrımı işlenir.
Saf durum ve karışık durum
Saf durumda ρ bir projektördür; özdeğerleri biri bir, geri kalanı sıfırdır ve rank bir olur. Karışık durumda ise en az iki pozitif özdeğer görülebilir; bu “klasik bilgi ile kuantum bilginin iç içe” olduğunun operatör dilindeki imzasıdır. Simülatörde karışık durumu üretmek, ya dışarıdan ρ vermek ya da gürültülü bir kanalı modelemek anlamına gelir — ideal ünite yalnızca safları korur.
Bloch küresi ile ilişki
Tek kübitlik karışık durumlar Bloch küresinin içindeki noktalarla ilişkilidir; saf durumlar yüzeydedir. Bu geometrik resim kübit ve Bloch küresi sayfasında tutulur; burada yalnızca “yoğunluk matrisi bu geometriyi nasıl kodlar?” sorusuna dokunuyoruz.
Cebirsel şartlar ve fiziksel anlam
Fiziksel bir yoğunluk matrisi Hermitik olmalı, izi bir olmalı ve pozitif yarı tanımlı olmalıdır. Bu üçlü, “olasılık ve enerji beklentileri tutarlı mı?” sorusunun minimal cevabıdır. Sayısal simülasyonda küçük yuvarlama izi hafifçe kaydırabilir; yeniden normalizasyon veya en yakın fiziksel ρ projeksiyonu gibi adımlar analiz hattınıza göre seçilir.
Beklentiler ve iz
Observabl O için beklenen değer Tr(Oρ) ile verilir; ölçüm olasılıkları Born kuralının yoğunluk formülüyle yazılır. Bu ifade, ölçüm mantığı sayfasındaki talimat dilini tamamlar — orada histogram, burada operatör çizgisinde kalırsınız.
Ne zaman statevector yetmez?
Ünite kapılardan oluşan ve başlangıçta saf olan bir devre, yalnızca ünite evrim altında saf kalır; karışıklık ancak ortam etkileşimi veya bilinmeyen klasik kaynakla modellenir. Bu yüzden “önce statevector dene, olmazsa yoğunluğa geç” pratiği, çoğu zaman model seçimi meselesidir: ya karışıklık yok kabul edilir ya da yoğunluk yolunda baştan yazılırsınız. Bellek maliyeti statevector’dan daha ağırdır: O(4ⁿ) karmaşık sayı alanında düşünmek gerekir.
Performans sezgisi
Küçük n için yoğunluk yolu rahatça çalışır; orta ölçekte bellek duvarı ani gelir. Bu yüzden yoğunluk, ya hedefli alt devrelerde ya da düşük kübit sayısında kullanılmalıdır.
Qiskit ve Aer yoğunluk yolu
quantum_info.DensityMatrix, çoğu zaman bir devreyi veya talimatı yoğunluğa çevirmek için kullanılır; Aer tarafında ise method="density_matrix" benzeri seçimlerle aynı temsil yürütülür. İki yol aynı lineer cebri paylaşır; fakat bellek yönetimi ve hata mesajları farklılaşabilir. Sürüm notlarında API adlarını doğrulamak, özellikle sonuç nesnesinden yoğunluk okurken önemlidir.
Statevector ile köprü
Saf durumda |ψ⟩ biliniyorsa ρ = |ψ⟩⟨ψ| dış çarpımıyla yoğunluk üretilebilir; bu, iki temsil arasında regresyon testi yazmayı kolaylaştırır.
Alt sistem ve iz düşürme fikri
Dolanık çok kübitlik sistemde yalnızca bir alt kümenin durumunu sormak, tam ρ üzerinde kısmi iz almayı gerektirir; sonuç genelde karışıktır — bu, “neden alt kübit Bloch yüzeyinde değil?” sorusunun cevabıdır. Bu sayfa kısmi izin algoritmik reçetesini vermez; yalnızca yoğunluk dilinin bu soruyu doğal biçimde sorduğunu vurgular.
Entanglement ve marjinal
Marjinal yoğunluklar, çok parçacık durumları anlatımıyla bağlantılıdır; ilgili fizik başlıklarına ihtiyaç duyduğunuzda sitedeki dolanıklık bölümüne geçebilirsiniz — burada uygulama odağı Qiskit nesnelerindedir.
Ölçüm, Born ve gürültü köprüsü
Yoğunluk formülasyonu, CPTP kanalların ρ üzerinde çalışmasını ifade etmek için uygundur; bu yüzden gürültü modelleme literatürü yoğunluk etrafında döner. Kanal matematiği için Kraus ve CPTP sayfasına dönüş yapılır; burada yalnızca “neden simülatör yoğunluk yolunu sunar?” sorusuna çerçeve çizilir.
İdeal simülatör uyarısı
Yoğunluk yöntemi seçildi diye otomatik olarak gerçekçi T1/T2 eklenmez; kanal tanımı ayrı bir tasarım adımıdır. Karışıklık ile gürültüyü karıştırmamak gerekir: biri temsil gücü, diğeri fiziksel mekanizmadır.
Operatör biçimi: kısa tarihsel not
20. yüzyılın ikinci yarısında kuantum istatistiği ve bilgi kuramı, durumları yalnızca ket değil operatör olarak yazmayı standart hale getirdi. John von Neumann’ın çalışmaları, bu dilin matematiksel çerçevesini güçlendirdi; bugünkü yoğunluk matrisi terimi o çizginin devamıdır. Bu paragraf biyografi okuması değil, “neden yazılımda DensityMatrix diye ayrı bir nesne var?” sorusuna kültürel bir yanıttır — teknik ayrıntı yine postülat ve kanal sayfalarında.
Lev Landau ve “karışık paket” sezgisi
İstatistiksel mekanik geleneğinde Landau’ın yoğunluk matrisi üzerinden anlattığı karışık paket fikri, kuantum hesaplamada “bilinmeyen klasik kaynak” sezgisine paralel düşer. Burada derin bir tarih anlatısı yok; yalnızca aynı matematiksel nesnenin farklı disiplinlerde nasıl tekrar kullanıldığını hatırlatmak, soyutlığı azaltır.
Kod laboratuvarı
İlk blok, ünite devreden yoğunluk üretir. İkinci blok, Aer’de yoğunluk yöntemi ile kısa bir yürütme iskeleti gösterir; sürümünüze göre sonuç API’si değişebilir.
from qiskit import QuantumCircuit
from qiskit.quantum_info import DensityMatrix
qc = QuantumCircuit(1)
qc.h(0)
rho = DensityMatrix.from_instruction(qc)
print(rho)
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
qc = QuantumCircuit(1, 1)
qc.h(0)
qc.measure(0, 0)
sim = AerSimulator(method="density_matrix")
job = sim.run(qc, shots=200, seed_simulator=11)
print(job.result().get_counts())
İleri okuma ve özet
Yoğunluk matrisi, saf devrelerin ötesindeki durumları ve kanal öncesi cebri tek çatıda toplar; statevector ise aynı özel durumda daha hafiftir. Simülasyon hattında doğru temsil seçimi, hem doğruluk hem bellek için belirleyicidir.
- Yoğunluk matrisi (kuantum bilgi) — saf/karışık cebir, iz, saflık, Bloch ve entropi soyut çerçeve; bu sayfa Aer ve simülasyon yürütmesine odaklanır.
- Statevector simülasyonu — saf durum vektörü yolu.
- Aer simülatörü — yöntem seçimi ve arka uç sözleşmesi.
- Kraus ve CPTP — yoğunluk üzerinde kanal eylemi.