Hızlı Başlangıç: Azure Quantum'da kuantum tabanlı rastgele sayı Azure Quantum
Basit bir kuantum Azure Quantum rastgele sayı oluşturucu oluşturmak için Azure Quantum kullanmayı öğrenin.
Önkoşullar
- Bu öğreticiyi tamamlamak için bir Azure aboneliğine ihtiyacınız vardır. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Bu kılavuzda, ücretsiz Visual Studio Code kullanabileceğiniz bir uygulama kullana indirebilirsiniz.
Quantum Development Kit'i ve diğer kaynakları yükleme
Bir Q# programı yazıp kuantum bilgi işlem sağlayıcılarından biri ile çalıştırmadan önce birkaç kaynak yüklemeniz gerekir:
uygulama uzantısı için Microsoft QDK'VS Code yükleyin.
Azure CLI'sini yükleyin.
Azure
quantumCLI için CLI uzantısını yükleyin.az extension add -n quantum
Çalışma alanı Azure Quantum oluşturma
Azure Quantum azure aboneliğinize bir Azure Quantum çalışma alanı kaynağı ekleyerek Azure portal. Bir Azure Quantum çalışma alanı kaynağı veya kısaca çalışma alanı, kuantum veya iyileştirme uygulamaları çalıştırmayla ilişkili varlıklar koleksiyonudur.
Azure Portal'ı açmak için şu https://portal.azure.com adımlara gidin ve şu adımları izleyin:
Kaynak oluştur'a tıklayın ve ardından kaynak Azure Quantum. Sonuçlar sayfasında, Azure Quantum (önizleme) hizmetine Azure Quantum gerekir.

Azure Quantum (önizleme) ve ardından Oluştur'a tıklayın. Bu işlem çalışma alanı oluşturmak için bir form açar.

Çalışma alanınıza ilişkin ayrıntıları doldurun:
- Abonelik: Bu çalışma alanıyla ilişkilendirmek istediğiniz abonelik.
- Kaynak grubu: Bu çalışma alanını atamak istediğiniz kaynak grubu.
- Ad: Çalışma alanınız adı.
- Bölge: Çalışma alanının bölgesi.
- Depolama Hesabı: İşlerinizi ve sonuçlarınızı depolamak için azure depolama hesabı. Mevcut bir depolama hesabınız yoksa Yeni depolama hesabı oluştur'a tıklayın ve gerekli alanları doldurun. Bu önizleme için varsayılan değerlerin kullanılması önerilir.

Not
Yeni bir depolama hesabı oluşturmak için seçilen kaynak grubunun Sahibi siz olun. Kaynak gruplarının Azure'da nasıl çalışması hakkında daha fazla bilgi için bkz. Azure kaynaklarınıAzure Resource Manager.
Bilgileri tamamladıktan sonra, çalışma alanınıza sağlayıcı eklemek için Sağlayıcılar sekmesine tıklayın. Sağlayıcı, kuantum donanımı, kuantum simülatörü veya iyileştirme hizmeti olan bir kuantum hizmetine erişmeniz için size erişim sağlar.

Not
Varsayılan olarak, Azure Quantum hizmeti microsoft QIO sağlayıcısını her çalışma alanına ekler.
En azından IonQ sağlayıcısını ekleyin ve gözden geçir + oluştur'a tıklayın.
Ayarları gözden geçirip seçilen sağlayıcıların Kullanım Hüküm ve Koşullarını onaylar. Her şey doğruysa, çalışma alanınızı oluşturmak için Oluştur'a tıklayın.

