Форум программистов, компьютерный форум, киберфорум
Квантовая и атомная физика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 03.04.2020
Сообщений: 3
1

Квантовое программирование. Жонглирование цифрами или физический процесс

03.04.2020, 14:10. Показов 1652. Ответов 4

Author24 — интернет-сервис помощи студентам
Всем привет.

Разбираюсь с квантовым программированием. Очень часто в примерах есть что-то такое.

(для простоты я не проверяю коэффициенты на a^2 + b^2 = 1)

Сначала
кубит 1 равен 1/2 * |1> + 1/2 * |0>
кубит 2 равен 1 * |1> + 1 * |0>

потом идет какой-то гейт, который спутывает кубиты и их состояние будет равно

(1/2 * |1> + 1/2 * |0>)*(1 * |1> + 1 * |0>)

потом они начинают с этим состоянием что-то делать, вроде выносить общие части за скобки

1/2 * (1 * |1> + 1 * |0>)*(1 * |1> + 1 * |0>)

а потом берут и вносят вынесенную часть в коэффициенты второго кубита

(1 * |1> + 1 * |0>)*(1/2 * |1> + 1/2 * |0>)

Как они перенесли коэффициент из одного кубита во второй? Ок, я так понимаю, что после спутывания коэффициенты пи отдельных кубитах это просто математическая абстракция и сами по себе ничего не значат. Система эволюционирует только полностью и любые мат манипуляции внутри нее разрешены.

Но потом они вставляют после этой системы на первый кубит гейт Адамара, например.

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

Как-то так.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2020, 14:10
Ответы с готовыми решениями:

Смоделировать физический процесс
Такая задача по компьютерному моделированию: может кто знаком с физическим процессом?...

Физический процесс в LabView
Здравствуйте! Есть вот такая проблема, никак не могу разобраться.. Задание: Выполнить...

Описать физический процесс с анимацией
Здравствуйте, помогите пожалуйста. Нужно описать какой-нибудь физический процесс в среде маткад, с...

Разъясните физический процесс падения шара с высоты с ненулевой скоростью
Сейчас занимаюсь компьютерным моделированием падения шара с высоты с ненулевой скоростью. Мне...

4
Эксперт функциональных языков программированияЭксперт по математике/физике
4300 / 2091 / 431
Регистрация: 19.07.2009
Сообщений: 3,162
Записей в блоге: 24
03.04.2020, 16:46 2
Лучший ответ Сообщение было отмечено VSI как решение

Решение

Вопрос относится не к квантовым вычислениям, а к линейной алгебре.

Есть базис |0> и |1> в двумерном линейном пространстве состояний и два вектора 1/2 * |1> + 1/2 * |0> и |1> + |0>. Сразу можно заметить, что векторы коллинеарны.
Два кубита образуют 4-мерное пространство, каждый базисный вектор которого состоит из двух базисных векторов каждого кубита по отдельности, а любая пара состояний кубит x и y соответствует состоянию https://www.cyberforum.ru/cgi-bin/latex.cgi?x\otimes y двух кубит.
Операция https://www.cyberforum.ru/cgi-bin/latex.cgi?\otimes является билинейной — для дальнейших рассуждений этого факта достаточно.

Ваш гейт описывается билинейной функцией, на выходе получили
https://www.cyberforum.ru/cgi-bin/latex.cgi?(\frac12 |1\rangle + \frac12 |0\rangle)\otimes(|1\rangle + |0\rangle)
Цитата Сообщение от ZeddVanDaar Посмотреть сообщение
вроде выносить общие части за скобки
да, называется дистрибутивностью
a*x+a*y = a(x+y)
Причём в силу билинейности https://www.cyberforum.ru/cgi-bin/latex.cgi?\otimes этот коэффициент можно вынести за все скобки:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac12 \cdot (( |1\rangle + |0\rangle)\otimes(|1\rangle + |0\rangle))
Цитата Сообщение от ZeddVanDaar Посмотреть сообщение
вносят вынесенную часть в коэффициенты второго кубита
делают всё то же самое, но для правого сомножителя и в обратном порядке. То есть сначала по билинейности вносят коэффициент во второй сомножитель, затем по дистрибутивности раскрывают скобки.

