2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Формирователь коэффициентов численных решателей ДУ
Сообщение19.10.2022, 14:53 
Аватара пользователя


09/05/06
115
Задача: Упростить код для численных решателей разных порядков с помощью динамического формирования коэффициентов.

Не подскажет ли кто готовых символьных генераторов (скрипта в maple, например) коэффициентов для численных решателей ДУ?

Пример кода такого решателя для разных порядков приведён тут: rkfixed.cs и Adams.cs. Представлены коэффициенты для RK1 - RK6 и AB1 - AB8.

Мне хотелось бы иметь одну готовую функцию, которая при старте программы создаст необходимый набор коэффициентов для разумного количества порядков. Есть ли какой-то справочник, где не для математика формулы эти выписаны в более менее удобном для программирования общем виде?

 Профиль  
                  
 
 Re: Формирователь коэффициентов численных решателей ДУ
Сообщение19.10.2022, 17:00 


31/08/22
183
Так численно или символьно? Разница колоссальна.

https://github.com/mdmxfry/DE-methods?ysclid=l9fp304s7q370553504#runge_kutta
https://www.alglib.net/diffequations/rungekutta.php
В MathNet вроде что то было, можно код оттуда тисануть.

uni в сообщении #1567123 писал(а):
Есть ли какой-то справочник, где не для математика формулы эти выписаны в более менее удобном для программирования общем виде?

:mrgreen: мечта...

 Профиль  
                  
 
 Re: Формирователь коэффициентов численных решателей ДУ
Сообщение20.10.2022, 06:45 
Аватара пользователя


09/05/06
115
Расчёт коэффициентов символьно, результат в виде численных дробей, как в примере Adams.cs. Сами коэффициенты - это числа для известной общей формы численного решателя. Меня заколебало искать эти коэффициенты и копипастой заниматься. Хочется уже раз и навсегда вычислить их гарантированно правильно в общем виде. Я уже ошибался, занимаясь копированием, ошибку не сразу найдёшь потом.
Я знаю, что должны быть где-то эти формулы, так как их приводят в лекциях по численным решателям, где говорят типа, что легко показать и не показывают как действительно выполнить расчёт этих коэффициентов в символьном пакете. Лень самому этим заниматься, а какие статьи смотреть не знаю. Все либо на готовом сидят, либо пропускают вывод, считая, что любой это может сделать.

 Профиль  
                  
 
 Re: Формирователь коэффициентов численных решателей ДУ
Сообщение20.10.2022, 07:29 
Заслуженный участник


13/12/05
4604
Насколько я знаю в случае метода Рунге-Кутты для произвольного порядка формул нет. До седьмого порядка только вроде есть.

-- Чт окт 20, 2022 09:30:47 --

uni в сообщении #1567180 писал(а):
какие статьи смотреть не знаю

Бахвалов Численные методы

 Профиль  
                  
 
 Re: Формирователь коэффициентов численных решателей ДУ
Сообщение20.10.2022, 07:42 
Аватара пользователя


09/05/06
115
Спасибо, посмотрю. Мне не только методы Рунге-Кутты нужны, но и другие явные и неявные, для которых есть общая форма и способ вычисления коэффициентов. Это для математического пакета SMath Studio, я в нём поддерживаю разные решатели (их там более 30 из разных библиотек). Для академических целей и с целью сравнения их между собой хочется иметь какой-то базовый набор, где я мог бы сослаться на такой-то справочник в коде, что мол взято оттуда, либо приложить maple-скрипт, который генерирует коэффициенты для какой-то формы решателя (не первые 4 порядка, которые есть везде, но и порядки повыше). Сейчас либо копипаста коэффициентов неизвестно откуда, либо сторонняя библиотека и проверяешь по факту: порядок больше - ошибка меньше.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group