Not
Fiyatlandırma Azure Quantum sağlayıcıya göre değişiklik gösterir. En güncel fiyatlandırma bilgileri için lütfen Azure Quantum çalışma Azure portal Sağlayıcılar sekmesindeki bilgilere bakın.
Visual Studio Code'de Q# projesi oluşturma
Bu VS Code menüsünü açın ve Komut Paleti'ne tıklayın.
Q#: Create New Project.
Tek başına konsol uygulamasını seçin.
Projenizin tutulacağı, giriş dizininiz gibi bir dizin seçin. Proje adı olarak QuantumRNG girin ve ardından Proje Oluştur'u seçin.
Altta görünen pencereden Yeni proje aç'ı seçin.
İki dosya görüyorsanız: proje dosyası ve başlangıç kodunu içeren Program.qs. Program.qs'i açın.
QuantumRNG.csproj dosyasını açarak ve IonQ'nun donanımı için program uyumluluğuyla ilgili tasarım zamanı geri bildirimi verecek özelliğini
ExecutionTargetekleyerek başlayalım.
<Project Sdk="Microsoft.Quantum.Sdk/0.17.2105143879">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<ExecutionTarget>ionq.qpu</ExecutionTarget>
</PropertyGroup>
</Project>
- Program.qs içeriğini programla değiştirin:
namespace QuantumRNG {
open Microsoft.Quantum.Intrinsic;
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Canon;
@EntryPoint()
operation GenerateRandomBits() : Result[] {
use qubits = Qubit[4];
ApplyToEach(H, qubits);
return MultiM(qubits);
}
}
Not
Bu program kodu hakkında daha fazla bilgi edinmek için bkz. Quantum Development Kit'i kullanarak ilk Q# programınızı oluşturma.
AZ CLI'yı hazırlama
Ardından ortamınızı, programı oluşturduğunuz çalışma alanında çalıştıracak şekilde hazırlarız.
Kimlik bilgilerinizi kullanarak Azure'da oturum açma. Hesabınızla ilişkili aboneliklerin listesini alısınız.
az loginAzure hesabınızla ilişkili aboneliklerden kullanmak istediğiniz aboneliği belirtin. Abonelik kimliğinizi Azure Portal'daki çalışma alanınıza genel bakış içinde de bulabilirsiniz.
az account set -s <Your subscription ID>Yukarıda
quantum workspace setoluşturduğunuz çalışma alanını varsayılan Çalışma Alanı olarak seçmek için kullanın. Kaynak grubunu ve kaynak grubunu oluşturduğunuz konumu da belirtmeniz gerekir:az quantum workspace set -g MyResourceGroup -w MyWorkspace -l MyLocation -o tableLocation Name ProvisioningState ResourceGroup StorageAccount Usable ---------- ----------- ------------------- --------------- ------------------ -------- MyLocation MyWorkspace Succeeded MyResourceGroup /subscriptions/... YesÇalışma alanınıza, çalışma alanını oluşturulduğunda ekley istediğiniz sağlayıcılardan farklı hedefler vardır. komutuyla kullanılabilir tüm hedeflerin listesini
az quantum target list -o tablegörüntüebilirsiniz:az quantum target list -o tableSeçtiğiniz sağlayıcıya bağlı olarak şunları göreceğiz:
Provider Target-id Status Average Queue Time ---------- ---------------------------------------------- --------- -------------------- ionq ionq.qpu Available 0 ionq ionq.simulator Available 0Not
Bir işi Azure Quantum sağlayıcı programınızı çalıştırmaya hazır olana kadar kuyrukta bekler. Hedef liste komutunun Ortalama Kuyruk Süresi sütunu, son çalıştırma işlerinin kuyrukta kaç saniye beklemesi olduğunu gösterir. Bu size ne kadar beklemen gerek dair bir fikir ve olabilir.
IonQ sağlayıcısında programın benzetimini yapmak
Gerçek donanıma karşı bir program çalıştırmadan önce, algoritmanın istediğiniz şekilde çalışmasına yardımcı olmak için önce benzetimini (gerekirse, gereken kubit sayısına göre) öneririz. Neyse ki IonQ, kullanabileceğiniz idealleştirilmiş bir simülatör sağlar.
Not
Ayrıca Tam Durum Simülatörü'nü kullanarak Q# programlarının benzetimini yerel olarak da sebilirsiniz.
Programınızı ile az quantum execute --target-id ionq.simulator -o table çalıştırın. Bu komut programınızı derler, Azure Quantum ve IonQ'da programın benzetimini tamamlana kadar bekler. Bu yapıldıktan sonra aşağıdakine benzer bir histogram çıktısı oluşturur:
az quantum execute --target-id ionq.simulator -o table
Result Frequency
--------- ----------- -------------------------
[0,0,0,0] 0.06250000 ▐█ |
[1,0,0,0] 0.06250000 ▐█ |
[0,1,0,0] 0.06250000 ▐█ |
[1,1,0,0] 0.06250000 ▐█ |
[0,0,1,0] 0.06250000 ▐█ |
[1,0,1,0] 0.06250000 ▐█ |
[0,1,1,0] 0.06250000 ▐█ |
[1,1,1,0] 0.06250000 ▐█ |
[0,0,0,1] 0.06250000 ▐█ |
[1,0,0,1] 0.06250000 ▐█ |
[0,1,0,1] 0.06250000 ▐█ |
[1,1,0,1] 0.06250000 ▐█ |
[0,0,1,1] 0.06250000 ▐█ |
[1,0,1,1] 0.06250000 ▐█ |
[0,1,1,1] 0.06250000 ▐█ |
[1,1,1,1] 0.06250000 ▐█ |
Bu, idealleştirilmiş bir simülatörden beklentimiz olan 4 kubiti ölçmek için 16 olası durumun her biri için eşit bir sıklık gösterir! Bu, QPU üzerinde çalıştırmaya hazır olduğu anlamına gelir.
Programı donanımda çalıştırma
Programı donanımda çalıştırmak için zaman uyumsuz iş gönderme komutunu kullan az quantum job submit kullanıriz. Komutta olduğu gibi bu komut da programınızı derlemektedir ve göndermektedir ancak execute yürütme işlemi tamamlandıktan sonra beklemez. Bu düzeni donanıma karşı çalıştırmanızı öneririz çünkü işlerinizi tamamlamak için biraz beklemeniz gerekir. Ne kadar süreyle ilgili bir fikir almak için yukarıda açıklandığı gibi az quantum target list -o table çalıştırabilirsiniz. Seçtiğiniz sağlayıcıya bağlı olarak şunları göreceğiz:
az quantum job submit --target-id ionq.qpu -o table
Name Id Status Target Submission time
---------- ------------------------------------ -------- -------- ---------------------------------
QuantumRNG 5aa8ce7a-25d2-44db-bbc3-87e48a97249c Waiting ionq.qpu 2020-10-22T22:41:27.8855301+00:00
Yukarıdaki tablolarda, işinin gönderili olduğu ve sıranın çalışması için beklediği gösterildi. Durumu kontrol etmek için komutunu kullanın ve parametresini önceki komutun az quantum job show job-id Id çıkışıyla değiştirerek emin olun, örneğin:
az quantum job show -o table --job-id 5aa8ce7a-25d2-44db-bbc3-87e48a97249c
Name Id Status Target Submission time
---------- ------------------------------------ -------- -------- ---------------------------------
QuantumRNG 5aa8ce7a-25d2-44db-bbc3-87e48a97249c Waiting ionq.qpu 2020-10-22T22:41:27.8855301+00:00
Sonunda, yukarıdaki tabloda Status olarak değiştirilen 'i Succeeded görebilirsiniz. Bu yapıldıktan sonra, çalıştırarak işin sonuçlarını az quantum job output eldesiniz:
az quantum job output -o table --job-id 5aa8ce7a-25d2-44db-bbc3-87e48a97249c
Result Frequency
--------- ----------- -------------------------
[0,0,0,0] 0.05200000 ▐█ |
[1,0,0,0] 0.07200000 ▐█ |
[0,1,0,0] 0.05000000 ▐█ |
[1,1,0,0] 0.06800000 ▐█ |
[0,0,1,0] 0.04600000 ▐█ |
[1,0,1,0] 0.06000000 ▐█ |
[0,1,1,0] 0.06400000 ▐█ |
[1,1,1,0] 0.07600000 ▐██ |
[0,0,0,1] 0.04800000 ▐█ |
[1,0,0,1] 0.06200000 ▐█ |
[0,1,0,1] 0.07400000 ▐█ |
[1,1,0,1] 0.08000000 ▐██ |
[0,0,1,1] 0.05800000 ▐█ |
[1,0,1,1] 0.06800000 ▐█ |
[0,1,1,1] 0.05200000 ▐█ |
[1,1,1,1] 0.07000000 ▐█ |
Size gelen histogram yukarıdakinden biraz farklı olabilir, ancak durumların genellikle eşit sıklıkta gözlemlenmiş olduğunu fark gerekir.
Önkoşullar
- Bu öğreticiyi tamamlayabilmeniz için bir Azure aboneliğine ihtiyacınız vardır. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- bu kılavuzda, indirebileceğiniz ve ücretsiz olarak kullanabileceğiniz Visual Studio Code kullanacağız.
Hisse geliştirme setini ve diğer kaynakları yükler
Bir Q # programını yazmadan ve bunu hisse bilgi işlem sağlayıcılarından biriyle çalıştırabilmeniz için önce birkaç kaynak yüklemeniz gerekir:
VS Code uzantısı için Microsoft qdk'yi yükler.
Azure CLI'yı yükler.
quantumAzure CLI için CLI uzantısını yükler.az extension add -n quantum
Azure hisse çalışma alanı oluşturma
Azure portal Azure aboneliğinize bir Azure hisse çalışma alanı kaynağı ekleyerek Azure hisse hizmeti 'ni kullanırsınız. Bir Azure hisse çalışma alanı kaynağı veya Short çalışma alanı, çalışan hisse veya iyileştirme uygulamalarıyla ilişkili varlıkların bir koleksiyonudur.
Azure portalını açmak için adresine gidin https://portal.azure.com ve şu adımları izleyin:
Kaynak oluştur ' a tıklayın ve ardından Azure hisse için arama yapın. Sonuçlar sayfasında, Azure hisse (Önizleme) hizmeti için bir kutucuk görmeniz gerekir.

