Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
10 Декабря 2024, 15:21:45
Начало Помощь Поиск Войти Регистрация
Новости: Книгу С.Доронина "Квантовая магия" читать здесь
Материалы старого сайта "Физика Магии" доступны для просмотра здесь
О замеченных глюках просьба писать на почту quantmag@mail.ru

+  Квантовый Портал
|-+  Тематические разделы
| |-+  Физика (Модератор: valeriy)
| | |-+  Численный анализ многокубитных систем
0 Пользователей и 1 Гость смотрят эту тему. « предыдущая тема следующая тема »
Страниц: 1 ... 9 10 [11] 12 13 ... 15  Все Печать
Автор Тема: Численный анализ многокубитных систем  (Прочитано 475764 раз)
С.И. Доронин
Администратор
Ветеран
*****
Сообщений: 795


Просмотр профиля
« Ответ #150 : 22 Декабря 2007, 20:16:28 »

Продолжу про гамильтонианы.

Попытаемся теперь за операторами, через которые выражаются гамильтонианы, увидеть матрицы. Формулы гамильтонианов записаны для произвольного числа кубитов, вплоть до бесконечно больших систем. Если у нас есть N кубитов, мы знаем, что матрица гамильтониана должна быть размером 2N×2N, как получить ее из операторной записи гамильтониана? Это очень важный момент, если понять, как получается матрица гамильтониана из заданного набора операторов, то полпути к пониманию сути гамильтонианов будет пройдено :).

Когда смотришь на формулы и парные операторы типа IzIz, сразу может возникнуть вопрос – откуда появляются матрицы нужного размера, ведь матрицы Паули имеют размер 2×2 и их произведение, очевидно, имеет тот же размер?

Дело в том, что это не просто матрицы 2×2, это операторы. Они действуют на определенный кубит, который указан в нижнем индексе, это номер кубита в базисном векторе.

Таким образом, первый шаг, когда задано (известно) число кубитов – это задание стандартного базиса. Тем самым определяется размерность матрицы гамильтониана. Например, для двухкубитной системы это будут четыре базисных вектора |00>, |01>, |10>, |11> (размер матрицы 4×4). Для трехкубитной системы уже восемь векторов: |000>, |001>, |010>, |011>, |100>, |101>, |110>, |111> (размер матрицы 8×8 ), и т.д.

У нас три основных оператора: Iz, I+, I, матрицы которых имеют вид:


Напомню еще, что состояния индивидуальных кубитов в дираковских обозначениях |0> и |1> это вектор-столбцы (1  0)T и (0  1)T соответственно.

То, каким образом операторы действуют на состояние кубита, можно понять из следующих выражений.


Таким образом, каждый из операторов действует на кубит строго определенным образом – изменяет его состояние в соответствии со следующими правилами (сведем их в более компактную таблицу):

 
Этой таблицей можно пользоваться при построении гамильтонианов, записанных через операторы. Действие парных операторов тоже определяется этими одиночными операторами, только здесь уже нужно указывать, на какой кубит действует каждый из одиночных операторов. Например, выражение I+1 I2 означает, что при некотором заданном числе кубитов в каждом из базисных векторов нужно подействовать повышающим оператором на первый кубит и понижающим на второй.

В качестве самого простого примера построим XY-гамильтониан для двухкубитной системы. В этом случае, на каждый из четырех базисных векторов |00>, |01>, |10>, |11> нужно подействовать операторами гамильтониана:

HXY=1/2b12(I+1 I2 + I1 I+2).

Чтобы нам сразу получить матрицу гамильтониана, удобно построить следующую таблицу:


В ней базисные векторы расположены по строкам и столбцам. Результат действия операторов на базисные векторы заносится в эту таблицу, и в конечном итоге мы будем иметь матрицу гамильтониана. Делается это следующим образом – мы последовательно перебираем все базисные векторы (строки), а то состояние, которое получается в результате действия операторов, ищем среди столбцов матрицы. Затем, на пересечении данной строки и столбца ставим соответствующий множитель (константу взаимодействия).

