Exemplo n.º 1
0
        protected override void OnInitialized(EventArgs e)
        {
            if (Reg.Size == 1)
            {
                Qubits.Content = "Qubits: " + FirstQubitIndex.ToString();
            }
            else
            {
                Qubits.Content = "Qubits: " + FirstQubitIndex.ToString() + "-" + (FirstQubitIndex + Reg.Size - 1).ToString();
            }
            int matrixRows, matrixCols;

            if (Reg.Size % 2 == 0)
            {
                matrixRows = matrixCols = (int)Math.Pow(2, Reg.Size / 2);
            }
            else
            {
                matrixRows = (int)Math.Pow(2, (Reg.Size - 1) / 2);
                matrixCols = (int)Math.Pow(2, (Reg.Size + 1) / 2);
            }
            StateMatrix.ResizeGrid(matrixRows, matrixCols);
            for (int i = 0; i < matrixRows; i++)
            {
                for (int j = 0; j < matrixCols; j++)
                {
                    StateMatrix[i, j] = ComplexParser.ToString(Reg.Amplitude(i * matrixCols + j), 4).ToString();
                }
            }

            if (Reg.Size == 1)
            {
                Examine.IsEnabled = false;
            }
            base.OnInitialized(e);
        }