Aracılığıyla paylaş


Kuantuma özgü veri türleri

Bu konu, kuantum etki alanına özgü iki türle birlikte Qubit türünü açıklar: Pauli ve Result.

Kubit

Q# kubitleri hem işlevlere hem de işlemlere geçirilebilen opak öğeler olarak kabul eder, ancak yalnızca hedeflenen kuantum işlemcisinde yerel olan yönergelere geçirilerek etkileşime geçilebilir. Amaçları kuantum durumunu değiştirmek olduğundan, bu tür yönergeler her zaman işlem biçiminde tanımlanır. Kubitlerin giriş bağımsız değişkenleri olarak geçirilebileceği gerçeğine rağmen işlevlerin kuantum durumunu değiştirememe kısıtlaması, işlevlerin yalnızca diğer işlevleri çağırabilmesi ve işlemleri çağıramaması gerekmesiyle uygulanır.

Q# kitaplıkları standart bir iç işlemler kümesine göre derlenir ve bu da dil içindeki uygulamaları için tanımı olmayan işlemler anlamına gelir. Hedeflemeden sonra, yürütme hedefinde yerel olan yönergeler açısından bunları ifade eden uygulamalar derleyici tarafından bağlanır. Bu nedenle Q# bir program, kuantum hesaplamasını ifade etmek üzere yeni, daha üst düzey işlemler oluşturmak için bu işlemleri hedef makine tarafından tanımlandığı şekilde birleştirir. Bu şekilde Q#, bir hedef makinenin yapısı ve kuantum durumunun gerçekleştirilmesi açısından çok genel olmakla birlikte, kuantum ve hibrit kuantum klasik algoritmalarının temel aldığı mantığı ifade etmek çok kolay hale getirir.

Q# içinde, Q# kuantum durumunu temsil eden bir tür veya yapı yoktur. Bunun yerine kubit, kuantum bilgisayardaki en küçük adreslenebilir fiziksel birimi temsil eder. Bu nedenle kubit uzun ömürlü bir öğe olduğundan Q# doğrusal türlere gerek yoktur. Bu nedenle, Q#içindeki duruma açıkça başvurmayız, bunun yerine, örneğin X ve Hgibi işlemlerin uygulanması yoluyla durumun program tarafından nasıl dönüştürüldüğünü açıklıyoruz. Grafik gölgelendirici programının her köşeye dönüştürmelerin açıklamasını birikmesine benzer şekilde, Q# içindeki bir kuantum programı, hedef makinenin iç yapısına tamamen opak başvurular olarak temsil edilen kuantum durumlarına dönüştürmeleri biriktirir.

Q# bir programın kubitin durumuna giriş yapma özelliği yoktur ve bu nedenle kuantum durumunun ne olduğu veya nasıl gerçekleştiği konusunda tamamen belirsizdir. Bunun yerine, bir program hesaplamanın kuantum durumu hakkında bilgi edinmek için Measure gibi işlemleri çağırabilir.

Pauli

Tek kubitli Pauli işlecini belirtmek Pauli türündeki değerler; olasılıklar PauliI, PauliX, PauliYve PauliZ. Pauli değerleri öncelikle bir kuantum ölçümü için temel belirtmek için kullanılır.

Sonuç

Result türü, kuantum ölçümünün sonucunu belirtir. Q#, tek kubitli Pauli işleçlerinin ürünlerinde ölçümler sağlayarak çoğu kuantum donanımını yansıtır; ZeroResult +1 eigenvalue değerinin ölçüldüğünü ve OneResult -1 eigenvalue değerinin ölçüldüğünü gösterir. Diğer bir deyişle, Q# -1 yükseltildiği güç tarafından eigenvalues temsil eder. Bu kural kuantum algoritmaları topluluğunda daha yaygındır, klasik bitlerle daha yakından eşlendiğinden.