Q Sharp
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/3c/Icon_falscher_Titel.svg/45px-Icon_falscher_Titel.svg.png)
Titre correct : « Q# ».
En raison de limitations techniques, la typographie souhaitable du titre n’a pu être restituée correctement.
![Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.](http://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Info_Simple.svg/12px-Info_Simple.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a1/2017-fr.wp-orange-source.svg/45px-2017-fr.wp-orange-source.svg.png)
Cet article ne s'appuie pas, ou pas assez, sur des sources secondaires ou tertiaires ().
Pour améliorer la vérifiabilité de l'article ainsi que son intérêt encyclopédique, il est nécessaire, quand des sources primaires sont citées, de les associer à des analyses faites par des sources secondaires.
Q Sharp | ||
![]() | ||
Date de première version | ![]() | |
---|---|---|
Dernière version | 99045 ()[1]![]() | |
Influencé par | C# F# ![]() | |
Licence | Licence MIT[2]![]() | |
Site web | docs.microsoft.com/en-us/quantum/quantum-qr-intro![]() | |
Extension de fichier | qs![]() | |
modifier ![]() |
Le Q# (ou Q Sharp) est un langage de programmation utilisé pour simuler des algorithmes quantiques.
Développé par Microsoft, une bêta est lancée le (the Microsoft Quantum Development Kit Preview)[3].
Ce langage est inclus dans Visual Studio en téléchargeant le kit de développement quantum sur le site de Microsoft.
Traits caractéristiques
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Q_mini.png/220px-Q_mini.png)
La caractéristique principale de Q # est la possibilité de créer et d'utiliser des qubits pour générer des algorithmes. En conséquence, certaines des caractéristiques les plus importantes de Q # sont la capacité à intriquer et introduire une superposition de qubits via des portes de Fonction NON contrôlées et des portes de Hadamard. De même via des portes de Toffoli et des matrices de Pauli et bien d'autres qui sont utilisées pour une grande variété d'opérations.
Exemple
operation BellTest (count : Int, initial: Result) : (Int,Int,Int) { body { mutable numOnes = 0; mutable agree = 0; using (qubits = Qubit[2]) { for (test in 1..count) { Set (initial, qubits[0]); Set (Zero, qubits[1]); H(qubits[0]); CNOT(qubits[0],qubits[1]); let res = M (qubits[0]); if (M (qubits[1]) == res) { set agree = agree + 1; } // Count the number of ones we saw: if (res == One) { set numOnes = numOnes + 1; } } Set(Zero, qubits[0]); Set(Zero, qubits[1]); } // Return number of times we saw a |0> and number of times we saw a |1> return (count - numOnes, numOnes, agree); } }
Voir aussi
Sources
- Microsoft : The Q# Programming Language[4]
- Microsoft : Write a quantum program[5]
Bibliographie
- Benoît Prieur, Informatique quantique : de la physique quantique à la programmation quantique en Q#, Éditions ENI, , 244 p. (ISBN 978-2-409-01741-4, OCLC 1089012186).
Notes et références
- ↑ a et b « Release 99045 », (consulté le )
- ↑ « https://api.github.com/repos/Microsoft/Quantum » (consulté le )
- ↑ (en-US) QuantumWriter, « Setting up the Q# development environment », sur docs.microsoft.com (consulté le ).
- ↑ (en-US) QuantumWriter, « The Q# Programming Language », sur docs.microsoft.com (consulté le )
- ↑ (en-US) QuantumWriter, « Write a quantum program », sur docs.microsoft.com (consulté le )
Portail de Microsoft
Portail de la programmation informatique