Q Sharp

langage de programmation quantique

Le Q# (ou Q Sharp) est un langage de programmation utilisé pour simuler des algorithmes quantiques.

Q Sharp
Logo.

Date de première version Voir et modifier les données sur Wikidata
Dernière version 99045 ()[1]Voir et modifier les données sur Wikidata
Influencé par C#
F#Voir et modifier les données sur Wikidata
Licence Licence MIT[2]Voir et modifier les données sur Wikidata
Site web docs.microsoft.com/en-us/quantum/quantum-qr-introVoir et modifier les données sur Wikidata
Extension de fichier qsVoir et modifier les données sur Wikidata

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 modifier

 
Symbolise le langage quantique Q# de Microsoft

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 modifier

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 modifier

Sources modifier

  • Microsoft : The Q# Programming Language[4]
  • Microsoft : Write a quantum program[5]

Bibliographie modifier

  • 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 modifier

  1. a et b « Release 99045 », (consulté le )
  2. « https://api.github.com/repos/Microsoft/Quantum » (consulté le )
  3. (en-US) QuantumWriter, « Setting up the Q# development environment », sur docs.microsoft.com (consulté le ).
  4. (en-US) QuantumWriter, « The Q# Programming Language », sur docs.microsoft.com (consulté le )
  5. (en-US) QuantumWriter, « Write a quantum program », sur docs.microsoft.com (consulté le )