Итак, берем первый базисный вектор |00>. Очевидно, что в результате действие как оператора I+1I2, так и оператора I1I+2 получаем ноль, поскольку повышающий оператор здесь в обоих случаях дает нулевой элемент.

Переходим к состоянию |01>. Первый парный оператор I+1I2 опять дает ноль, но второй I1I+2 здесь уже работает – он «переворачивает» состояние каждого кубита в обратную сторону и получается состояние |10>, которое мы ищем среди столбцов. В таблице на пересечении строки |01> и столбца <10| записываем множитель, который стоит при операторе, в нашем случае это 1/2b12.

Следующий базисный вектор |10>. Теперь наоборот, работает первый оператор I+1I2, а второй дает ноль. Получается состояние |01>, которое ищем среди столбцов таблицы. На пересечении |10> и <01| ставим соответствующий множитель, у нас это опять 1/2b12.

Теперь последняя строка гамильтониана |11>. Здесь тоже очевидно будет нулевой элемент за счет действия понижающего оператора.

Все остальные элементы матрицы заполняются нулями, в итоге мы получаем таблицу:

Ее элементы это и есть искомая матрица XY- гамильтониана для двухкубитной системы.

Алгоритм, который я здесь описал, используется для построения гамильтонианов, реализованных в программе.
Записан
Pipa
Администратор
Ветеран
*****
Сообщений: 3658


Квантовая инструменталистка


Просмотр профиля WWW
« Ответ #151 : 26 Декабря 2007, 21:00:46 »

Хорошие предновогодние новости!
   К великой моей радости я стала наконец-то обладательницей последней версии (декабрьской) CodeGear RAD Studio 2007 - мощнейшего инструмента для написания программ. После почти полуторамесячных переговоров (переговоры вела не я) мою версию старого (2002 г. выпуска) компилятора Borland Builder 6.0, на котором я кропала эту программу, сочли достаточным аргументом, чтобы продать новый продукт на правах апгрейда, т.е. с очень большой скидкой. Апгрейд обошелся всего за $625, в то время как его номинальная цена - $1400. Я съэкономила целых 775 доларов! :). Впрочем, заплаченные денежки тоже не из моего кармана, но $1400 мне бы и не дали.
   Новый компилятор действительно монстрообразен, и на него нельзя смотреть без содрогания. Чтобы хотя бы отдаленно представить себе, что он такое, скажу, что он занимает почти гигабайт на диске и инсталлируется целых 45 минут! А еще до этого я три часа качала дестрибутив с сайта фирмы (CodeGear - дочерняя фирма Borland'а, которая теперь специализируется на средствах разработки), размером с целый DVD-диск (4.7 Гиг). И все оттого, что куплена была электронная версия, которую скачать можно только зная индивидуальный пароль. Именно этот пароль и покупаешь за денежку.
   Старого компилятора я поначалу тоже как огня боялась, думала не осилю. Это он по возрасту был старый (2002 г.), а для меня внове. Однако укротить мне его удалось, несмотря на то, что всех его возможностей я так и не испробовала (для программы много чего не понадобилось).
   Из того, что может делать новый компилятор, мне кажется интересной графика. Тот же график, который демонстрирует эволюцию квантовой запутанности, обрел возможность рисовать трехмерные объекты. Я пока не знаю, есть ли в этом необходимость, но картинки меня впечатлили. Предлагаю и всем вам на них посмотреть:





   Причем, программирование таких трехмерных графиков наудивление простое - сообщаешь все известные тебе точки, многократно вызывая функцию AddXYZ(x,y,z) с их кординатами, а компьютер сам строит трехмерное изображение. Признаюсь, что нынешний график запутанности не является трехмерным, а представляет собой лишь подражание трехмерной картинке. А сферу Блоха я вообще рисовала, минуя встроенные стредства компилятора, напрямую обращаясь к старинной библиотеке быстрой графики (OpenGL), встроенной прямо в Windows, причем так давно, что про нее кажется все уже забыли. Она столько же быстрая, сколько неудобная в использовании.
   Доронину С.И.
   Могу поделиться с вами дестрибутивом, выслав вам DVD-копию почтой по вашему домашнему адресу. Это не проблема. Оперативно обновлять такую версию вы не сможете, не обладая правами легального покупателя, но пользоваться ею можно неопределенно долгое время. Сейчас же вопрос стоит только в целесообразности перехода на более сложный в эксплуатации и инсталляции компилятор (на слабом компьютере работа превратится в мучение), решение которого зависит только от необходимости поддержки трехмерной графики. Без такой необходимости, я бы не стала рекомендовать вам на него переходить. Тем более, что у меня самой пока очень плохо получается делать на нем даже то, что на старом компиляторе не вызывало проблем.
Записан
С.И. Доронин
Администратор
Ветеран
*****
Сообщений: 795


Просмотр профиля
« Ответ #152 : 27 Декабря 2007, 00:22:25 »

Отличная новость! Разделяю с Вами радость по этому поводу! :)