Azure hisse (Önizleme) seçeneğine tıklayın ve ardından Oluştur' a tıklayın. Bu, bir çalışma alanı oluşturmak için bir form açar.

Çalışma alanınızın ayrıntılarını doldurun:
- Abonelik: Bu çalışma alanıyla ilişkilendirmek istediğiniz abonelik.
- Kaynak grubu: Bu çalışma alanını atamak istediğiniz kaynak grubu.
- Ad: Çalışma alanınızın adı.
- Bölge: Çalışma alanının bölgesi.
- Depolama hesabı: işlerinizi ve sonuçlarınızı depolamak için Azure depolama hesabı. Mevcut bir depolama hesabınız yoksa, Yeni depolama hesabı oluştur ' a tıklayın ve gerekli alanları doldurun. Bu önizleme için varsayılan değerleri kullanmanızı öneririz.

Not
Yeni bir depolama hesabı oluşturmak için seçili kaynak grubunun sahibi olmanız gerekir. Kaynak gruplarının Azure 'da nasıl çalıştığı hakkında daha fazla bilgi için bkz. Azure Resource Manager Ile Azure kaynaklarını denetleme ve düzenleme.
Bilgileri tamamladıktan sonra, çalışma alanınıza sağlayıcılar eklemek için sağlayıcılar sekmesine tıklayın. Sağlayıcı, hisse bir donanım, hisse simülatör veya en iyi duruma getirme hizmeti olabilen bir hisse hizmeti erişimi sağlar.

