Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bitler klasik bilgi işlemdeki bilgilerin temel nesnesi olduğu gibi kubitler de (kuantum bitleri) kuantum bilişimindeki bilgilerin temel nesnesidir. Bu yazışmayı anlamak için bu makalede en basit örneğe bakabilirsiniz: tek bir kubit.
Qubit'in temsili
Bit veya ikili basamak 0 veya $1 değerine sahip olsa da $$kubitin değeri 0$, $1$ veya kuantum süper pozisyonu $0$$ ve $1$$ olabilir.
Tek bir kubitin durumu, iki boyutlu birim norma sahip bir sütun vektörü olarak açıklanabilir, yani elemanlarının büyüklüklerinin kareleri toplamı 1 olmalıdır. Kuantum durumu vektörsü olarak adlandırılan bu vektör, tek kubitli kuantum sistemini tanımlamak için gereken tüm bilgileri, aynı tek bitin ikili değişkenin durumunu tanımlamak için gereken tüm bilgileri barındırdığı gibi tutar. Kuantum bilişimindeki vektörlerin ve matrislerin temelleri için bkz . Vektör ve matrisler.
Norm $1$ ile gerçek veya karmaşık sayıların iki boyutlu sütun vektörleri, kubit tarafından tutulan olası bir kuantum durumunu temsil eder. Dolayısıyla,
Kubitleri temsil eden geçerli kuantum durumu vektörlerine örnek olarak $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$ ve $\begin{bmatrix} 0 \\ 1 \end{bmatrix}$verilebilir. Bu iki vektör, kubitin durumunu açıklayan vektör alanı için bir temel oluşturur. Bu, herhangi bir kuantum durumu vektörünün bu temel vektörlerin toplamı olarak yazılabilmesi anlamına gelir. Özellikle, vektör $\begin{bmatrix} x \\ y \end{bmatrix}$ şu şekilde yazılabilir: $x \begin{bmatrix} 1 \\ 0 \end{bmatrix} + y \begin{bmatrix} 0 \\ 1 \end{bmatrix}$. Bu vektörlerin herhangi bir döndürmesi kubit için mükemmel geçerli bir temel görevi görecek olsa da, hesaplama temeli olarak adlandırılarak bu özel bir temel seçilir.
Bu iki kuantum durumu, klasik bitin $iki durumu olan 0$ ve $1'e$ karşılık gelir. Standart uygulama olarak ... seçmektir.
$$0\equiv\begin{bmatrix} 1 \\ 0 \end{bmatrix}$$$$1 \equiv\begin{bmatrix} 0 \\ 1 \end{bmatrix},$$
ancak karşıt seçim de aynı derecede iyi bir şekilde alınabilir. Bu nedenle, olası tek kubit kuantum durumu vektörlerinin sonsuz sayıdan yalnızca ikisi klasik bit durumlarına karşılık gelir; diğer tüm kuantum durumları bunu yapamaz.
Kubit ölçme
Bir kubitin nasıl temsil edildiğinin açıklanması, ölçüm kavramını tartışarak bu durumların neyi temsil ettiği konusunda bazı sezgiler elde edebilir. Ölçüm, bir kubite "bakma" fikrine karşılık gelir ve bu da kuantum durumunu hemen iki klasik durumdan biri olan $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$ veya $\begin{bmatrix} 0 \\ 1 \end{bmatrix}$'e daraltır. Kuantum durum vektörü $\begin{bmatrix}\alpha\\\beta\end{bmatrix}$ tarafından verilen bir kubit ölçüldüğünde, $0$ sonucu $|\alpha|^2$ olasılığıyla ve $1$ sonucu $|\beta|^2$ olasılığıyla elde edilir. Sonuç $0'da$ kubitin yeni durumu 1 $\begin{bmatrix} 0 \\olur\end{bmatrix}$; sonuç $1'de$ durumu 0 $\begin{bmatrix} 1 \\olur\end{bmatrix}$. Bu olasılıkların $1$'e kadar toplandığını, çünkü normalleştirme koşulu gereği $|\alpha|^2 + |\beta|^2 = =1$ olduğunu unutmayın.
Ölçümün özellikleri, kuantum durum vektörünün genel işaretinin ilgisiz olduğu anlamına da gelir. Bir vektörü ters çevirmek, $\alpha\rightvektör oku -\alpha$ ve $\beta\rightvektör oku -\beta$ ile eşdeğerdir. $0 ve $1 ölçüm olasılığı, terimlerin büyüklüğünün karesine bağlı olduğundan, bu tür işaretlerin eklenmesi olasılıkları hiçbir şekilde değiştirmez. Bu tür aşamalar genellikle quot olarak adlandırılır&;genel aşamalar" ve daha genel olarak yalnızca $\pm 1{ yerine e^\phi}$i $ biçiminde $olabilir.
Ölçümün son önemli özelliği, tüm kuantum durumu vektörlerine zarar vermemesidir. Biri 1 $\begin{bmatrix}\\ 0 \end{bmatrix}$durumundaki bir kubitle başlıyorsa ve bu durum klasik $0$karşılık geliyorsa, bu durumun ölçülmesi her zaman 0$$sonucu verir ve kuantum durumunu değişmeden bırakır. Bu anlamda, yalnızca klasik bitler (örneğin, $\begin{bmatrix}1 \\ 0 \end{bmatrix}$ veya $\begin{bmatrix}0 \\ 1 \end{bmatrix}$) kubitler varsa ölçüm sisteme zarar vermez. Bu, klasik verileri çoğaltabileceği ve bir kuantum bilgisayarda aynı klasik bilgisayarda olduğu gibi işleyebileceği anlamına gelir. Bununla birlikte, bilgileri her iki durumda da aynı anda depolama yeteneği, kuantum bilişimini klasik anlamda mümkün olanın ötesine yükselten ve kuantum bilgisayarlarının kuantum verilerini ayrım gözetmeden kopyalama yeteneğini daha da sınırlar. Ayrıca kopyalama yasağı teoremine de bakınız.
Bloch küresini kullanarak kubitleri ve dönüşümleri görselleştirme
Kubitler, $3B$ şeklinde Bloch küresi temsiliyle de resmedilebilir. Bloch küresi, tek kubitli kuantum durumunu (iki boyutlu karmaşık bir vektördür) üç boyutlu gerçek değerli bir vektör olarak tanımlamanın bir yolunu sunar. Bu önemlidir çünkü tek kubitli durumları görselleştirmemize ve böylece çok kubitli durumları anlamada değerli olabilecek bir mantık geliştirmemize olanak tanır (ne yazık ki Bloch küre gösterimi bozulur). Bloch küresi aşağıdaki gibi görselleştirilebilir:
Bu diyagramdaki oklar, kuantum durum vektörünün işaret ettiği yönü gösterir ve okun her dönüşümü, kardinal eksenlerden biri hakkında bir döndürme olarak düşünülebilir. Bir kuantum hesaplamasını döndürme dizisi olarak düşünmek güçlü bir sezgi olsa da, algoritmaları tasarlamak ve açıklamak için bu sezgiyi kullanmak zordur. Q# bu tür döndürmeleri açıklamaya yönelik bir dil sağlayarak bu sorunu giderir.
Tek kubitli işlemler
Kuantum bilgisayarlar, kuantum durum vektörünün herhangi bir dönüşünü benzetebilen evrensel kuantum kapıları kümesi uygulayarak verileri işler. Bu evrensellik, giriş bitlerinin her dönüşümü sonlu bir uzunluk devresi kullanılarak gerçekleştirilebiliyorsa, bir kapı kümesinin evrensel olarak kabul edildiği geleneksel (örneğin klasik) bilgi işlem için evrensellik olgusunun bir benzerliğidir. Kuantum bilişiminde, kubit üzerinde gerçekleştirmemize izin verilen geçerli dönüşümler, birimsel dönüşümler ve ölçümdür. Kuantum dönüşümlerini ters çevirmek için gerektiğinden, eşlenik işlem veya karmaşık eşlenik transpoze kuantum bilişimi için çok önemlidir.
Tek kubitli işlemler veya tek kubitli kuantum geçitleri iki kategoride sınıflandırılabilir: Clifford geçitleri ve Clifford olmayan kapılar. Clifford olmayan kapılar sadece T$ kapısından ($\pi/8$ kapısı diye de $bilinen) oluşur.
$$ T=\begin{bmatrix} 1 & 0 \ 0 & e^{i\pi/4}\end{bmatrix}. $$
Q#'ye varsayılan olarak dahil edilen tek kubitli Clifford geçitlerinin standart kümesi
$$ H=\frac{{1}{\sqrt{{2}}\begin{bmatrix} 1 & 1 \ 1 &-1 \end{bmatrix}, \qquad S =\begin{bmatrix} 1 & 0 \ 0 & i \end{bmatrix}= T^2, \qquad X=\begin{bmatrix} 0 & 1 \ 1& 0 \end{bmatrix}= HT^4H, $$
$$ Y =\begin{bmatrix} 0 & -i \ i & 0 \end{bmatrix}=T^2HT^4 HT^6, \qquad Z=\begin{bmatrix}1& 0\ 0&-1 \end{bmatrix}=T^4. $$
Burada X$, $Y$ ve $Z$ işlemleri $özellikle sık kullanılır ve oluşturucuları Wolfgang Pauli'den sonra Pauli operatörleri olarak adlandırılır. Clifford olmayan kapı ( $T$ kapısı) ile birlikte, bu işlemler tek bir kubit üzerindeki herhangi bir birimsel dönüşümü yaklaşık olarak oluşturmak için birleştirilebilir.
Önceki, yığının mantıksal düzeyindeki işlemleri tanımlamak için en popüler ilkel geçitleri oluştursa da (mantıksal düzeyi kuantum algoritmasının düzeyi olarak düşünün), genellikle algoritma düzeyinde daha az temel işlemleri(örneğin işlev açıklaması düzeyine yakın işlemler) göz önünde bulundurmak uygundur. Neyse ki, Q# ayrıca daha sofistike seviye üniteleri uygulamak için de yöntemler sunar ki bu da her şeyi açıkça Clifford ve $T$ kapılarına ayrıştırmadan üst düzey algoritmaların uygulanmasına olanak tanır.
Bu tür en basit ilkel, tek kubit döndürmedir. Genellikle üç tek kubit döndürmesi dikkate alınır: $R_x$, $R_y$ ve $R_z$. Örneğin, döndürme $R_x(\teta)$ eylemini görselleştirmek için sağ başparmağını Bloch küresinin $x$ ekseni yönünde işaret edip elinle vektörün \teta/2$ radyan açıyla $döndürülmesini düşünün. 2'nin $$ bu kafa karıştırıcı faktörü, ortogonal vektörlerin $Bloch küresi üzerinde çizildiğinde birbirinden 180^\circ$ olması gerçeğinden kaynaklanır, ancak geometrik $olarak birbirinden 90^\circ$ derece ayrılır. Karşılık gelen ünite matrisleri şunlardır:
$$ \begin{hizalama*}& R_z(\theta) = e^{-i\theta Z/2}=\begin{bmatrix} e^{-i\theta/2}& 0\\ 0& e^{i\theta/2}\end{bmatrix}, \\& R_x(\theta) = e^{-i\theta X/2}= HR_z(\theta)H =\begin{bmatrix} \cos(\theta/2) & -i\sin(\theta/2)\\ -i\sin(\theta/2) & \cos(\theta/2) \end{bmatrix}, \\& R_y(\theta) = e^{-i\theta Y/2}= SHR_z(\theta)HS^\dagger=\begin{bmatrix} \cos(\theta/2) & -\sin(\theta/2)\\ \sin(\theta/2) & \cos(\theta/2) \end{bmatrix}. \end{hizalama*}$$
Üç boyutta rastgele bir döndürme gerçekleştirmek için herhangi bir üç döndürme birlikte birleştirilebildiği gibi, Bloch küre gösteriminden herhangi bir ünite matrisinin de üç döndürme dizisi olarak yazılabildiği görülebilir. Özellikle, her üniter matris için $U$, $\alpha,\beta,\gamma,\delta$ vardır, öyle ki $U= = e^{i\alpha} R_x(\beta)R_z(\gamma)R_x(\delta$). Bu nedenle $R_z(\theta)$ ve $H$ de evrensel bir kapı kümesi oluşturur, ancak ayrık bir küme değildir çünkü $\theta$ herhangi bir değer alabilir. Bu nedenle ve kuantum simülasyonundaki uygulamalardan dolayı, bu tür sürekli geçitler özellikle kuantum algoritması tasarım düzeyinde kuantum hesaplaması için çok önemlidir. Hata toleranslı donanım uygulaması elde etmek için, nihai olarak bu döndürmelere yakın olan ayrık kapı dizileri şeklinde derleneceklerdir.