Спасибо за предложение! Я тоже несколько опасаюсь новых инструментов и предпочитаю иметь дело с чем-то привычным и знакомым :). Но думаю, если работа над программой будет продолжаться, имеет смысл перейти на более современную версию компилятора. Трехмерная графика впечатляет!  Насчет необходимости в ней, сложно сказать, и хочется, и колется :), по крайней мере, она не помешает. Давайте попробуем. По крайней мере, ничего от этого не теряем, всегда можно будет вернуться к старому доброму шестому Билдеру.

Записан
April
Ветеран
*****
Сообщений: 893


Просмотр профиля WWW
« Ответ #153 : 27 Декабря 2007, 07:17:38 »

Псевдо трехмерная графика - это красиво. Но в вашей программе нет третьей координаты. Я уже спрашивала об этом.
Что может послужит третьей координатой, если вы все это примите и сделаете?
Записан

С.И. Доронин
Администратор
Ветеран
*****
Сообщений: 795


Просмотр профиля
« Ответ #154 : 28 Декабря 2007, 00:23:41 »

April

«Привинтить» третью координату не проблема – дурное дело не хитрое :). Например, это может быть расстояние между кубитами, о чем Вы упоминали. Тогда трехмерный график будет давать запутанность в зависимости от сближения (удаления) кубитов друг от друга. Вот только скорость вычислений здесь, боюсь, будет очень маленькая, т.е. такие трехмерные графики реально будет построить только для малокубитных систем.

Записан
April
Ветеран
*****
Сообщений: 893


Просмотр профиля WWW
« Ответ #155 : 28 Декабря 2007, 09:49:25 »

April
«Привинтить» третью координату не проблема – дурное дело не хитрое :). Например, это может быть расстояние между кубитами, о чем Вы упоминали. Тогда трехмерный график будет давать запутанность в зависимости от сближения (удаления) кубитов друг от друга.
А что, разве такая зависимость существует? Запутанность как-то меняется в зависимости от расстояний между кубитами? Шокированный 
Я имела в виду несколько другое.  Расстояние между кубитами совсем не в качестве третьей коодинаты. А в качестве способа отобразить уже расчитанную, как она сейчас есть, запутанность между кубитами в более удобной форме где-нибудь на дополнительной вкладке. Пусть даже только для малокубитных систем. Т.е. как расстояние изменяется  в зависимости от запутанности. А не наоборот.
Бог с ней, с третьей координатой.
Как сказала Любовь, жизнь сложная штука.  Подмигивающий
По жизни такое бывает: n-ое количество шагов человек, как система, изменяется под влиянием одной Силы (по одному закону, гамильтониану), а следующие - по другому, и потом третьему.. Или еще так: сначала человек ведет себя как 2х кубитовая система, а потом, как 4х или 7ми. Если третья координата существует, то она должна быть не "дурным делом", а чем-то  целесообразным.
Я не предлагаю в качестве третьей координаты  гамильтониан или размерность системы, понятия не имею, во что это выльется на трехмерном графике,  просто размышляю и провожу параллели.  Подмигивающий Мне интересно сопоставить  между собой не только графики запутанностей разных кубитов, у вас это есть, и все хорошо сделано, а графики запутанностей, к примеру, одного и того же  конкретного кубита, но расчитанных на основании разных гамильтонианов. Конечно, все это возможно сделать и сейчас - распечатай 4 графика и любуйся  Смеющийся - только не очень удобно. И не знаю, если ли в этом какой-то смысл для вас.
Записан

