velikol.ru
  1 2 3 ... 24 25
^

От автора


Полиномы были первой серьезной темой, с которой начались мои занятия вычислительной математикой. В 50-х годах в аспирантуре я занимался дифференциальной геометрией. Мой научный руководитель Абрам Миронович Лопшиц, человек очень широких интересов, начал в это время заниматься сам и привлек меня сначала к линейной алгебре, а затем и к полиномам. По договоренности с издательством он поручил мне писать справочник [1], взяв на себя обязанности научного редактора. О требовательности А.М.Лопшица к своим публикациям ходили легенды, поэтому наша работа над книгой оказалась для меня школой, оставившей след на всю жизнь.

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

Живой интерес к справочнику проявлял заведующий кафедрой Леонид Михайлович Рыбаков, он во многом способствовал нашей работе. На одной из конференций Леонид Михайлович попросил меня сделать обзорный доклад по многочленам. В докладе я обратил внимание на то, что ни один метод в то время не гарантировал нахождения корней. При обсуждении доклада Леонид Михайлович вышел к доске и со свойственной ему четкостью изложения сформулировал идею алгоритма, гарантирующего нахождение всех действительных корней полинома. Вскоре он по просьбе

А.М.Лопшица оформил заметку [2], а мне на курсах по программированию удалось реализовать этот метод (это была моя первая программа) [3].

Сформировавшийся интерес к вычислительной математике вскоре привел меня на работу в Федеральном ядерном центре, а затем и других организациях, нуждающихся в серьезных вычислениях. Мне довелось заниматься разработкой методов и созданием программных комплексов для задач ядерной физики, механики, физики взрыва и соударения, турбулентной конвекции, рассеяния лазерного излучения, вопросами распараллеливания вычислений, проблемами точности при решении плохо обусловленных задач и многим другим. И вот через 40 лет судьба снова свела меня с многочленами. Руководство NSTL в лице Л. В. Нестеренко предложило мне написать обучающий курс по вычислениям с полиномами.

Что изменилось за эти 40 лет в самих методах и в наших представлениях о них? Появились, конечно, новые методы. Наиболее важным, по-видимому, является создание алгоритмически отработанной реализации метода спуска [4]. Этот метод теоретически обеспечивает гарантированное нахождение комплексных корней многочлена. Популярным одно время был очень экономичный метод Мюллера (метод парабол). Он не гарантирует нахождение всех корней, но чаще всего находит их правильно. По мере роста быстродействия ЭВМ фактор экономичности становится менее существенным, что делает предпочтительным метод спуска. Впрочем, использующееся в обеих методах понижение степени полинома после нахождения очередного корня приводит к потере точности, что может привести к потере части корней. Таким образом, вопрос об автоматизированном (путем обращения к процедуре) нахождении всех корней нельзя считать полностью решенным. Вероятно, можно построить такую процедуру с использованием арифметики переменной точности, но это потребует тщательного анализа погрешностей в процессе вычислений.

С другой стороны, рост производительности ПК и развитие графических методов дают возможность в интерактивном режиме найти все корни и оценить их погрешности. Автором в процессе работы над учебником был разработан метод MOG, который в сочетании с методом аргумента и графическими средствами решает поставленную задачу.

Такие классические методы, как метод Лобачевского или метод Бернулли, не находят сейчас широкого применения, но заложенные в них идеи по-прежнему интересны и способствуют появлению новых алгоритмов, например, [5].

Наиболее значительные изменения в представлениях о полиномах связаны с понятием обусловленности. Мощность вычислительных машин сделала возможным выполнение операций с полиномами высокой степени. Однако возникающая при этом потеря точности часто обесценивает получаемые результаты. Развитие вычислительной математики в значительной части связано с разработкой методов, менее чувствительных к обусловленности задачи, а также к созданию средств оценки обусловленности. Применительно к алгебраическим задачам проблема обусловленности очень обстоятельно проанализирована в прекрасной книге Уилкинсона [6]. Частично этому посвящена и моя работа [7].

Развитие интерфейса пользователя с машиной, особенно с персональным компьютером, повышает роль графических методов. Эти методы позволяют, например, не только найти нужные корни, но и оценить точность отдельных корней, обусловленность задачи в целом.

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


PS. Обучающий курс состоит из учебника и программы. Предполагалось, что при чтении учебника примеры решаются с помощью программы. Однако, со времени написания программы прошло более 10 лет, интерфейс сильно устарел. Поэтому в данной публикации решение примеров, особенно их графические данные, добавлены в текст учебника. Таким образом, им можно пользоваться без программы. 09.08.2010




<< предыдущая страница   следующая страница >>