Как я могу сопоставить комплексное число с кубитом в Q#?

Теоретически состояние кубита определяется двумя комплексными числами по следующей формуле:

Изображение для формулы состояния суперпозиции кубитов

Правило состоит в том, что количество комплексных чисел, необходимое для определения состояния набора кубитов, равно 2ⁿ, где n - количество используемых кубитов.

если у меня есть массив комплексных чисел, как я могу сопоставить или назначить каждый номер кубиту?

Например: у меня есть это комплексное число: 0,0020908999722450972 + я *0,001669629942625761. Каково было бы состояние кубита в этом случае? Нужно ли мне больше кубитов для представления этого числа?

1 ответ

Я думаю, это зависит от того, что вы собираетесь делать с этими числами после того, как вы сопоставили их с кубитами.

Если вам нужно использовать 2ⁿ числа для подготовки квантового состояния на n кубитах, которое является взвешенной суперпозицией базовых состояний, вы можете использовать операцию PrepareArbitraryState, которая делает именно это. Внутренне он реализует статью " Синтез квантовых логических схем " Шенде, Баллока, Маркова.

Если вам нужно представить эти числа таким образом, чтобы вы могли считывать их, измеряя кубиты, вам, возможно, придется сделать что-то вроде преобразования их в двоичном формате и сохранения каждого бита в отдельном кубите.

Другие вопросы по тегам