Q Sharp

Un article de Wikipédia, l'encyclopédie libre.

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

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[modifier | modifier le code]

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 | modifier le code]

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 | modifier le code]

Sources[modifier | modifier le code]

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

Bibliographie[modifier | modifier le code]

  • 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)Voir et modifier les données sur Wikidata

Notes et références[modifier | modifier le code]

  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 )