Пример #1
0
        /// <summary>
        /// Created Generalized W Statue of specified length
        /// </summary>
        /// <param name="length">The length.</param>
        /// <returns></returns>
        public static QuantumRegister GHZStateOfLength(int length)
        {
            ComplexVector vector = ComplexVector.Zero(1 << length);

            vector[0] = Complex.One;
            vector[(1 << length) - 1] = Complex.One;

            return(new QuantumRegister(GetQubits(vector / (float)Math.Sqrt(2))));
        }
Пример #2
0
        /// <summary>
        /// Creates a WState of specified length
        /// </summary>
        /// <param name="length">The length.</param>
        /// <returns></returns>
        public static QuantumRegister WStateOfLength(int length)
        {
            ComplexVector vector = ComplexVector.Zero(1 << length);

            for (int i = 0; i < length; i++)
            {
                vector[1 << i] = Complex.One;
            }

            return(new QuantumRegister(GetQubits(vector / (float)Math.Sqrt(3))));
        }