Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            using (var sim = new QuantumSimulator())
            {
                var message = AllocateAndMeasureSingleQubit.Run(sim).Result;
                System.Console.WriteLine($"The result of allocating and measuring a qubit was {message}");

                message = PutInOneState.Run(sim).Result;
                System.Console.WriteLine($"The result of putting a qubit in |1> was {message}");

                message = sim.RunManyTimes(PutInPlusState.Run, 100);
                System.Console.WriteLine($"The result of putting a qubit in |+> was {message}");

                var qubitCount = 4;
                message = sim.RunManyTimesN(s => SuperPositionOverAllBasisVectors.Run(s, qubitCount), 10000);
                System.Console.WriteLine($"The result of putting {qubitCount} qubits in the GHZ state was {message}");
            }
        }
Ejemplo n.º 2
0
        public static string RunManyTimesN(this QuantumSimulator sim, Func <QuantumSimulator, Task <QArray <Result> > > op, int count)
        {
            string ResultArrayToString(QArray <Result> result) => result.Select(ResultToString).Aggregate((r, c) => r + c);

            return(sim.RunManyTimes(op, count, ResultArrayToString));
        }
Ejemplo n.º 3
0
 public static string RunManyTimes(this QuantumSimulator sim, Func <QuantumSimulator, Task <Result> > op, int count)
 {
     return(sim.RunManyTimes(op, count, ResultToString));
 }