Разбираюсь с решением ОДУ методом Галеркина.
Здесь приводится достаточно подробный и рабочий мануал, все что там есть - работает без проблем. Проблема возникает, когда я начинаю использовать финитные функции вместо определённых на всей области рассмотрения задачи.
Технически, я надеюсь на то, что интегрирование кусочно заданных функций происходит так же как и непрерывных и для нахождения скалярного произведения нет разницы, какие мы используем функции в качестве базиса. Поэтому мой план был прост: сделать, как в приведённом по ссылке туториале какое-нибудь дифференциальное уравнение, а потом заменить базис своим, который состоит из линейных B-сплайнов (в общем, из самых простых финитных функций - линейных, определенных между узлами). Я построил набор таких функций, одна из них построена отдельно, чтобы удовлетворяга ГУ. Изобразил их графики даже, посмотреть, чтобы они были равны 1 в "своих" узлах и обнулялись на соседних. Выглядит всё вполне правильно, система строится с хорошей трёхдиагональной матрицей, но решение не совпадает с аналитическим.
Поиски опечатки результата пока не дали и я засомневался, все ли верно понимаю. Скажите пожалуйста, нет ли чего-то такого, что надо дополнительно учитывать если мы выбираем финитные функции в качестве базиса?