Ложное решение: цена скорости в математических расчетах
Группа математиков из РУДН и Объединённого института ядерных исследований проверила, насколько надежен один из самых быстрых численных методов решения дифференциальных уравнений, когда уравнение становится нелинейным. Дифференциальные уравнения описывают, как меняются во времени или пространстве самые разные величины — от движения тел до химических реакций и биологических процессов. Решать их точно удаётся редко, поэтому на практике используют приближённые компьютерные методы. Один из них — метод Чебышёвской коллокации, или псевдоспектральный метод. Он раскладывает искомое решение в сумму специальных многочленов Чебышёва и подбирает коэффициенты так, чтобы уравнение выполнялось в выбранных точках. При добавлении точек точность может расти очень быстро, экспоненциально — это главное достоинство метода.
В линейном случае всё относительно благополучно: метод приводит к системе линейных алгебраических уравнений, которую можно решать эффективно, а иногда даже выписывать решение по явным формулам. Сложности начинаются с нелинейными уравнениями. Тогда вместо линейной системы получается система нелинейных алгебраических уравнений, и у неё может быть много решений. Численные итерационные методы, которые постепенно подправляют приближение, сильно зависят от стартовой догадки. Если она неудачна, метод может сойтись к «лишнему» решению, которое не имеет отношения к настоящему ответу. При этом заранее не известно ни сколько решений у системы, ни где они находятся.
Исследователи решили посмотреть на проблему не только численно, но и аналитически. Они использовали систему компьютерной алгебры Sage, которая умеет решать уравнения не приблизительно, а точно, в символьном виде. На простом тестовом нелинейном уравнении первого порядка с известным точным решением они построили систему уравнений для коэффициентов при небольшом числе точек — сначала для четырёх, затем для пяти. Оказалось, что в обоих случаях система имеет четыре действительных решения. Только одно из них действительно близко к точному решению задачи, а остальные три являются лишними. При увеличении числа точек лишние решения меняются, а истинное приближается к точному — это подтверждает быструю сходимость метода, но одновременно показывает его уязвимое место.
Главный вывод работы состоит в том, что экспоненциальная точность метода может сопровождаться быстрым ростом числа решений вспомогательной алгебраической системы. Если это так, то преимущество метода может частично обесцениваться: чтобы найти правильное решение, придётся разбираться с множеством посторонних. Авторы подчёркивают, что для нелинейного случая не доказаны даже существование и единственность решения получающейся системы, а вопрос о числе действительных решений пока не закрыт. Для полного ответа нужны более ресурсоёмкие расчёты.
При этом исследователи видят и практический путь. Можно точно решать систему при небольшом числе точек, находить правильное решение, а затем использовать его как хорошую стартовую догадку для расчётов с большим числом точек. Сочетание символьных и численных методов, по их мнению, способно сделать решение нелинейных дифференциальных уравнений более надёжным. Смысл работы прост: быстрые компьютерные методы — это не только высокая точность, но и риск получить «решение», которое на самом деле является математическим артефактом. Чем сложнее модель, тем важнее проверять, какое именно решение нашла программа.
Исследование опубликовано в журнале «Программирование».
Изображение на обложке: разработано Magnific