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

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

Издательство
Федеральное государственное бюджетное учреждение "Российская академия наук"
Номер выпуска
1
Язык
Русский
Страницы
25-34
Статус
Опубликовано
Год
2021
Организации
  • 1 Кафедра прикладной информатики и теории вероятностей, Российский университет дружбы народов
Дата создания
16.12.2021
Дата изменения
16.12.2021
Постоянная ссылка
https://repository.rudn.ru/ru/records/article/record/79693/
Поделиться

Другие записи

Кулябов Д.С., Королькова А.В.
Программирование. Федеральное государственное бюджетное учреждение "Российская академия наук". 2021. С. 44-50