Snowflurry/en: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
(Created page with "== Installation ==")
(Updating to match new version of source page)
Line 2: Line 2:
<div lang="fr" dir="ltr" class="mw-content-ltr">
<div lang="fr" dir="ltr" class="mw-content-ltr">
== Snowflurry ==
== Snowflurry ==
[https://github.com/SnowflurrySDK/Snowflurry.jl/ Snowflurry] est une librairie d'informatique quantique open source développée en [https://julialang.org/ Julia] par [https://anyonsys.com/ Anyon Systems, Inc] qui permet de construire, de simuler et d'exécuter des circuits quantiques.
[https://github.com/SnowflurrySDK/Snowflurry.jl/ Snowflurry] est une librairie d'informatique quantique à code source ouvert développée en [https://julialang.org/ Julia] par [https://anyonsys.com/ Anyon Systems] qui permet de construire, de simuler et d'exécuter des circuits quantiques.
Une librairie connexe nommée [https://github.com/SnowflurrySDK/SnowflurryPlots.jl/ SnowflurryPlots] permet de visualiser les résultats de la simulation dans un diagramme à bandes. Pratique pour explorer l'informatique quantique, les fonctionnalitées des librairies sont disponibles dans la [https://snowflurrysdk.github.io/Snowflurry.jl/dev/index.html documentation] et le guide d'installation est disponible sur la page [https://github.com/SnowflurrySDK/Snowflurry.jl GitHub]. Tout comme la librairie [[PennyLane]], Snowflurry peut être utilisé pour exécuter des circuits quantiques sur l'ordinateur quantique [[Les services quantiques|MonarQ]].
Une librairie connexe nommée [https://github.com/SnowflurrySDK/SnowflurryPlots.jl/ SnowflurryPlots] permet de visualiser les résultats de la simulation dans un diagramme à bandes. Pratique pour explorer l'informatique quantique, les fonctionnalitées des librairies sont disponibles dans la [https://snowflurrysdk.github.io/Snowflurry.jl/dev/index.html documentation] et le guide d'installation est disponible sur la page [https://github.com/SnowflurrySDK/Snowflurry.jl GitHub]. Tout comme la librairie [[PennyLane]], Snowflurry peut être utilisée pour exécuter des circuits quantiques sur l'ordinateur quantique [[Les services quantiques|MonarQ]].
</div>
</div>


<div class="mw-translate-fuzzy">
== Installation ==
== Installation ==
</div>


<div lang="fr" dir="ltr" class="mw-content-ltr">
<div lang="fr" dir="ltr" class="mw-content-ltr">
== Exemple d'utilisation: états de Bell ==
== Exemple d'utilisation : États de Bell ==
Les états de Bell sont des états à deux qubits maximalement intriqués. Ce sont des exemples simples de  deux phénomènes quantiques: la superposition et l'intrication. La librairie [https://github.com/SnowflurrySDK/Snowflurry.jl/ Snowflurry] permet de construire le premier état de Bell comme suit.
Les états de Bell sont des états à deux qubits maximalement intriqués. Ce sont des exemples simples de  deux phénomènes quantiques&nbsp;: la superposition et l'intrication. La librairie [https://github.com/SnowflurrySDK/Snowflurry.jl/ Snowflurry] permet de construire le premier état de Bell comme suit.
<noinclude>
<noinclude>
{{Command|julia
{{Command|julia
Line 28: Line 30:
}}
}}
</noinclude>
</noinclude>
Dans la section de code ci-haut, la porte de Hadamard crée une superposition égale de |0⟩ et |1⟩ sur le premier qubit tandis que la porte CNOT (porte X controllée) crée une intrication entre les deux qubits. On retrouve une superposition égale des états |00⟩ et |11⟩, soit le premier état de Bell. La fonction <code>simulate</code> permet de simuler l'état exact du système.
Dans la section de code ci-dessus, la porte de Hadamard crée une superposition égale de |0⟩ et |1⟩ sur le premier qubit tandis que la porte CNOT (porte X controllée) crée une intrication entre les deux qubits. On retrouve une superposition égale des états |00⟩ et |11⟩, soit le premier état de Bell. La fonction <code>simulate</code> permet de simuler l'état exact du système.
<noinclude>
<noinclude>
   julia> state = simulate(circuit)
   julia> state = simulate(circuit)

Revision as of 21:55, 9 September 2024

Other languages:

Snowflurry

Snowflurry est une librairie d'informatique quantique à code source ouvert développée en Julia par Anyon Systems qui permet de construire, de simuler et d'exécuter des circuits quantiques. Une librairie connexe nommée SnowflurryPlots permet de visualiser les résultats de la simulation dans un diagramme à bandes. Pratique pour explorer l'informatique quantique, les fonctionnalitées des librairies sont disponibles dans la documentation et le guide d'installation est disponible sur la page GitHub. Tout comme la librairie PennyLane, Snowflurry peut être utilisée pour exécuter des circuits quantiques sur l'ordinateur quantique MonarQ.

Installation

Exemple d'utilisation : États de Bell

Les états de Bell sont des états à deux qubits maximalement intriqués. Ce sont des exemples simples de deux phénomènes quantiques : la superposition et l'intrication. La librairie Snowflurry permet de construire le premier état de Bell comme suit.

Question.png
[name@server ~]$ julia
julia> using Snowflurry
julia> circuit=QuantumCircuit(qubit_count=2);
julia> push!(circuit,hadamard(1));
julia> push!(circuit,control_x(1,2));
julia> print(circuit)
</div>

<div lang="fr" dir="ltr" class="mw-content-ltr">
Quantum Circuit Object:
   qubit_count: 2 
q[1]:──H────*──
            ¦ 
q[2]:───────X──

Dans la section de code ci-dessus, la porte de Hadamard crée une superposition égale de |0⟩ et |1⟩ sur le premier qubit tandis que la porte CNOT (porte X controllée) crée une intrication entre les deux qubits. On retrouve une superposition égale des états |00⟩ et |11⟩, soit le premier état de Bell. La fonction simulate permet de simuler l'état exact du système.

 julia> state = simulate(circuit)
 julia> print(state)   
 4-element Ket{ComplexF64}:
 0.7071067811865475 + 0.0im
 0.0 + 0.0im
 0.0 + 0.0im
 0.7071067811865475 + 0.0im

Pour effectuer une mesure, l'opération readout permet de spécifier quels qubits seront mesurés. La bibliothèque SnowflurryPlots et la fonction plot_histogram permettent de visualiser les résultats.

Question.png
[name@server ~]$ julia
julia> using SnowflurryPlots
julia> push!(circuit, readout(1,1), readout(2,2))
julia> plot_histogram(circuit,1000)
Résultats de 1000 simulations de l'état de Bell.