Таким образом,
https://www.cyberforum.ru/cgi-bin/latex.cgi?(\frac12 |1\rangle + \frac12 |0\rangle)\otimes(|1\rangle + |0\rangle) = (|1\rangle + |0\rangle)\otimes(\frac12 |1\rangle + \frac12 |0\rangle)
В общем случае https://www.cyberforum.ru/cgi-bin/latex.cgi?x\otimes y \neq y\otimes x, но для коллинеарных x и y это работает всегда в силу указанный равенств (дистрибутивность + билинейность).

Цитата Сообщение от ZeddVanDaar Посмотреть сообщение
Если система теперь общая, то какой смысл ставить гейт на один кубит? Есть ли разница на какой кубит его ставить?
Сказать, что гейт A ставится на первый из двух кубит, всё равно, что поставить гейт https://www.cyberforum.ru/cgi-bin/latex.cgi?A\otimes 1 на два кубита разом.
Поскольку в общем случае https://www.cyberforum.ru/cgi-bin/latex.cgi?A\otimes 1\neq 1\otimes A, разница есть, на какой кубит ставить гейт.
2
0 / 0 / 0
Регистрация: 03.04.2020
Сообщений: 3
03.04.2020, 21:54  [ТС] 3
Окей, то бишь на тех линиях, где пусто, просто расположены I гейты, и они опущены для простоты.

Тогда вопрос - атомарной операцией является умножение на матрицу столбца? Сам по себе гейт, того же Адамара, это чистая абстракция?

Вопрос. С какого момента в квантовом компьютере кубиты спутаны? С момента начала выполнения, или с осознанного объединения? Тем же CNOT. Если до снота они не спутаны, то на их умножают на свои матрицы?

И конкретный пример.

Кликните здесь для просмотра всего текста
https://algassert.com/quirk#circuit={%22cols%22:[[%22H%22,%22H%22,%22H%22,%22H%22,%22X%22],[%22%E2%80%A6%22,%22%E2%80%A6%22,%22%E2%80%A6%22,%22%E2%80%A6%22,%22H%22],[%22X%22,%22X%22,1,%22X%22],[%22%E2%80%A2%22,%22%E2%80%A2%22,1,1,1,%22X%22],[1,1,%22%E2%80%A2%22,%22%E2%80%A2%22,1,1,%22X%22],[1,1,1,1,%22X%22,%22%E2%80%A2%22,%22%E2%80%A2%22],[1,1,%22%E2%80%A2%22,%22%E2%80%A2%22,1,1,%22X%22],[%22%E2%80%A2%22,%22%E2%80%A2%22,1,1,1,%22X%22],[%22X%22,%22X%22,1,%22X%22],[%22Bloch%22,%22Bloch%22,%22Bloch%22,%22Bloch%22,%22Bloch%22,%22Bloch%22,%22Bloch %22],[%22Chance4%22],[%22%E2%80%A6%22,%22%E2%80%A6%22,%22%E2%80%A6%22,%22%E2%80%A6%22],[%22H%22,%22H%22,%22H%22,%22H%22],[%22X%22,%22X%22,%22X%22,%22X%22],[%22Y%22,1,1,%22H%22],[%22X%22],[%22Z%22],[%22%E2%80%A2%22,%22%E2%80%A2%22,1,1,1,1,1,%22X%22],[1,%22%E2%80%A2%22,%22%E2%80%A2%22,1,1,1,1,1,%22X%22],[1,1,1,%22X%22,1,1,1,%22%E2%80%A2%22,%22%E2%80%A2%22],[1,%22%E2%80%A2%22,%22%E2%80%A2%22,1,1,1,1,1,%22X%22],[%22%E2%80%A2%22,%22%E2%80%A2%22,1,1,1,1,1,%22X%22],[%22Y%22],[%22X%22],[%22Z%22,1,1,%22H%22],[%22X%22,%22X%22,%22X%22,%22X%22],[%22H%22,%22H%22,%22H%22,%22H%22],[%22%E2%80%A6%22,%22%E2%80%A6%22,%22%E2%80%A6%22,%22%E2%80%A6%22]]}

