Q Sharp
Le Q# (ou Q Sharp) est un langage de programmation utilisé pour simuler des algorithmes quantiques.
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 | |
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
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);
}
}
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
- « 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 )