stringtranslate.com

Теория приближения

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

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

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

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

Оптимальные многочлены

После выбора области определения (обычно интервала) и степени полинома сам полином выбирается таким образом, чтобы минимизировать ошибку в худшем случае. То есть, цель состоит в том, чтобы минимизировать максимальное значение , где P ( x ) — аппроксимирующий полином, f ( x ) — фактическая функция, а x изменяется в выбранном интервале. Для хорошо себя ведущих функций существует полином степени N , который приведет к кривой ошибок, которая колеблется вперед и назад между и в общей сложности N +2 раз, давая ошибку в худшем случае . Видно, что существует полином степени N , который может интерполировать N +1 точек на кривой. То, что такой полином всегда оптимален, утверждается теоремой о равноколебательности . Можно создать вымышленные функции f ( x ), для которых такого полинома не существует, но на практике это случается редко.

Например, графики, показанные справа, показывают ошибку аппроксимации log(x) и exp(x) для N  = 4. Красные кривые для оптимального полинома находятся на уровне , то есть они колеблются между и точно. В каждом случае число экстремумов равно N +2, то есть 6. Два из экстремумов находятся в конечных точках интервала, на левом и правом краях графиков.

Ошибка P ( x ) −  f ( x ) для полинома уровня (красный) и для предполагаемого лучшего полинома (синий)

Чтобы доказать это в общем случае, предположим, что P — многочлен степени N , обладающий описанным свойством, то есть он порождает функцию ошибок, которая имеет N  + 2 экстремума, чередующихся знаков и равных величин. Красный график справа показывает, как может выглядеть эта функция ошибок при N  = 4. Предположим, что Q ( x ) (чья функция ошибок показана синим цветом справа) — другой многочлен степени N , который является лучшим приближением к f, чем P . В частности, Q ближе к f, чем P для каждого значения x i , где встречается экстремум Pf , поэтому

Когда максимум Pf достигается при x i , тогда

И когда минимум Pf достигается при x i , тогда

Итак, как видно из графика, [ P ( x−f ( x )]−[ Q ( x−f ( x )] должны менять знак для N  +2 значений x i . Но [ P ( x−f ( x )]−[ Q ( x )−f  ( x ) ] сводится к P ( x−Q ( x ), который является многочленом степени N. Эта функция меняет знак по крайней мере N +1 раз , поэтому по теореме о промежуточном значении она имеет N +1 нулей, что невозможно для многочлена степени N.

Чебышевское приближение

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

Если вычислить коэффициенты в разложении Чебышева для функции:

а затем отсекаем ряд после члена, получаем полином N- й степени, приближающий f ( x ).

Причина, по которой этот полином близок к оптимальному, заключается в том, что для функций с быстро сходящимися степенными рядами, если ряд обрезается после некоторого члена, общая ошибка, возникающая из-за обрезания, близка к первому члену после обрезания. То есть, первый член после обрезания доминирует над всеми последующими членами. То же самое верно, если разложение выполняется в терминах многочленов bucking. Если разложение Чебышева обрезается после , ошибка примет форму, близкую к кратной . Многочлены Чебышева обладают тем свойством, что они ровные — они колеблются между +1 и −1 в интервале [−1, 1]. имеет N +2 экстремумов уровня. Это означает, что ошибка между f ( x ) и ее разложением Чебышева до близка к функции уровня с N +2 экстремумами, поэтому она близка к оптимальному многочлену N степени.

На графиках выше синяя функция ошибок иногда лучше (внутри) красной функции, но иногда хуже, что означает, что это не совсем оптимальный полином. Расхождение менее серьезно для функции exp, которая имеет чрезвычайно быстро сходящийся степенной ряд, чем для функции log.

Приближение Чебышева является основой квадратуры Кленшоу–Кертиса , метода численного интегрирования .

Алгоритм Ремеза

Алгоритм Ремеза (иногда пишется как Ремес) используется для получения оптимального полинома P ( x ), аппроксимирующего заданную функцию f ( x ) на заданном интервале. Это итеративный алгоритм, который сходится к полиному, имеющему функцию ошибок с N +2 уровнями экстремумов. По теореме выше этот полином является оптимальным.

Алгоритм Ремеза использует тот факт, что можно построить полином N- й степени, который приводит к ровным и чередующимся значениям ошибок, если заданы N +2 контрольные точки.

Учитывая N +2 контрольных точек , , ... (где и предположительно являются конечными точками интервала аппроксимации), необходимо решить следующие уравнения:

Знаки правых сторон чередуются.

То есть,

Поскольку , ..., были даны, все их мощности известны, и , ..., также известны. Это означает, что приведенные выше уравнения представляют собой всего лишь N +2 линейных уравнений относительно N +2 переменных , , ..., , и . Учитывая контрольные точки , ..., , можно решить эту систему, чтобы получить многочлен P и число .

На графике ниже показан пример этого, производящий полином четвертой степени, приближающий по [−1, 1]. Тестовые точки были установлены на −1, −0,7, −0,1, +0,4, +0,9 и 1. Эти значения показаны зеленым цветом. Результирующее значение составляет 4,43 × 10 −4

Ошибка полинома, полученного на первом шаге алгоритма Ремеза, аппроксимирующего e x на интервале [−1, 1]. Вертикальные деления составляют 10 −4 .

График ошибок действительно принимает значения в шести контрольных точках, включая конечные точки, но эти точки не являются экстремумами. Если бы четыре внутренние контрольные точки были экстремумами (то есть функция P ( x ) f ( x ) имела там максимумы или минимумы), многочлен был бы оптимальным.

Второй шаг алгоритма Ремеза состоит в перемещении контрольных точек в приблизительные местоположения, где функция ошибки имела свои фактические локальные максимумы или минимумы. Например, глядя на график, можно сказать, что точка в −0,1 должна была быть около −0,28. Способ сделать это в алгоритме — использовать один раунд метода Ньютона . Поскольку известны первая и вторая производные P ( x ) − f ( x ) , можно приблизительно рассчитать, насколько далеко нужно переместить контрольную точку, чтобы производная стала равна нулю.

Вычисление производных полинома является простым. Также необходимо уметь вычислять первую и вторую производные f ( x ). Алгоритм Ремеза требует способности вычислять , , и с чрезвычайно высокой точностью. Весь алгоритм должен быть выполнен с более высокой точностью, чем желаемая точность результата.

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

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

Основные журналы

Смотрите также

Ссылки

Внешние ссылки