Q Sharp - Q Sharp
![]() | tento článek se mohou příliš spoléhat na zdroje příliš úzce souvisí s tématem, což potenciálně brání tomu, aby článek byl ověřitelný a neutrální.Září 2018) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Paradigma | multi-paradigma: kvantová, funkční, rozkazovací způsob |
---|---|
Navrhl | Microsoft Research (kvantová architektura a výpočetní skupina; QuArC) |
Vývojář | Microsoft |
Poprvé se objevil | 11. prosince 2017 |
Psací disciplína | statický, silný |
Plošina | Společná jazyková infrastruktura |
Licence | Licence MIT |
Přípony názvu souboru | .qs |
webová stránka | Microsoft Quantum (GitHub ) |
Ovlivněno | |
C#, F# |
Q # (vyslovuje se jako Q ostré) je programovací jazyk specifický pro doménu slouží k vyjádření kvantové algoritmy.[1] To bylo původně vydáno pro veřejnost Microsoft jako součást Quantum Development Kit.[2]
Dějiny
Během a Microsoft Ignite Keynote 26. září 2017, Microsoft oznámil, že hodlá vydat nový programovací jazyk zaměřený speciálně na kvantové počítače.[3] 11. prosince 2017 společnost Microsoft vydala Q # jako součást Quantum Development Kit.[2]
Používání
Q # je k dispozici jako samostatně stažené rozšíření pro Vizuální studio,[4] ale lze jej také spustit jako nezávislý nástroj z příkazového řádku nebo Visual Studio Code. Sada Quantum Development Kit se dodává s a kvantový simulátor který je schopen spustit Q #.
Aby bylo možné vyvolat kvantový simulátor, další Programovací jazyk .NET, obvykle C#, který poskytuje (klasická) vstupní data pro simulátor a čte (klasická) výstupní data ze simulátoru.
Funkce
Primární funkcí Q # je schopnost vytvářet a používat qubits pro algoritmy. V důsledku toho jsou některé z nejvýznamnějších vlastností Q # schopnost zamotat a představit superpozice na qubits přes Kontrolované NE brány a Hadamardovy brány, respektive stejně jako Toffoli Gates, Pauli X, Y, Z Gate a mnoho dalších, které se používají pro různé operace; viz seznam v článku na kvantové logické brány.
Od hardwarového zásobníku, který se nakonec spojí s Q #, se očekává implementace Qubits as topologické qubits. Kvantový simulátor, který je dnes dodáván s Quantum Development Kit, je schopen zpracovat až 32 qubitů na uživatelském počítači a až 40 qubitů na Blankyt.
Dokumentace a zdroje
V současné době jsou zdroje dostupné pro Q # omezené, ale je zveřejněna oficiální dokumentace: Síť Microsoft Developer Network: Q #. Úložiště Microsoft Quantum Github je také velkou sbírkou ukázkových programů implementujících různé kvantové algoritmy a jejich testy.
Microsoft také uspořádal soutěž Quantum Coding dne Codeforces tady: Microsoft Q # Coding Contest - Codeforces, a také poskytl související materiál, který pomůže odpovědět na otázky v příspěvcích na blogu, plus podrobná řešení v tutoriálech.
Microsoft hostí sadu výukových cvičení, která vám pomohou naučit se Q # na github: microsoft / QuantumKatas s odkazy na zdroje a odpověďmi na problémy.
Syntax
Q # syntakticky souvisí s oběma C# a F# přesto má také některé významné rozdíly.
Podobnosti s C #
- Použití
jmenný prostor
pro izolaci kódu - Všechna prohlášení končí a
;
- Pro prohlášení o rozsahu se používají složené závorky
- Jednořádkové komentáře se provádějí pomocí
//
- Variabilní datové typy jako např
Int
Dvojnásobek
Tětiva
aBoole
jsou podobné, i když jsou psány velkými písmeny (a Int je 64bitový)[5] - Qubity jsou přidělovány a likvidovány uvnitř a
použitím
blok. - Funkce Lambda pomocí
=>
operátor. - Výsledky jsou vráceny pomocí
vrátit se
klíčové slovo.
Podobnosti s F #
- Proměnné jsou deklarovány pomocí buď
nechat
neboproměnlivý
[1] - Funkce prvního řádu
- Moduly, které se importují pomocí
otevřeno
klíčové slovo - Datový typ je deklarován za názvem proměnné
- Operátor rozsahu
..
pro… v
smyčky- Každá operace / funkce má spíše návratovou hodnotu než
prázdnota
. Namístoprázdnota
, prázdná n-tice()
je vrácen. - Definice záznamových datových typů (pomocí
nový typ
klíčové slovo, místotyp
).
Rozdíly
- Funkce jsou deklarovány pomocí
funkce
klíčové slovo - Operace na kvantovém počítači jsou deklarovány pomocí
úkon
klíčové slovo - Nedostatek víceřádkových komentářů
- Tvrdí místo vyvolávání výjimek
- Dokumentace je napsána v Snížení namísto XML -založené tagy dokumentace
Reference
- ^ A b QuantumWriter. „Programovací jazyk Q #“. docs.microsoft.com. Citováno 2017-12-11.
- ^ A b „Oznámení sady Microsoft Quantum Development Kit“. Citováno 2017-12-11.
- ^ „Microsoft oznamuje programovací jazyk kvantové výpočetní techniky“. Citováno 2017-12-14.
- ^ QuantumWriter. „Nastavení vývojového prostředí Q #“. docs.microsoft.com. Citováno 2017-12-14.
- ^ „Typy v Q # - Microsoft Quantum“. docs.microsoft.com.