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.
circuit editor, Kuantum Geliştirme Seti'nde (QDK) projelerinizin Q# içinde kuantum devresi diyagramları oluşturabileceğiniz, düzenleyebileceğiniz ve görselleştirebileceğiniz bir grafik arabirimi sağlayan bir özelliktir. Doğrudan programlarınızda Q# oluşturduğunuz devreleri çağrılabilir işlemler olarak kullanabilirsiniz.
Nasıl erişim sağlanır circuit editor
ile circuit editorçalışmaya başlamak için şu adımları izleyin:
- VS Code'da yeni Q# bir proje oluşturun veya var olan bir projeyi açın.
- uzantısıyla
.qscyeni bir devre dosyası oluşturun. - VS Code'da devre dosyasını açın.
circuit editor, dosyalar için .qsc varsayılan görünümdür.
circuit editor özellikleri
ile circuit editorşunları yapabilirsiniz:
| Özellik | Nasıl Kullanılır? |
|---|---|
| Durum görselleştiricisi panelini genişletme | Durum Görselleştiricisi panelini genişletmek için Durum Görselleştirmesi'ne tıklayarak devrenin çalıştırılmasından elde edilen kuantum durumunu görüntüleyin. Panel, her bir temel durum için olasılık yoğunluğu ve fazını gösterir. Araç Kutusu'nu kullanarak bağlantı hattını düzenleyebilir ve panel güncelleştirmelerini canlı görüntüleyebilirsiniz. |
| Bağlantı hattı öğesi ekleme | Öğeyi araç kutusundan devre diyagramına tıklayıp sürükleyin. |
| Bağlantı hattı öğesini kaldırma | Öğeyi devre diyagramının dışına tıklayıp sürükleyin. İsterseniz, öğeye sağ tıklayıp bağlam menüsünden Sil'i de seçebilirsiniz. |
| Bağlantı hattı öğesini taşıma | Öğeyi devre diyagramında yeni bir konuma tıklayıp sürükleyin. |
| Bağlantı hattı öğesini kopyalama | Öğeyi devre diyagramında yeni bir konuma tıklayıp sürüklerken Ctrl tuşunu basılı tutun. |
| Kubit ekleme | Araç kutusundan bir öğeyi devre diyagramındaki yeni bir kabloya yerleştirin. Veya var olan bir öğeyi diyagramda yeni bir kabloya taşıyın. |
| Kubit kaldırma | Kubit simgesini devre diyagramının dışına tıklayıp sürükleyin. En alttaki kubit, bu kubitten tüm devre öğelerini kaldırdığınızda otomatik olarak silinir. |
| Kubit sırasını yeniden düzenleme | Devre diyagramındaki kubit simgelerini tıklatın ve sürükleyin. |
| Bir geçide denetim ekleme | Kapı simgesine sağ tıklayın, bağlam menüsünden Denetim Ekle'yi seçin ve ardından denetim kubit teli seçin. |
| Bir kontrolü bir geçitten kaldır | Geçit simgesine sağ tıklayın, bağlam menüsünden Denetimi Kaldır'ı seçin ve ardından kaldırmak istediğiniz denetimin simgesini seçin. Ayrıca doğrudan denetim simgesine sağ tıklayıp Denetimi Kaldır'ı seçebilir veya denetim simgesini diyagram dışına sürükleyebilirsiniz. |
| Bir geçidi bitişikliğe dönüştürme | Geçit simgesine sağ tıklayın ve bağlam menüsünden Adjoint'i Aç/Kapat'ı seçin. |
| Bir kapı için argüman tanımla | Bağımsız değişken gerektiren bir geçit yerleştirdiğinizde, bir komut istemi kutusu görüntülenir. İstem kutusuna bir sayı veya ifade girin. Bağımsız değişkeni güncelleştirmek için, geçide sağ tıklayın ve Bağımsız Değişkeni Düzenle'yi seçin. Alternatif olarak, geçit simgesindeki argüman metnine sol tıklayın. |
circuit editor projelerinizde Q# devrelerini nasıl kullanacağınız
.qsc uzantılı devre dosyaları, aynı Q# proje içindeki Q# koddan başvurabileceğiniz işlemleri tanımlar. Dosyalardaki .qsc devreler diğer Q# işlemler gibi görünür ve tamamlama, imza desteği, go-to tanımı gibi özelliklerle Q# dil hizmeti tarafından desteklenir.
Devre dosyası, Q# dosyalarının çalışma biçimine benzer şekilde, dosya adından türeyen bir isim alanı tanımlar. Dosyanızdaki .qsc bağlantı hattı, aynı ad alanı altında dosyanızla aynı ada sahip bir Q# işlemi tanımlar. Örneğin, dosya Foo.qsc içindeki bir devreye Q# kodunuzda başvurmak için aşağıdaki içeri aktarma deyimini kullanın: import Foo.Foo;.
Aşağıdaki Q# program dosyasından JointMeasurement.qscbir bağlantı hattını içeri aktarır ve ardından devreyi JointMeasurement() bir kubit sistemine uygulamak için işlemi çağırır.
import JointMeasurement.JointMeasurement;
operation Main() : Result[] {
use qs = Qubit[4];
ApplyToEach(H, qs[0..2]);
let results = JointMeasurement(qs);
ResetAll(qs);
results
}