Задание функции

Рассмотрим одномерную вселенную, в которой атомы находятся на одном отрезке длиной 30 ангстрем. Сгенерируем функцию электронной плотности на интервале [0,30] с помощью скрипта compile-func.py. Функция будет иметь вид суммы нескольких гауссовых кривых с центром в разных точках. При этом, центры атомов, находящиеся на расстоянии 1-1.5 ангстрем считаются ковалентно связанными, а расстояние 3-5 ангстрем свойственно для отдельных молекул. Гауссова функция определяется числами lambda, beta, gamma по формуле: gauss = lambdaexp(-(beta^2)(X-gamma)^2) Здесь a^2=a*a, где Lambda задает высоту гауссиана, через которую мы имитируем число электронов у атома, Beta задает ширину гауссиана, значение 3 соответствует релевантной нам ширине колокола плотности около 1 ангстрем, что похоже на реальную ситуацию, Gamma задает положение центра атома. [https://kodomo.fbb.msu.ru/wiki/2018/7/task4]

Модель электронной плотности одномерной системы атомов из двух молекул, состоящих из 2 и 3 атомов соответственно:

Расчет амплитуд и фаз сигналов, моделирующих экспериментальные данные

Теперь смоделируем получение экспериментальных даннных (амплитуды и фазы), которые рассчитываются однозначно по входной функции ЭП с помощью скрипта func2fourier.py (он вычисляет коэффициенты Фурье).

Выходной файл out.txt имеет формат <номер гармоники> <амплитуда> <фаза>.

Описанние дальнейших действий и цели практикума

В эксперименте амплитуды опропределяются не для всех сигналов. Кроме того, интенсивности сигналов (амплитуды) и фазы определяются с ошибкой. Поэтому далее я буду "портить" полученные идеальные экспериментальные данные следующими способами: 1) Буду использовать небольшой интервал полного набора гармоник (с помощью скрипта fourier-filter.py, который отфильрует нужные строки)

2) Добавлю гауссового шума к амплитудам (параметр -F <число> в скрипте func2fourier.py ) и/или фазам (-P <число> в скрипте func2fourier.py), используя полный набор гармоник. Шум искажает все вычисленные амплитуд и фазы.

3) Буду использовать неполный набора гармоник (с помощью скрипта fourier-filter.py, который отфильтрует нужные строки) Результаты буду заносить в ТАБЛИЦУ

В процессе действи 1-3 буду анализировать, как именно неполнота данных из эксперимента влияет на качество восстановления электронной плотности, сравнивая ее с исходной (идеальной) . Для классификации восстановления по качеству были предложены следующие критерии:

Сам Анализ

Использую разные интервалы полного набора гармоник

Рассмотрим несколько полных наборов гармоник без добавления шума. Буду использовать следующие интервалы: 0-2, 0-10, 0-15, 0-20, 0-30, 0-40, 0-50, 0-60

Восстановление функции по отобранным гармоникам (вспомните, что такое гармоника) выполняется скриптом fourier2func.py

Качество восстановления плохое. Мы даже не можем определить количество молекул в структуре, только их примерное положение

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

Качество электронной плотности резко возрастает до среднего. Можем определить положение трех атомов из пяти

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

Качество молекулы, состоящей из трех атомов, теперь можно назвать отличным! Восстановленная электронной плотность совпадает с исходной. Однако качество восстановления для второй молекулы я бы по прежнему назвала хорошим (видно, если воспользоваться параметром -s, центр водорода смещен)

Качество для второй молекулы пока можно назвать только хорошим, положение водорода нельзя определить точно так как "колокол" Гауссовой функции несимметричен

А вот теперь качесвто функции электронной плотности отличное для обеих молекул

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

Добавлю шум амплитуды - 25%, 50%, 75%; буду использовать при этом интервал полного набора гармоник, при котором наблюдается отличное восстановление ЭП (0-60)

При 25% уровне зашумления качество певой молекулы всё ещё можно назвать отличным, но качество второй молекулы портится до хорошего. Пик для водорода можно принять за шум, если не знать, что он есть в составе.

Мы все еще можем определить точное положение атомов в первой структуре - для нее качестов отличное. А качество для второй молекулы снижается до плохого - атом водорода неразличим.

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

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

Добавлю шум фаз - 25%, 50%, 75%; буду использовать при этом интервал полного набора гармоник, при котором наблюдается отличное восстановление ЭП (0-60)

Здесь шум фазы сосатвляет 25%. Качество первой молекулы отличное, но качество второй молекулы портится до хорошего, как и в случае добавления 25% шума к амплитудам.

Точное положение атомов в первой структуре без знания ее состава определить не получится - для нее качество хорошее, близкое к среднему. А качество для второй молекулы снижается до плохого - атом водорода неразличим. Кроме того, шум настольк велик, что можно предположить, что вторая молекула находится сильно правее. Этот результат хуже, чем тот, который был получен при шуме амплитуды 50%, что соответствует теоритическим знаням о бОльшем вкладе фазы в определения элетронной плотности.

Зашумление слишком сильное, чтобы сказать про структуры хоть что-нибудь. С ней совсем нельзя работать. Зашумление фаз очень сильно повлияло на итоговые данные.

Скомбинирую шумы (30% для фаз, 10% для амплитуды и наоборот), буду использовать при этом интервал полного набора гармоник, при котором наблюдается отличное восстановление ЭП (0-60)

Комбинация шумов, несмотря на небольшие значения (30 и 10%), очень сильно портит качество функции электронной плотности. Причем вновь при бОльшем шуме фаз, качество хуже и пики от шума выше.

Использую разные интервалы (2-60, 4-60, 8-60, 16-60) неполного набора гармоник

При снижении полноты данных постепенно снижается и качество функции электронной плотности. Однако я ожидала, что качество даже для неполного набора гармоник 2-60 будет совсем плохим так как вклад первых гармоник в аппроксимацию функции электронной плотности наибольший.