• Регистрация
Н/Д
Н/Д 0.00
н/д

MEX64-интерфейс для решения обратных задач в среде MATLAB

16.11.2020

Аннотация: Представлены результаты исследования и разработки комплекса 64-битных программ для решения обратных задач спектроскопии и спектрометрии, состоящего из 64-битного вычислителя и MEX64-интерфейса (MATLAB EXecutable) для связи вычислителя с программной средой Matlab64. Разработаны и созданы MEX64-интерфейсы, написанные на m-кодах MATLAB, реализующие следующие методы решения обратных задач: симплекс-метод, метод обобщенной невязки Тихонова и метод условного градиента на компактных множествах. Разработаны MEX64-интерфейс и динамическая библиотека, написанная на языке Intel Fortran (2018), для решения обратной задачи спектроскопии путем анализа спектров отражения оптических диэлектриков по методу преобразования Крамерс-Кронига. Приведены оптические спектры широкозонного диэлектрика (оксид бериллия), полученные при обработке созданным программным комплексом экспериментальных данных спектров отражения, измеренных в энергетической области вакуумного ультрафиолета.

Авторы: Архандеев И.А., Вардугина С.Ю., Огородников И.Н.

Введение 

Обратные задачи в современном мире имеют фундаментальное значение и необходимость их решения возникает при интерпретации результатов любых, даже самых простых, измерений. В простейшем примере (рис. 1) на вход измерительного устройства поступает входной сигнал ?, в составе которого есть как полезная составляющая ?̅, так и шумовая помеха ?? внешней среды:

? = ?̅ + ??.

При прохождении такого сигнала через измерительное устройство, характеризующееся собственной аппаратной функцией (оператор A), на выходе этого измерительного устройства будет уже измененный сигнал: 

? = ?? + ?? = ? + ??, 

где ?? – аппаратурная погрешность получения аппаратной функции, которая с математической точки зрения трактуется как погрешность оператора A. 

На первом этапе интерпретации результатов измерения требуется из полученного сигнала ? восстановить входной сигнал ?̃ = ? ?, который был бы максимально приближен входному сигналу ?̅. 

Рисунок 1. Схема измерения и обработки сигнала 

Для обсуждения процессов, представленных на модельной схеме (рис. 1), используют специальную терминологию: обратной задачей называют восстановление входного процесса по измеренному выходному процессу ?̃ = ? ?. Обратные задачи состоят в отыскании причин известных или заданных следствий. Они возникают, когда интересующие нас характеристики объекта недоступны для непосредственного наблюдения. Это, например, восстановление характеристик источников полей по заданным их значениям в некоторых точках, восстановление или интерпретация сигнала по известному выходному сигналу и т.д. 

С математической точки зрения любой алгоритм решения обратной задачи потенциально может быть подвержен потере устойчивости и непрерывности решения. В этой связи обратные задачи принято подразделять (Адамар, Тихонов) в математическом смысле на корректные и некорректные. Основными требованиями являются единственность решения, устойчивость и разрешимость на заданном пространстве. Известны различные методы преодоления этих проблем с помощью математической регуляризации (например, регуляризация методом обобщенной невязки Тихонова или регуляризация на компактных множествах методом условного градиента [1]). Все известные методы регуляризации требуют мощное математическое и программное обеспечение.

Целью настоящей работы является исследование возможности и реализация комплекса 64-битных программ для решения обратных задач спектроскопии и спектрометрии [2, 3], состоящего из 64-битного вычислителя и MEX64-интерфейса для связи вычислителя с программной средой MATLAB64.

Математические методы и программные средства 

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

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

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

где ? – точное решение операторного уравнения ?? = ?, ? ∈ ?;

u – точная правая часть уравнения, ? ∈ ?;

?? – приближенная правая часть такая, что ‖? − ?? ‖ ≤ ?, ? > 0;

?h – оператор, действующий из пространства Z в пространство U.

 

где  – функционал Тихонова;

u – точная правая часть уравнения, ? ∈ ?;

?? – приближенная правая часть такая, что ‖? − ??‖ ≤ ?, ? > 0;

?h – оператор, действующий из пространства Z в пространство U с погрешностью h;

??η – мера несовместности.

Параметр ? (параметр регуляризации) находят как корень уравнения:

Все отмеченные алгоритмы являются итерационными и требуют мощное математическое и 64-битное программное обеспечение. В рамках выбранной стратегии реализации программного комплекса вычислитель, обеспечивающий математическую составляющую алгоритма, был реализован на одном из языков высокого уровня (Интел фортран, Си), а для связи вычислителя с программной средой представления данных был разработан MEX64-интерфейс, который осуществляет связь с матричной лабораторией MATLAB64. Выбор MATLAB в качестве среды для представления результатов обусловлен несколькими преимуществами данной математической среды, которая на сегодняшний день является одним из самых востребованных пакетов для научных исследований:

  • собственный язык программирования (m-коды)
  • большое количество наборов расширения (toolbox)
  • существенно расширяющие области применения среды
  • высокое качество инструментов
  • наличие хорошо документированных средств поддержки интерфейса с внешним вычислителем

Последнее преимущество является решающим для выбора данной математической среды для реализации комплекса 64-битных программ. Название MEX-интерфейс происходит от MATLAB Executable, оно позволяет подключать внешние динамические библиотеки (DLL), написанные на языках С/С++/FORTRAN, а также на языке m-кодов. Динамическая библиотека в качестве вычислителя обладает несомненными преимуществами: уменьшение дублирования кода, экономия памяти, модульность архитектуры, а также изолированность кода. 

Для создания MEX-интерфейса на внешних языках (С/С++/FORTRAN) в качестве компилятора был выбран Intel Fortran Compiler, входящий в состав Intel Parallel Studio. Помимо необходимых технических характеристик данный программный продукт поддерживается политикой фирмы Intel в рамках программы по предоставлению университетской студенческой лицензии. 

Результаты разработки 64-битного программного обеспечения 

Динамическая библиотека, реализующая функции внешнего вычислителя, структурно состоит из двух взаимосвязанных программ. Программа mexFunction, на вход которой поступают специальные параметры, полностью описывающие свой тип, размеры и количество. Это позволяет построить DLL таким образом, что требуемая функциональность будет использоваться как в программе, написанной на чистом компилируеммом языке (Fortran, C), так и в программе, написанной на интерпретируемом языке (m-коды). Вторая программа представляет собой собственно вычислитель, реализующий программу-алгоритм, в которой содержится реализуемый алгоритм.

Рисунок 2. Структура стандартного MEX-интерфейса

В качестве основного высокоуровневого языка программирования при написании динамической библиотеки был выбран Интел-фортран (2018). Несмотря на свой внушительный возраст, данный язык программирования постоянно развивается и совершенствуется в соответствии с развитием вычислительной техники, языков и технологий программирования. Поэтому он остается актуальным при решении сложных вычислительных задач, особенно при использовании современных суперкомпьютеров. Интел-фортран унаследовал код и скорость выполнения кода. Первая причина сложилась исторически: фортран – первый высокоуровневый язык программирования, а потому язык использовался в инженерных и научных расчетах. В связи с этим именно на фортране было написано огромное количество библиотек, которые используются в настоящее время. Вторая причина является очень важной с точки зрения расчетов: скорость выполнения фортран-программ намного превосходит таковую для других языков программирования. К такому выводу приводят исследования скорости работы фортран по сравнению с другими языками. Одним из проектов, предоставляющих такого рода данные, является интернет-проект «The Computer Language Benchmarks Game». 

Результаты применения разработанного 64-битного программного обеспечения к анализу спектров оптического отражения по методу Крамерса-Кронига 

В рамках разработки комплекса 64-битных программ был разработан и реализован MEX64-интерфейс, динамическая библиотека которого была написана на Интел-фортран. Вычислитель библиотеки реализует анализ спектров отражения широкозонных диэлектриков, используя разностный метод преобразования Крамерс-Кронига [4]. С математической точки зрения формализм преобразований Крамерса-Кронига, используемый при анализе спектров отражения диэлектриков, может рассматриваться как решение обратной задачи со всей вытекающей из этой классификации проблематикой. Разработанный комплекс позволяет рассчитывать полный комплекс оптических функций. Входными параметрами программного алгоритма является экспериментальный спектр оптического отражения, представленный в виде массива значений по заданным энергиям, а также набор параметров для вычисления: начальная энергия спектра (эВ), шаг по энергии (эВ), точка нормализации, коэффициент отражения в точке нормализации (%), энергетическое положение края фундаментального поглощения (эВ), число измерений, коэффициент масштаба, угол отражения (градусы). Результатом выполнения программы являются 2 массива значений: оптимизированный набор параметров модели, спектров оптических функций r(E), θ(E), ?(?), ?(?), ?1(?), ?2(?). 