С.И. Доронин
Администратор
Ветеран
*****
Сообщений: 795


Просмотр профиля
« Ответ #156 : 29 Декабря 2007, 14:13:25 »

April

Цитата:
А что, разве такая зависимость существует? Запутанность как-то меняется в зависимости от расстояний между кубитами?

Результаты расчета зависят от геометрии, т.е. запутанность зависит не только от расстояния между кубитами, но и от их взаимного расположения. Сейчас реализована самая простая ситуация – линейная цепочка кубитов с одинаковыми расстояниями между ними. Взаимодействие здесь тоже зависит от расстояния, поскольку учитываются все взаимодействия, например, первый кубит с третьим взаимодействует в восемь раз слабее, чем первый со вторым (зависимость 1/r3).
Помимо этого задачу можно считать в приближении взаимодействия ближайших соседей – по кнопке … рядом с гамильтонианами нужно поставить галочку Nearest neighbors. Тогда можно вручную расставить константы взаимодействия между соседними парами кубитов (их число равно N-1).

Записан
April
Ветеран
*****
Сообщений: 893


Просмотр профиля WWW
« Ответ #157 : 02 Января 2008, 15:42:36 »

Результаты расчета зависят от геометрии, т.е. запутанность зависит не только от расстояния между кубитами, но и от их взаимного расположения.
..Сейчас реализована самая простая ситуация – линейная цепочка кубитов с одинаковыми расстояниями между ними.
..по кнопке … рядом с гамильтонианами нужно поставить галочку Nearest neighbors. Тогда можно вручную расставить константы взаимодействия между соседними парами кубитов (их число равно N-1).
От взаимного расположения - это я согласна.
Но достаточно ли задать константы, о которых вы говорите, чтобы задать не только собственно  расстояния между кубитами, но и геометрию  их взаимного расположения? 
Посмотрела в программе, получается, что не достаточно. Для 3х кубитовой системы, к примеру, нет возможности явно задать расстояние между кубитами А и С.
Я правильно понимаю?
А как же тогда можно расчитать решетку кубитов, если в программе реализована только цепочка?
С другой стороны, если выбрать какой-нибудь критерий, ранжировать по нему кубиты, то вполне можно любую многокубитную систему выстроить в цепочку.

PS: чем дальше в лес, тем больше дров.  Подмигивающий  В смысле, все больше и больше вопросов.
« Последнее редактирование: 02 Января 2008, 16:10:41 от April » Записан

С.И. Доронин
Администратор
Ветеран
*****
Сообщений: 795


Просмотр профиля
« Ответ #158 : 05 Января 2008, 23:12:19 »

April

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

Одного расстояния недостаточно, еще нужен угол θij между радиус вектором, связывающем i-й и j-й кубит, и направлением внешнего поля (осью Z). В более общем случае гамильтонианы содержат множитель (1 – 3cos2ij)). Когда у нас цепочка кубитов расположена вдоль поля, угол равен нулю, косинус единица, и от множителя остается коэффициент –2, который учтен в гамильтонианах. Теоретически, задавая углы (наряду с расстояниями), можно любую геометрию предусмотреть, но в программе этого нет пока.

Цитата:
Посмотрела в программе, получается, что не достаточно. Для 3х кубитовой системы, к примеру, нет возможности явно задать расстояние между кубитами А и С.
Я правильно понимаю?

Да, правильно, расстояние между А и С сейчас задается неявно, в 2 раза больше, чем между соседними кубитами, оно складывается из двух равных расстояний А-В и В-С.
В приближении взаимодействий ближайших соседей (когда поставлена галочка у гамильтониана «Nearest neighbors»), расстояния между А-В и В-С можно уже задавать явно, каждое по отдельности, регулируя тем самым расстояние А-С. В этом случае отключено прямое взаимодействие между А и С, но запутанность между ними возникает за счет косвенного взаимодействия, т.к. В взаимодействует как с А, так и с С.
Кубит В в этом случае является посредником, анциллой (служанкой), обеспечивающей запутанность между А и С. Таким образом, режим «ближайших соседей» позволяет подробно проанализировать как работают анциллы :), и в чем различие между прямым и косвенным взаимодействием.

Цитата:
А как же тогда можно расчитать решетку кубитов, если в программе реализована только цепочка?

Пока никак…  Решетки тоже разные бывают, нужна конкретная геометрия и алгоритм, по которому будут определяться все расстояния и углы – их слишком много и вручную вводить очень трудоемко. Решетка гидроксиапатита в этом плане хороша тем, что имеет квазиодномерную структуру, о чем я в книге подробно писал.
С другой стороны, наверное, пока и нет необходимости задавать какую-то сложную геометрию кубитов. Сейчас хотя бы самые общие закономерности запутанности ухватить. Рассматривать конкретные решетки имело бы смысл, например, когда речь идет о специфических «магических» особенностях и свойствах различных кристаллов  :), о сравнении их между собой. А пока достаточно понять хотя бы в чем суть этой магии, здесь не до тонкостей :).

Записан
April
Ветеран
*****
Сообщений: 893


Просмотр профиля WWW
« Ответ #159 : 09 Января 2008, 08:32:27 »

А пока достаточно понять хотя бы в чем суть этой магии, здесь не до тонкостей :).
Согласна.
Просто хочется всего и сразу.  Подмигивающий Потому что реальные задачи всегда сложнее учебных.
Но уже в таком виде мне очень понравилось поведение 5-кубитной системы c гамильтонианом XY.  :) Ну это я уже говорила. В принципе для меня это точка отсчета понимания  - работающий пример. Но он слишком личный, чтобы можно было позволить себе давать публичные подробности.  Шокированный
Да и вопросов еще много. Над которыми раньше я даже не задумывалась. К примеру об углах.  Подмигивающий Прорисовала себе ситуацию, как вижу, и все.  Смеющийся
И графиков много. Печенкой чую, в них есть смысл!  Смеющийся
Ну ладно.
В Новый Год с Новыми Силами!
Ура!
 Смеющийся

Записан

April
Ветеран
*****
Сообщений: 893


Просмотр профиля WWW
« Ответ #160 : 21 Февраля 2008, 18:37:59 »

СИДу.
Мне понравился MQ-гамильтониан.
Он дает периодическое изменение запутанности. Это эстетично и более привычно -  как-то ближе к реальному восприятию мира в его периодической повторяемости - смены дня и ночи, годового цикла и т.п. И ближе к понятию "циклического времени".
Расскажите немного подробнее про этот гамильтониан.
Записан

С.И. Доронин
Администратор
Ветеран
*****
Сообщений: 795


Просмотр профиля
« Ответ #161 : 21 Февраля 2008, 23:41:13 »

СИДу.
Мне понравился MQ-гамильтониан.
Он дает периодическое изменение запутанности. Это эстетично и более привычно -  как-то ближе к реальному восприятию мира в его периодической повторяемости - смены дня и ночи, годового цикла и т.п. И ближе к понятию "циклического времени".
Расскажите немного подробнее про этот гамильтониан.

Многоквантовый (MQ) гамильтониан используется в многоквантовой спектроскопии ЯМР (МК ЯМР). Обычными методами ЯМР возбуждаются переходы только между соседними энергетическими уровнями, что ограничивает возможности метода. В МК ЯМР возбуждаются уже все возможные переходы между различными энергетическими уровнями системы, что позволяет получать значительно больше информации о системе. Например, МК ЯМР позволяет изучать влияние на спиновую релаксацию корреляций магнитных полей, действующих на разные спины (в обычном ЯМР – на одном спине), при этом появляется возможность получать информацию о таких тонких динамических процессах в веществе, как, например, конформационные переходы. МК ЯМР является также, на данный момент, самым мощным методом определения числа скоррелированных спинов в кластерах.