Not
Varsayılan olarak, Azure hisse hizmeti, Microsoft QıO sağlayıcısını her çalışma alanına ekler.
En azından Honeywell sağlayıcısını ekleyin ve ardından gözden geçir + oluştur' a tıklayın.
Ayarları gözden geçirin ve seçili sağlayıcıların kullanım koşullarını ve koşullarını onaylayın. Her şey doğruysa, çalışma alanınızı oluşturmak için Oluştur ' a tıklayın.

Not
Azure hisse fiyatları, sağlayıcıya göre farklılık gösterir. En güncel fiyatlandırma bilgileri için lütfen Azure portal Azure hisse çalışma alanınızın sağlayıcılar sekmesinde bulunan bilgilere bakın.
Visual Studio Code bir Q # projesi oluşturma
VS Code görünüm menüsünü açın ve komut paleti' ni seçin.
Q #: Create New Project yazın.
Tek başına konsol uygulamasını seçin.
Projenizin tutulacağı, giriş dizininiz gibi bir dizin seçin. Proje adı olarak QuantumRNG girin ve ardından Proje Oluştur'u seçin.
Altta görünen pencereden Yeni proje aç'ı seçin.
İki dosya görmeniz gerekir: başlatıcı kodu içeren proje dosyası ve program. QS. Program. QS'yi açın.
Size, size, size, Honeyrng. csproj dosyasını açıp
ExecutionTargetözelliği ekledikten sonra, size, size, size uygun donanımlar için programınızın uyumluluğuna ilişkin tasarım zamanı geri bildirimleri sağlayacak şekilde başlayın.
<Project Sdk="Microsoft.Quantum.Sdk/0.17.2105143879">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<ExecutionTarget>honeywell.hqs-lt-1.0</ExecutionTarget>
</PropertyGroup>
</Project>
- Program. QS 'nin içeriğini programla değiştirin:
namespace QuantumRNG {
open Microsoft.Quantum.Intrinsic;
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Canon;
@EntryPoint()
operation GenerateRandomBits() : Result[] {
use qubits = Qubit[4];
ApplyToEach(H, qubits);
return MultiM(qubits);
}
}
Not
Bu program kodu hakkında daha fazla bilgi edinmek istiyorsanız, bkz. hisse geliştirme setini kullanarak Ilk Q # programınızı oluşturma.
AZ CLı 'yi hazırlama
Daha sonra, ortamınızı oluşturduğunuz çalışma alanına karşı çalıştırmak için hazırlarız.
Kimlik bilgilerinizi kullanarak Azure 'da oturum açın. Hesabınızla ilişkili aboneliklerin bir listesini alırsınız.
az loginAzure hesabınızla ilişkili olanlardan kullanmak istediğiniz aboneliği belirtin. Abonelik KIMLIĞINIZI Azure portalında çalışma alanınızın genel bakışını de bulabilirsiniz.
az account set -s <Your subscription ID>quantum workspace setYukarıda oluşturduğunuz çalışma alanını varsayılan çalışma alanı olarak seçmek için kullanın. Kaynak grubunu ve oluşturduğunuz konumu da belirtmeniz gerektiğini unutmayın:az quantum workspace set -g MyResourceGroup -w MyWorkspace -l MyLocation -o tableLocation Name ProvisioningState ResourceGroup StorageAccount Usable ---------- ----------- ------------------- --------------- ------------------ -------- MyLocation MyWorkspace Succeeded MyResourceGroup /subscriptions/... YesÇalışma alanınızda, çalışma alanını oluştururken eklediğiniz sağlayıcılardan farklı hedefler mevcuttur. Komutu ile kullanılabilir tüm hedeflerin bir listesini görüntüleyebilirsiniz
az quantum target list -o table:az quantum target list -o tablesize çıkış sağlar
Provider Target-id Current Availability Average Queue Time ---------- ---------------------------------------------- -------------------- -------------------- honeywell honeywell.hqs-lt-1.0 Available 0 honeywell honeywell.hqs-lt-1.0-apival Available 0Not
Bir işi Azure ücrette gönderdiğinizde, sağlayıcı programınızı çalıştırmaya hazırlanana kadar kuyrukta bekler. Hedef liste komutunun Ortalama sıra süresi sütunu, en son çalışan işlerin sırada kaç saniye beklediğine ilişkin sizi gösterir. Bu, ne kadar beklemeniz gerektiğini size fikir verebilir.
Programı donanımda Çalıştır
Programı donanımda çalıştırmak için zaman uyumsuz iş gönderimi komutunu kullanacağız az quantum job submit . Komutu gibi execute , bu işlem programınızı derleyip gönderir ancak yürütme tamamlanana kadar beklememez. İşinizin tamamlanabilmesi için bir süre beklemeniz gerekebileceğinden, bu düzenin donanıma karşı çalışması için önerilir. Ne kadar süreyle olabileceğini öğrenmek için az quantum target list -o table yukarıda açıklanan şekilde çalıştırabilirsiniz. Seçtiğiniz sağlayıcıya bağlı olarak şunları görürsünüz:
az quantum job submit --target-id honeywell.hqs-lt-1.0 -o table
Name Id Status Target Submission time
---------- ------------------------------------ -------- -------- ---------------------------------
QuantumRNG b4d17c63-2119-4d92-91d9-c18d1a07e08f Waiting honeywell.hqs-lt-1.0 2020-01-12T22:41:27.8855301+00:00
Yukarıdaki tablolar işinizin gönderildiğini gösterir ve çalışmasını bekler. Durumu denetlemek için komutunu kullanın, az quantum job show job-id parametresini önceki komutun kimlik çıkışıyla değiştirin, örneğin:
az quantum job show -o table --job-id b4d17c63-2119-4d92-91d9-c18d1a07e08f
Name Id Status Target Submission time
---------- ------------------------------------ -------- -------- ---------------------------------
QuantumRNG b4d17c63-2119-4d92-91d9-c18d1a07e08f Waiting honeywell.hqs-lt-1.0 2020-10-22T22:41:27.8855301+00:00
Eventually, you will see the `Status` in the above table change to `Succeeded`. Once that's done you can get the results from the job by running `az quantum job output`:
```azurecli
az quantum job output -o table --job-id b4d17c63-2119-4d92-91d9-c18d1a07e08f
Result Frequency
--------- ----------- -------------------------
[0,0,0,0] 0.05200000 ▐█ |
[1,0,0,0] 0.07200000 ▐█ |
[0,1,0,0] 0.05000000 ▐█ |
[1,1,0,0] 0.06800000 ▐█ |
[0,0,1,0] 0.04600000 ▐█ |
[1,0,1,0] 0.06000000 ▐█ |
[0,1,1,0] 0.06400000 ▐█ |
[1,1,1,0] 0.07600000 ▐██ |
[0,0,0,1] 0.04800000 ▐█ |
[1,0,0,1] 0.06200000 ▐█ |
[0,1,0,1] 0.07400000 ▐█ |
[1,1,0,1] 0.08000000 ▐██ |
[0,0,1,1] 0.05800000 ▐█ |
[1,0,1,1] 0.06800000 ▐█ |
[0,1,1,1] 0.05200000 ▐█ |
[1,1,1,1] 0.07000000 ▐█ |
Aldığınız histogram yukarıdakilerden biraz farklı olabilir, ancak durumların genellikle eşit sıklığa göre gözlemlendiği fark edilmelidir.
Not
Ile çalışırken bir hatayla karşılaştı Azure Quantum, yaygın sorunlar listemizi kontrol edin.
Sonraki adımlar
Bu hızlı başlangıçta, farklı kuantum bilgi işlem simülatörleri ve QPU'lar için Q# programlarını çalıştırmaya nasıl baş başlandı? Kullanılabilir sağlayıcılar hakkında daha fazla bilgi için Kuantum bilgi işlem sağlayıcısına genel bakış belgelerine bakın.
Azure Quantum'daki farklı hedef türleri hakkında daha fazla bilgi öğrenerek yolculuğunuza devam edersiniz. Bu, verilen sağlayıcıda hangi Q# programlarını çalıştırabilirsiniz? Ayrıca Python, Jupyter Not Defterleri veya Azure CLI ile Q# işlerini gönderme hakkında da bilgi edindiniz.
Çalıştıracak daha fazla örnek mi arıyorsunuz? Azure Quantum için samples dizinine göz Azure Quantum.
Son olarak, Q# programları yazma hakkında daha fazla bilgi edinmek için lütfen Q# programlama dili kullanıcı kılavuzuna bakın.