Для демонстрации результатов была написана программа-интерфейс, в которой описаны входные параметры, вызывается динамическая библиотека, реализующая метод Крамерса-Кронига, производится расчет и результаты передаются в среду MATLAB. Далее в программе производится графическое отображение полученных функций с помощью встроенных инструментов. На рисунках 3-6 представлены результаты обработки экспериментальных данных – спектров оптического отражения кристаллов оксида бериллия в области вакуумного ультрафиолета (ВУФ). Обработка спектров выполнена при помощи разработанного 64-битного программного комплекса, включающего динамическую библиотеку вычислителя и MEX64-интерфейс. Графическое представление результатов обработки выполнено в среде MATLAB с использованием инструментов визуализации. Энергетическая область 10.0-10.35 eV соответствует краю фундаментального поглощения BeO, обусловленному экситонным поглощением с максимумом около 10.35 eV. Низкотемпературный порог начала межзонных переходов Eg = 10.63 eV [5]. Полученные спектры оптических функций создают основу для последующего детального изучения экситонных состояний и электронных переходов в области урбаховского «хвоста» края фундаментального поглощения, в области начала межзонных переходов и в области переходов «зона-зона».

Рисунок 3. Экспериментальные спектры отражения кристалла BeO в ВУФ-области спектра при 293 K

Рисунок 4. Рассчитанный по методу Крамерса-Кронига фазовый угол 

Рисунок 5. Рассчитанные по методу Крамерса-Кронига оптические функции ε1€, ε2€ 

Рисунок 6. Рассчитанные по методу Крамерса-Кронига оптические функции n и k 

Заключение 

Разработан и реализован 64-битный программный комплекс для решения обратных задач спектроскопии и спектрометрии (симлекс-метод, метод регуляризации на компактных множествах, регуляризация по методу А.Н.Тихонова), состоящий из динамической библиотеки вычислителя (интел-фортран) и MEX64-интерфейса доступа к нему из среды MATLAB. Работоспособность программного комплекса проверена путем решения обратной задачи спектроскопии на массиве экспериментальных данных в виде спектра оптического отражения кристалла BeO, измеренного в ВУФ-области спектра при возбуждении синхротронным излучением. Для этого был реализован MEX64-интерфейс и динамическая библиотека, реализующая метод преобразований Крамерса-Кронига, написанного на Intel Fortran Compiler (2018) и среда Visual Studio. Разработанный программный комплекс позволил получить полный набор спектров оптических функций, создающий основу для последующего детального изучения экситонных состояний и электронных переходов в области урбаховского «хвоста» края фундаментального поглощения, в области начала межзонных переходов и в области переходов «зона-зона». 

Библиографический список 

  1. Тихонов А.Н. Нелинейные некорректные задачи / А.Н. Тихонов, А.С. Леонов, А.Г. Ягола. – Москва: Наука: Физ.-мат. лит., 1995. – 310 с. – ISBN 5-02-014582-3.
  2. Огородников И. Н. Введение в обратные задачи физической диагностики: специальные главы высшей математики для технологов: учеб. пособие / И.Н. Огородников; Урал. федер. ун-т им. первого Президента России Б.Н. Ельцина, Физ.-техн. ин-т. – Екатеринбург: Изд-во Урал. ун-та, 2017. – 197 с. – ISBN 978-5-7996-1950-3.
  3. Огородников И.Н. Введение в обратные задачи физической диагностики. Модельные расчеты в МАТЛАБ: учеб. пособие / И.Н. Огородников; Урал. федер. ун-т им. первого Президента России Б.Н. Ельцина, Физ.-техн. ин-т. – Екатеринбург: Изд-во Урал. ун-та, 2017. – 126 с. – ISBN 978- 5-7996-2261-9.
  4. Соболев В.В. Методы вычислительной физики в теории твердого тела. Электронная структура полупроводников / В. В. Соболев, В. В. Немошкаленко; Акад. наук УССР, Ин-т металлофизики. – Киев: Наук. думка, 1988. – 422 с. – ISBN 5-12-009316-7.
  5. Огородников И.Н. Радиационные воздействия излучений на материалы электронной техники. Оксид бериллия: учеб. пособие / И.Н. Огородников, В.Ю. Иванов; Урал. федер. ун-т им. первого Президента России Б.Н. Ельцина, Физ.-техн. ин-т. – Екатеринбург: Изд-во Урал. ун-та, 2019. – 319 с. – ISBN 978-5-7996-2601-3.

 

Данный материал взят из электронного научного архива Уральского Федерального Университета.

Теги

    16.11.2020

    Комментарии