/// <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)))); }
/// <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)))); }