Расчёт вероятности нейтринных осцилляций в веществе с переменной плотностью в рамках ПО GNA (программирование)
Диплом

Проект GNA — Global Neutrino Analysis — совместное измерение параметров нейтрино из данных нескольких экспериментов (JUNO, Daya Bay и др.) и включает в себя разработку одноименного ПО. В рамках ПО GNA мы работаем над решением следующих проблем, возникающих при анализе данных:

  • Разработка общего фреймворка для реализации сложных моделей экспериментов с большим количеством исследуемых параметров.

  • Возможность с одной стороны гибкой высокоуровневой настройки моделей, а с другой, контроль низкоуровневых особенностей вычисления. Высокая эффективность.

  • Разделение физических и программистских задач.

В GNA сложная функция, выполняющая, например, вычисление сигнала, наблюдаемого в эксперименте строится как направленный граф. Каждый узел графа выполняет некоторую элементарную операцию (матричное произведение, вычисление сечения взаимодействия, интегрирования и др) и называется трансформацией. Трансформация производится сразу на массиве данных, а её результат кешируется, что позволяет реализовать подход ленивых вычислений.

В пакет GNA входит инструментарий для создания и настройки дерева вычислений, статистического анализа данных, функции для оформления результатов.

 

Проект находится на альфа версии, тем не менее уже используется несколькими группами для анализа данных эксперимента Daya Bay и оценки чувствительности эксперимента JUNO. Текущая версия документации: http://gna.pages.jinr.ru/gna/.

 

Расчёт вероятности нейтринных осцилляций в веществе с переменной плотностью в рамках ПО GNA

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

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

Эффективным численным методом для решения таких задач является использование разложения Магнуса. Данный метод был применён к нейтринным осцилляциям в работе [arXiv:1611.06814], было показано, что он является вычислительно эффективным по сравнению с обычно применяемыми численными методами и сохраняет унитарность на каждом шаге.

В рамках задачи предлагается:

  • Изучение математических основ разложения Магнуса и нейтринных осцилляций в веществе.
  • Реализация прототипа интегратора на основе разложения Магнуса на языке Python (возможно участие в ЛСП по этому пункту).
  • Реализация полного интегратора с адаптивным шагом на С++.

  • Создание дружелюбного пользовательского интерфейса.

  • Добавление интегратора в пакет для анализа данных  GNA, разрабатываемый в ЛЯП ОИЯИ.

Предполагаемый технологический стек:

  • Python: numpy, scipy, matplotlib, Jupyter Notebooks.

  • C++: C++14(17), Eigen, Boost.

К обязательным требованиям относятся:

  • Документация кода в doxygen, пользовательская документация в reStructuredText, подготовка unit-тестов.

 

Нейтринные осцилляции, численные методы, GNA, разработка ПО