monaco-editor/website/index/samples/sample.qsharp.txt

46 lines
1.2 KiB
Plaintext

// Run this cell using Ctrl+Enter (⌘+Enter on Mac)
// Then run the next cell to see the output
open Microsoft.Quantum.Diagnostics;
operation QubitsDemo () : Unit {
// This line allocates a qubit in state |0⟩
use q = Qubit();
Message("State |0⟩:");
// This line prints out the state of the quantum computer
// Since only one qubit is allocated, only its state is printed
DumpMachine();
// This line changes the qubit from state |0⟩ to state |1⟩
X(q);
Message("State |1⟩:");
DumpMachine();
// This line changes the qubit to state |-⟩ = (1/sqrt(2))(|0⟩ - |1⟩)
// That is, this puts the qubit into a superposition
// 1/sqrt(2) is approximately 0.707107
H(q);
Message("State |-⟩:");
DumpMachine();
// This line changes the qubit to state |-i⟩ = (1/sqrt(2))(|0⟩ - i|1⟩)
S(q);
Message("State |-i⟩:");
DumpMachine();
// This will put the qubit into an uneven superposition,
// where the amplitudes of |0⟩ and |1⟩ have different moduli
Rx(2.0, q);
Ry(1.0, q);
Message("Uneven superposition state:");
DumpMachine();
// This line returns the qubit to state |0⟩
Reset(q);
}