Как выполнить моделирование наблюдения кубита в Qiskit - PullRequest
1 голос
/ 23 сентября 2019

Я пытался написать программу, которая выполняет различные операции над кубитами с помощью qiskit, и одной из таких операций является выполнение следующего:

"Имитируется наблюдение кубита, моделирующее коллапс волновой функции следующим образом:

 r <= |a^2|, x = 0 (basisstate |0>
 r > |a^2|, x = 1 (basisstate |1>

, где r - случайное число в диапазоне [0,1), а a - кубит, который должен наблюдаться. "

Я заметил, что метод measure () вqiskit разрушит квантовую систему - это то, что я хочу предотвратить.Как я могу проецировать квантовый вектор (или кубит) в двоичный вектор в qiskit (без свертывания квантовой системы)?Или есть SDK для квантового программирования, который позволяет мне это делать?Заранее спасибо.

Обновление: 24/9/2019 Мария Михайлова, спасибо за информацию.Это именно то, что мне было нужно!Для других был обновлен API Qiskit, используйте result.data () вместо result.get_data (circuit).

1 Ответ

1 голос
/ 23 сентября 2019

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

При этом можно моделировать такое наблюдение, напрямую обращаясь к волновой функции и вычисляявероятности коллапса кубита до того или иного базового состояния вручную, без фактического выполнения измерения.Это просто не то, что вы сможете сделать на реальном квантовом устройстве!

Я не очень хорошо знаком с инструментами Qiskit для доступа к волновой функции, эта ссылка , кажется, предоставляет некоторыеначальные точки.

...