Это кусок алгоритма Гровера. Тут первый кусок это оракул, чекающий 0010. Результат идет в пятый кубит. И дальше в усилителе амплитуды он даже не используется. Коэффициенты 5 кубита будут умножаться на что-то из усилителя в матричной форме? Кто-нибудь знает онлайн отладчик, где это можно увидеть, или нужно самому матрицы считать?
0
Эксперт функциональных языков программированияЭксперт по математике/физике
4300 / 2091 / 431
Регистрация: 19.07.2009
Сообщений: 3,162
Записей в блоге: 24
04.04.2020, 16:23 4
Цитата Сообщение от ZeddVanDaar Посмотреть сообщение
Окей, то бишь на тех линиях, где пусто, просто расположены I гейты, и они опущены для простоты.
Да. Это общая практика опускать идентичные отображения / нейтральные элементы в графическом представлении.
Цитата Сообщение от ZeddVanDaar Посмотреть сообщение
Тогда вопрос - атомарной операцией является умножение на матрицу столбца?
В выбранном базисе — да. Состояние — вектор, гейт — унитарная матрица.
Цитата Сообщение от ZeddVanDaar Посмотреть сообщение
С какого момента в квантовом компьютере кубиты спутаны?
Насколько я представляю себе терминологию, состояние называется спутанным, если оно не представимо в виде https://www.cyberforum.ru/cgi-bin/latex.cgi?x\otimes y.
Например, |0>|0> + |1>|1>.
Цитата Сообщение от ZeddVanDaar Посмотреть сообщение
С момента начала выполнения, или с осознанного объединения?
Исходное состояние может быть спутанным, но в силу линейности всех операторов (кроме, естественно, измерения), результат работы системы есть суперпозиция результатов для отдельных неспутанных состояний.
Сами операторы могут из неспутанных (например, |0>|0>) делать спутанное.
Цитата Сообщение от ZeddVanDaar Посмотреть сообщение
Это кусок алгоритма Гровера. Тут первый кусок это оракул, чекающий 0010. Результат идет в пятый кубит. И дальше в усилителе амплитуды он даже не используется. Коэффициенты 5 кубита будут умножаться на что-то из усилителя в матричной форме? Кто-нибудь знает онлайн отладчик, где это можно увидеть, или нужно самому матрицы считать?
Вне сферы моей компетентности. Но для 9 кубитов размерность пространства состояний 512. Матрицы (пусть даже разреженные или блочные) размером 512x512 обозревать будет сложно.
1
0 / 0 / 0
Регистрация: 18.02.2020
Сообщений: 3
27.05.2020, 23:22 5
Цитата Сообщение от ZeddVanDaar Посмотреть сообщение
онлайн отладчик
не используйте отладчик. Надо вычислять самому и больше стараться строить модели компьютера. На фон-неймоновском железе дело бессмысленное как и все симуляторы не годны. Лишь неправильное представление вызывают у энтузиастов.
0
27.05.2020, 23:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2020, 23:22
Помогаю со студенческими работами здесь

Запущен ли процесс? или Завершен ли дочерний процесс моей программы?
Моя программа выполняет execute('cmd', '/C ...'). На момент execute-а других экземпляров cmd.exe...

Физический или логический диск?
Спецы, помогите с решением проблемы... Условие задачи: два физических диска разбиты на...

Как сделать так что бы батник мониторил процесс и если процесс перезепустился то запуск или перезапуск другой программы
помогите , как сделать так что бы батник мониторил процесс и если процесс перезепустился то запуск...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru