Тестирование программы

(1/24) > >>

С.И. Доронин:
К настоящему времени программа, о которой шла речь в теме «Численный анализ многокубитных систем» http://quantmag.ppole.ru/index.php?option=com_smf&Itemid=34&topic=76.0 в своей основной части реализована.
Тому, кто проявляет к ней интерес, я могу скинуть программу на почту. Думаю, можно переходить к более широкому тестированию. Поначалу нужно человек пять тестеров, которые готовы не только полюбопытствовать, но и высказать свои вопросы и замечания.

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

ksv:
Вышлите мне пожалуйста.

Постараюсь дать замечания и предложения.
Кстати, если программа совсем без описания, то для начала неплохо бы сделать краткое описание (на пол странички А4 для начала будет достаточно) по поводу основных разделов интерфейса, т.е. что, где нажимать и что должно выходить в итоге. Хотя конечно многое можно и "методом тыка" определить :)

April:
Цитата: С.И. Доронин от 22 Декабря 2007, 16:11:05

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

Программу получила. Спасибо.
Вопрос: что такое "варианты" и какие влияния они оказывают?

С.И. Доронин:
ksv

Программу выслал. Несколько слов по интерфейсу.

Имеется две основные формы:
1) первая форма для расчета динамики запутанности;
2) форма для статического анализа запутанности во введенной матрице плотности (Matrix).

Есть еще вспомогательная форма для сферы Блоха (Bloch), где можно с ней подробно познакомиться и «потрогать руками» :). Очень полезный инструмент! –  многие из основных выводов квантовой теории могут быть наглядно проиллюстрированы на сфере Блоха.

На второй форме (Matrix) можно с клавиатуры вводить матрицу плотности, ее вещественную и мнимую часть (в отдельных таблицах Real и Image).
Помимо этого, можно построить МП чистого состояния, задавая амплитуды состояния в стандартном двоичном базисе (закладка Amplitude). Амплитуды можно вводить в произвольных соотношениях, набирая для отдельных амплитуд любые числа, например 1, 2 (одна будет в два раза меньше другой) и т.д., не думая о нормировке. Нормировка выполняется программой автоматически по нажатию кнопки Normalize. После этого нужно построить МП (кнопка Build Matrix) и тогда уже можно считать запутанность (Start).

Матрица плотности, введенная (построенная) на второй форме может использоваться в качестве начального условия для динамической задачи. Для этого на первой форме в выпадающем списке Variant нужно выбрать User def.

Для построения графиков динамики запутанности используются следующие обозначения:
1) символы -> (или <-) означают, что будет использована моя мера запутанности (на основе критерия редукции). Например, A->B соответствует запутанности между первым и вторым кубитом.
Все кубиты обозначаются заглавными латинскими буквами по алфавиту.
2) символы => (или <=) используются для вычисления запутанности на основе РРТ-критерия (Переса-Городецкого).
3) символ ~ , например А~В – запутанность будет считаться на основе меры Вуттерса (согласованность).

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

На различии между вариантами -> и <- или  => и <= я пока не останавливаюсь, здесь нужно говорить более подробно о формулах и алгоритмах.

С.И. Доронин:
April

Цитата:

Вопрос: что такое "варианты" и какие влияния они оказывают?

Это выбор варианта начального условия для динамической задачи. В качестве нач. усл. ρ(0) можно задавать произвольную матрицу плотности, вводя ее вручную с клавиатуры (комплексную в том числе). Для чистого начального состояния можно ρ(0) построить из вектора состояния |Ψ>, задавая амплитуды, о чем я писал в предыдущем сообщении. Строится она в виде проектора ρ(0)= |Ψ><Ψ|.
Для того чтобы МП, построенная на второй форме, была использована в качестве нач. усл. динамической задачи, в списке вариантов нужно выбрать User def. (или User def.(fast), ускоренный вариант).

Помимо этого предусмотрен ряд уже заранее подготовленных нач. условий, которые находятся в списке Variant.
1) А1 - в качестве нач. усл. используется МП чистого сепарабельного состояния, соответствующая вектору

|Ψ>= |1000…0>.

Первый кубит «перевернут» и направлен «вниз», а остальные «вверх». Матрица плотности ρ(0) в этом случае имеет один ненулевой элемент – это единица на главной диагонали, стоящая на пересечении строки и столбца с номером 2N–1+1.

2) Cat-состояние. О нем мы часто говорили, это несепарабельное состояние

|Ψ>=1/√2 (|000…0> + |111…1>).

3) Chaos – сепарабельное состояние с равновесными вещественными амплитудами для всех базисных векторов. Для двух кубитов это

|Ψ>= 1/2 |00>+ 1/2 |01> + 1/2 |10>+ 1/2 |11>.

Это полностью сепарабельное состояние, здесь все кубиты «отделимы», но при этом каждый из них находится в нелокальном суперпозиционном состоянии. Вектор состояния для произвольного числа кубитов имеет вид:

|Ψ>= 1/√2 (|0>A + |1>A) × 1/√2 (|0>B + |1>B) × … × 1/√2 (|0>N + |1>N).

Символ × здесь понимается как знак тензорного произведения.

Матрица плотности таких состояний полностью заполнена (нет ненулевых элементов) и все элементы одинаковы и равны 1/2N.

Помимо чистых состояний, перечисленных выше, в списке вариантов есть смешанные состояния, так называемые состояния Вернера.

ρ(0) = (1–γ) Е/(2N) + γ |Ψ><Ψ|,

где γ – весовой множитель (от 0 до 1), Е- единичная матрица. Это комбинация максимально смешанного состояния (MaxMix) и чистого состояния с соответствующими весовыми множителями. Параметр γ, который «регулирует» смесь, можно вводить с клавиатуры (маленькая кнопка … рядом со списком вариантов).
В качестве чистого состояния, входящего в смесь, предусмотрены несколько вариантов:
а) |Ψ>- Cat-состояние (обозначение MaxMix+Cat);
б) |Ψ>- так называемое W-состояние (обозначение MaxMix+W). Состояние W – это когда в векторе одна единичка, остальные нули, т.е. состояние
|Ψ>= 1/√N (|000…01> + |000…10> + …+ |100…00>).

Помимо этого предусмотрены смешанные состояния с операторами Iz, Ix, Iy – проекции полного момента на соответствующие оси. Обозначения MaxMix+Iz и т.д. Матрица плотности для них имеет вид

ρ(0) = Е/(2N) + βIz.

Параметр β задается с клавиатуры. Он должен лежать в интервале от 0 до 2/(N2N), чтобы у МП не было отрицательных собственных значений.
В плане запутанности это наиболее сложные варианты, поскольку это практически равновесные состояния.

Наконец, последний вариант в списке (Equilibrium) – это равновесное состояние с матрицей плотности


где Н- выбранный тип гамильтониана. Можно это равновесное состояние использовать, как обычно,  в качестве начального условия, но лишь для того, чтобы убедиться в отсутствии динамики запутанности :). Более интересную информацию можно получить, если считать запутанность в зависимости от β, которая имеет физический смысл обратной температуры, т.е. β~1/T. В программе предусмотрена такая возможность, для этого по правой клавиши мыши (на поле с графиком) нужно выбрать Beta.
Здесь, например, можно увидеть критическую температуру, при которой возникает запутанность в системе.
Величина β задается как параметр в качестве максимального значения обратной температуры на оси Х. Шаг по β тогда автоматически пересчитывается в зависимости от выбранного числа шагов.

Навигация

[0] Главная страница сообщений

[#] Следующая страница