Наблюдаемыми величинами в МК ЯМР- эксперименте являются интенсивности многоквантовых когерентностей. Кстати, данная программа как раз с этого и начиналась, т.е. первоначально в ней считались интенсивности МК-когерентностей :), это то, что у меня было раньше по работе.

МК-эксперимент состоит из четырех периодов: подготовительного, эволюции, смешивания и детектирования. На подготовительном периоде система ядерных спинов облучается специально подобранной многоимпульсной последовательностью, приводящей к возникновению и развитию МК когерентностей. На периоде эволюции динамика ядерных спинов описывается тем самым MQ-гамильтонианом, о котором идет речь.

Если же отойти от ЯМР и посмотреть на этот гамильтониан шире, как на оператор эволюции произвольной системы, то из его структуры можно заметить, что он «срабатывает» и реализует переходы между состояниями двух подсистем (кубитов), когда они находятся в одинаковых состояниях, напр. 00 или 11. Таким образом, под действием этого гамильтониана, когда состояния двух кубитов совпадают, они меняются на противоположные.  Здесь его можно сопоставить с XY гамильтонианом, который действует подобным образом, но только он «переворачивает» пары кубитов когда их состояния противоположны, т.е. 01 или 10.

Записан
April
Ветеран
*****
Сообщений: 893


Просмотр профиля WWW
« Ответ #162 : 22 Февраля 2008, 10:41:57 »

МК-эксперимент состоит из четырех периодов: подготовительного, эволюции, смешивания и детектирования.
Жутко люблю всяческие "четверки", пары пар. В теме "богословие" привела два примера. В вашем примере явно не хватало вот этого пункта - аналога "детектирования"  Подмигивающий
Если же отойти от ЯМР и посмотреть на этот гамильтониан шире, как на оператор эволюции произвольной системы, то из его структуры можно заметить, что он «срабатывает» и реализует переходы между состояниями двух подсистем (кубитов), когда они находятся в одинаковых состояниях, напр. 00 или 11.  Таким образом, под действием этого гамильтониана, когда состояния двух кубитов совпадают, они меняются на противоположные.
На счет переходов при условии одинаковых состояний - это очень даже понятно. В моем контексте это - "взаимодействие в уподобление".  Именно по этому результаты показались мне знакомыми. Это наиболее распространенное явление, наиболее очевидное. Хотя результат такого перехода - "переворачивание" - наименее очевиден. Это чем-то похоже на переход количественных изменений в качественные.
 
Здесь его можно сопоставить с XY гамильтонианом, который действует подобным образом, но только он «переворачивает» пары кубитов когда их состояния противоположны, т.е. 01 или 10.
Это типа "с кем поведешься, от того и наберешься"  Смеющийся -  "взаимодействие в дополнение". Как пример - это мы с Пипой  Подмигивающий. Наименее очевидно, что при взаимодействии мы "превращаемся" друг в друга  Смеющийся.
Если без шуток, это очень существенные замечания - как именно "работает" гамильтониан. Допускаю, что все это видно из формул гамильтонианов, но я, к примеру, не умею так глубоко понимать формулы, и такое словестное разъяснение очень нужно.
В таком же духе, расскажите, пожалуйста, про два других гамильтониана. Для полноты картины. Подмигивающий

Записан

Bit
Старожил
****
Сообщений: 567


Просмотр профиля
« Ответ #163 : 26 Января 2009, 09:42:39 »

Здравствуйте. Можно ли получить Вашу программу?
Записан
С.И. Доронин
Администратор
Ветеран
*****
Сообщений: 795


Просмотр профиля
« Ответ #164 : 26 Января 2009, 13:43:28 »

Здравствуйте. Можно ли получить Вашу программу?

Программу можно скачать отсюда: http://quantmag.ppole.ru/tmp/QE.ZIP
Записан
Страниц: 1 ... 9 10 [11] 12 13 ... 15  Все Печать 
« предыдущая тема следующая тема »
Перейти в:  


Войти

Powered by SMF 1.1.10 | SMF © 2006-2009, Simple Machines LLC