/
Автор: Теслер Г.С. Благовещенский Ю.В.
Теги: математика математический анализ алгоритмы численные методы эвм вычислительная математика
Год: 1977
Текст
ОГЛАВЛЕНИЕ
Стр.
Введение 3
Глава 1. Методы вычисления функций " 5
1. Степенные ряды 5
2. Ряды многочленов 14
3. Рациональные приближения и цепные дроби 22
4. Итеративные процессы 32
5. Бесконечные произведения 49
6. Интерполирование, табулирование и субтабулирование функций 51
Глава 2. Методы ускорения счета 64
1. Уменьшение интервала изменения аргумента . 64
2. Схема Горнера для вычисления многочленов < 66
3. Методы Мотцкина — Белаги — Пана 68
4. Методы вычисления рациональных функций 72
5. Улучшение сходимости степенных рядов 75
6. Ускорение сходимости дробно-рациональных выражений 80
7. Ускорение сходимости итеративных процессов 84
Глава 3. Начальные приближения 85
1. Аппроксимация аналитически заданных функций полиномами
низких степеней 85
2. Аппроксимация аналитически заданных функций рациональными
выражениями 91
3. Постоянные начальные приближения 97
4. Линейные начальные приближения 99
5. Квадратичные начальные приближения 101
6. Экономичные начальные приближения 102
Глава 4. Алгоритмы вычисления элементарных функций 107
1. Степенные функции 107
2. Показательная функция 125
3. Логарифмическая функция 136
4. Тригонометрические функции 145
5. Обратные тригонометрические функции 160
6. Гиперболические функции 171
7. Обратные гиперболические функции 182
Глава 5. Особенности реализации алгоритмов на ЭВМ 187
1. Представление чисел и особенности реализации алгоритмов на ЭВМ
с плавающей запятой 187
2. Представление чисел и особенности реализации алгоритмов на ЭВМ
с фиксированной запятой 19)
3. Особенности реализации алгоритмов на ЭВМ с произвольной
разрядностью 193
4. Выбор алгоритмов вычисления 194
Приложение . 199
Литература 201
518
Б68
УДК 518.5
Вычисление элементарных функций на ЭВМ. Благовещен*
с к и й Ю- В., Т е с л е р Г. С. «Техшка», 1977, 208 с.
Приведены общие методы вычисления, а также специальные
методы получения и использования алгоритмов для вычисления
элементарных функций. Описаны методы ускорения счета,
получения начальных приближений, алгоритмы вычисления
элементарных функций и особенности их реализации на ЭВМ. Подробно
изложены методы, основанные на итеративных процессах и
пригодные для работы на ЭВМ с переменной разрядностью.
Рассчитана на инженерно-технических работников,
занимающихся математическим обеспечением ЭВМ и систем.
Табл. 15, библиогр. 137.
Рецензент акад. АН УССР И. И. Ляшко
Редакция литературы по энергетике, электронике, кибернетике
и связи
Заведующий редакцией инж. 3. В. Божко
30502-003
М202(04)-77
С) Издательство «Техшка», 1977 г.
ВВЕДЕНИЕ
В процессе решения многих практических задач приходится
исследовать функциональные зависимости между величинами, которые
приближенно либо точно выражаются с помощью элементарных
функций. Необходимо отметить, что вычисление этих функций
занимает значительную часть времени решения всей задачи на ЭВМ.
Под элементарной функцией понимается функция одного
аргумента у = / (х), содержащая конечное число вычислительных
операций, производимых над аргументом, зависимой переменной и
некоторыми постоянными. Здесь под вычислительными операциями
подразумеваются четыре арифметических действия, возведение в
степень (целую и дробную), взятие тригонометрических и обратных
им функций, логарифмирование и потенцирование.
Элементарные функции обычно делят на алгебраические,
которые можно задать с помощью алгебраических выражений, и
трансцендентные. Алгебраические функции, в свою очередь, делят на
рациональные и иррациональные. Примером простейшей
алгебраической функции может служить степенная функция у = хп, где
п — действительное число. Простейшими трансцендентными
функциями являются: показательная у = ах, где а > 0 и аф 1;
логарифмическая loga х, где а > 0 и а Ф 1; тригонометрические sin x,
cos л; (x£l— оо, -|- оо]); обратные тригонометрические у =
= arcsin х \у £ (— -^-, -|-).], у = arctg х [у £ (— ^-, -у)] и др.
Кроме вышеперечисленных элементарных функций, на практике
часто употребляются и более сложные, такие как прямые и обратные
гиперболические функции, алгебраические многочлены, дробно-
рациональные алгебраические функции.
Элементарные функции принадлежат к классу функций,
представляемых степенными рядами. Этот класс обладает той важной
особенностью, что производная элементарной функции всегда
является элементарной функцией, т. е. операция дифференцирования не
выводит функцию из класса элементарных. Интегрирование часто
выводит функцию из класса элементарных, т. е. интеграл от
элементарной функции не всегда может быть выражен с помощью
конечного числа элементарных функций.
Основными методами для вычисления элементарных функций
на ЭВМ являются следующие: степенные разложения,
многочленные и рациональные приближения, разложения в цепные дроби и
а
итеративные процессы. Кроме того, в последнее время широко
используются кусочно-многочленная и кусочно-рациональная
аппроксимации. Иногда для вычисления элементарных функций
используют решения дифференциальных уравнений.
Выбор метода вычисления элементарных функций на ЭВМ
зависит от таких важнейших характеристик ЭВМ, как быстродействие,
разрядность, форма представления чисел, емкость запоминающих
устройств и т. д. До последнего времени наибольшее
распространение имели алгоритмы, использующие многочленную
аппроксимацию. Для ЭВМ, работающих с произвольной разрядностью,
специализированных и проблемно-ориентированных, широко
используются алгоритмы, основанные на итеративных процессах.
В связи с сокращением разрыва между временем выполнения
©пераций умножения и деления широкое распространение
получили алгоритмы,"'основанные на рациональной аппроксимации. Для
увеличения скорости вычисления элементарных функций широко
используется кусочно-многочленная и кусочно-рациональная
аппроксимации, при которых весь заданный интервал (а, Ь)
разбивается на k подынтервалов Дг На каждом подынтервале Д;
используется многочлен либо рациональная функция низких степеней.
Подынтервалы выбираются так, чтобы Д, f) Д/ = 0 при i Ф j
к
и U \ «= (а, Ь).
Вопросу вычисления элементарных функций посвящено
большое количество работ. Среди них есть несколько монографий,
пользующихся наибольшей популярностью у практиков [47, 105,
108, 111]. Однако эти книги в основном имеют характер справочных
либо учебных пособий. Из-за этого широкий круг вопросов,
возникающих при вычислении элементарных функций, остался
неосвещенным. Настоящая работа возникла как результат обобщения опыта
по созданию и использованию алгоритмов вычисления элементарных
функций на 'ЭВМ. Авторы стремились.дать возможность
разработчику математического обеспечения ЭВМ на основе рассматриваемых
алгоритмов и методов их получения синтезировать алгоритм
вычислений, наиболее эффективный для класса решаемых, на ЭВМ
задач. Сравнительно небольшой объем книги и широта охваченного
материала заставили авторов отказаться от конкретных
рекомендаций для каждого из возможных приложений. Изложенный в книге
материал может быть лишь основой для нахождения путей решения
конкретных задач. Главы Л, 3, 5 написаны Г. С. Теслером,
остальные главы написаны авторами совместно.
Отзывы и, пожелания просим направлять по адресу: 252601,
Киев, 1, ГСП, Пушкинская,- 28, издательство чТехтка».
t
Глава 1
МЕТОДЫ ВЫЧИСЛЕНИЯ ФУНКЦИЙ
1. СТЕПЕННЫЕ РЯДЫ
Степенным рядом относительно переменной х называется
бесконечный ряд
оо
^ak(x-x0f, (1.1)
fc=0
где коэффициенты ak ~— заданные комплексные либо действительные
числа, х0 — центр ряда.
На практике чаще всего используют ряд (1.1) при х0 ==» 0, т. е.
со ,
2 а/. (1.2)
В тех случаях, когда ряд (1.2) сходится для всех х £ (— оо, оо),
его называют всюду сходящимся. Если ряд сходится только при
х = 0, то его называют всюду расходящимся. Если ряд (1.2)
абсолютно сходится на интервале х £ (— г, -j- г) и расходится вне этого:
интервала, то число г £ (О, оо) называют радиусом сходимости
данного степенного ряда.
Если ряд сходится при х = х0, то он сходится абсолютно и
равномерно при | х | < | х0 | (теорема Абеля). Если ряд расходится
при х =» х0, то он расходится и при | х | > ] х0 |.
ДЕЙСТВИЯ НАД СТЕПЕННЫМИ РЯДАМИ
Сходящиеся степенные ряды можно складывать, перемножать,
делить, дифференцировать, интегрировать, а также подставлять
один степенной ряд в другой и производить обращение степенного
ряда. Степенной ряд внутри круга его сходимости можно почленно
дифференцировать:
/ оо \ се
-i-S^Ulfev4. (1-3)
Степенной ряд внутри круга его сходимости можно почленно
интегрировать:
" k=0 ft=0 ' • •
где с—:константа интегрирования.
Полученные в результате дифференцирования и интегрирования
степенные ряды имеют тот же радиус сходимости, что и исходный
ряд."
©о
Суммой (разностью) сходящихся степенных рядов 2 a^k
оо
и 2 bkXk называется ряд
со оо
(1.5)
fe=0
2V±S bkxk = 2 (ak ± Ъ^х .
ft=0 ft=0 k=0
При этом из сходимости (либо абсолютной сходимости) исходных
рядов вытекает сходимость (либо абсолютная сходимость)
полученного ряда. щ
со
Произведением двух абсолютно сходящихся рядов 2 а*&
k=0
и 2 ЪкХк, согласно теореме Коши, называется ряд
/оо \*оо \ оо оо оо
У a/) 2 bj = 2 2 «А-*** <""* = 2 ^ (1.6)
1 А=0 / V fc=0 / n=0 ft=0 п=0
где сп = афп +оАг-1 +^„-2 + ... + Gfi_ife1 + a„fe0-
Полученный ряд сходится в меньшем из заданных кругов
сходимости.
, Частным от деления двух абсолютно сходящихся рядов
называется ряд
2«***
fe=0
(1.7)
где с0 = ajb0\ b0 Ф О и знаменатель отличен от нуля в заданном
интервале; ck=\ak — 2 bkcn-k)/b0, n *= 1, 2, 3... или, непосред-
fc=i
ственно для полиномов n-й степени по формуле Крамера [70], ck
Л =
^0
Ьг
ь,
0 ,.
fe„ ••
Ъг ..
. 0
. 0
. 0
а0
a-i
«2
0
0
0
... 0
... 0
... 0
fe„-_l fe„_2
bn—k CLn-l fen—i
ft—2
. 0
fe„_l ,,, fe„_
fe+1
bn—k—l « ■
bo
ьл
ъ2
0
bo
*i
0
0
b0
0
0
0
0
0
0
bn-l, bn-2 Ьп-3 Ь0 О
Ьп Ъп~\ fen-2 bt Ь0
Если величина п достаточно велика, то более целесообразно
решать систему
ЬоРо == ао>
Vo + &(А = Oil
b2c0 + ЪуСу + fe0c2 = ttj
с помощью метода Гаусса либо другого метода, более
эффективного, чем решение по формуле Крамера. При этом ряд частного
сходится в меньшем из интервалов сходимости ряда 2 я*** либо в
интервале (— р/(М + 1), р/(М + 1)), где р £ (0, г); М = sup | ftm | pm;
оо m
г — радиус сходимости ряда 1 + 2 \хп (А = V» А2 = Ь\ — Ь2; А3 =
= — ь\ + 2&А — ь3; ••■)•
Подстановка ряда в ряд осуществляется следующим образом.
Пусть даны два степенных ряда: f(y)= 2 аШк с радиусом схо-
ft=0
оо
димости гх и ф(л;)= 2 &&** с радиусом сходимости г2. Необхо-
димо найти степенной ряд
оо / оо \k оо
г = / [ф (л;)] = 2 «Л 2 М" = > с***, (1.8)
fe=0 \n=0 / ft=0
где с0 = а0 + афп + аф% + - - -; cL = а^ + 2a2b0b1 + ЪсфЪ\ -\ ;
c„ = аф% + а2 (b\ + 2b0b2) + За3 {b0b\ + feofe2) + * * -; —
При | b0 | > г ряд (1.8) расходится; при | b0 | < г ряд сходится
в интервале с радиусом сходимости
, ('.-IMP
Гз~ м + Г1-\ь0\ •
где p<r2, M =sup|bm|pm .
т
Обращение степенного ряда состоит в том, что из ряда
оо
0 = /(*) = 2а*х*
определяется ряд
со
(1.9)
нии:
щиенты
1 <h
h=*-
bk
»
6cf
X =
(k =
h =
*« =
= 4>W) =
= 2 ььУк
1,5) можно найти из следук
а2
~ 0?
Ъа^а^сц -
2fl| — fljOg
' bs~ 4 '
— й|0!4 — 5C2
4
a2a4 + 3ofa| + Ha\ — cfa6 — 21alc%as
-
a?
Коэффициенты bk для ft >- 2 в общем случае удобно вычислять' с
помощью рекуррентной формулы [88]
К =.^Г-[Ь1^,) + bJ^Li + - - - + bn-lCf-\
a,
При этом учитываем, что коэффициент Ьг = l/at; c^ = am; c^ } =*
= а$> + G2c^_i + a3c%L2 + ■■•■ +aji>.
РЯД ТЕЙЛОРА
Одним из наиболее употребительных степенных рядов является
ряд Тейлора. Если функция / (х) бесконечно дифференцируема в
интервале (х0 — г, х0 -f- г), то в окрестности точки | х — х0 | <; г
формально можно записать степенной ряд
оо
/(*) ~ 2-т^-(*-*<>)*, 0-ю)
fc=0
гдеО! =1; f\x0) = /(х0).
Разложение функции f(x) в окрестности точки х в виде (1.10)
называют рядом Тейлора. В общем случае нельзя утверждать, что
ряд (1.10) сходится к функции f(x). Необходимым и достаточным
условием его сходимости в точке х £ (Хд — г, Xf, + т) является
равенство
limi?„(x)=0, (1.11)
где остаточный член ряда Тейлора
fc=n-J-I
8
Таким образом, для установления сходимости ряда необходимо
исследовать поведение его остаточного члена. Приведем наиболее
употребительные формы остаточного члена ряда Тейлора: форму
Пеано (1.12) и форму Шлемильха и Роша (1.13):
Rn(x) = 0[(x-x0)n]; (1.12)
RnM = 'w^+;(*-*°"(i-ег'-ч*-*^. <из>
где р > О, 0 < в< 1.
Полагая р = п + 1, можно получить форму Лагранжа, полагая
р = 1 — форму Коши.
Ряд Тейлора дает наилучшее приближение к функции / (х)
в точке х0. Важное значение при вычислении элементарных функций
играют разложения в ряд Тейлора при х0 = О, т. е. разложения в
окрестности нуля. Приняв в ряде Тейлора х0 = О, получим ряд
Тейлора — Маклорена:
fc=0
Например, разложение функции sin x в ряд Тейлора ■—
Маклорена:
Обобщенная формула Тейлора. В некоторых случаях для
аппроксимации функции бывает целесообразно использовать обобщенную
формулу Тейлора. Пусть функция f(x) непрерывна на отрезке
[а, х] и обладает на этом отрезке производными до порядка m + п —
— 1 включительно. При этих предположениях справедлива
обобщенная формула Тейлора* [44, 46]: Г
-(- l)knCjk)m (x-a)k + R, (1.15).
гпрр_/ i у mi ri- (x-a)m+n+1 Am+n-\) (f,y
где R - (— 1) -(m + n)| {m + n_1)lt (U),
a <Z © < x; pCk — биномиальный коэффициент, причем pCk = О
при k ~> p.
При п = m
п
f(x)=f (a) + 2 ^gj91 nCk[fk) (a) - (- l)fe/(fe> (x)] (х - af + R,
(1.16).
где R -(—I) (2n)| (2n+1)l / (U).
Введем коэффициент ик = пСк (2/г — k)\/(2n)\ Тогда
"*+> = (2n-ft)(n+l) "» /г=1,2,..., (1.17)
где % = 1/2.
Разложение элементарных функций в ряды невязок. Известно,
что разложение функций в ряд Тейлора дает наилучшее
приближение в точке. В дальнейшем будет рассмотрен класс наилучших
приближений при равномерном приближении функций на отрезке.
Разложение функции в ряд невязок занимает промежуточное
положение между этими двумя разложениями.
При вычислении элементарных функций эффективно применение
разложений, в которых используются полиномы наилучшего
приближения только для нахождения начального приближения, а
искомая функция разлагается в ряд Тейлора в окрестности
начального приближения. Такого типа ряды можно получать на основе
разложений функций в ряд невязок [78, 82].
Рассмотрим методику получения таких разложений. Запишем
функцию у = f (х) для х £ [а, Ь] в неявном виде, т. е.
F(x,y) = 0. (1.18)
Заменив в выражении (1.18) искомую функцию у приближением
у0, получим невязку уравнения (1.18) в виде
z0 = F(x,y0). (1.19)
Значение невязки на интервале изменения аргумента [а, Ъ]
при у0, достаточно близком к у = f{x), будет весьма мало и в ряде
случаев
limzb = 0. (1.20)
Ус-*У
В этом случае разложение функции z0 в ряд Тейлора — Макло-
рена может оказаться весьма эффективным благодаря тому, что на
его основе можно получить итерационные формулы сколь угодно
высокого порядка сходимости.
Наряду с уравнением (1.19) рассмотрим выражение
z = F(x,y). (1.21)
Представление F (х, у) = 0 для искомой элементарной функции
у = f (x) может быть выбрано бесчисленным множеством способов.
Этим можно воспользоваться для получения быстро сходящихся
рядов. Запишем уравнение (1.19) в виде
Ф(х,у0,гь) = 0. (1.22)
Предположим, что функция Ф (х, у0, z0) определена и
непрерывна в области
D = {л? — Alt х° + Aj\ у0 — Д2, у°о — А2; z0 — Л3, & + Л3}
ю
с центром в точке (х°, у°0, z%; частные производные Ф*, Ф^, Фг
существуют и непрерывны в области D; функция Ф в точке (х°, yl, го)
обращается в нуль; частная производная Фх(х°, уо, го) ф 0.
При этих предположениях в силу известной теоремы о неявной
функции от нескольких переменных [89] уравнение (1.22)
определяет х как однозначную функцию от у0, z0, т. е.
x = 4>(y0,z0). (1.23)
При у0 — у*о, z0 = zo эта функция принимает значение х — <р (г/о,
го). Кроме того, функция ф (г/0, г0) непрерывна по совокупности своих
аргументов и имеет непрерывные частные производные «р^,, <p'Zo.
Основываясь на уравнении (1.23), можно записать следующее
равенство:
f(x) = fl4>{y0, z0)],
где / (л;) = у — искомая функция; / [ф (у0, z0)] ~ суперпозиция
функций / и ф.
Разложив функцию / [ф (у0, z0)] по степеням z0 в окрестности
точки (г/0, 0) в ряд Тейлора, получим искомое разложение функции
У — f (х) в РЯД невязок:
У = / [ф (Уо, 0)] + "fe- (Пф {Уи, 20)] |го=0) 20 +
+ Ж -%? U [(Р С^о. 20)] |Zo=0) 2о + • • • (1 -24)
Отметим, что члены разложения в ряд Тейлора функции / [ф (г/0,
г0)] с производными по у0 в точке (г/0, 0) равны нулю, так как
умножаются на величину у0 — у0 = 0. В некоторых случаях для
получения ряда невязок в виде
оо оо
У = Ч> (Уо) 21 а/о или у = у0 + 2] Vo (1 -25)
делается замена t0 = Н (г/0, z0). В частном случае возможно
равенство t0=iZ0.
Для сходимости полученного разложения к функции / (х) в
окрестности точки (г/0, 0) необходимо и достаточно, чтобы функция
/ 1ф (Уо, z0)] имела в области D непрерывные частные производные
любого порядка и lim Rn= 0, где Rn — остаточный член кратно-
го ряда Тейлора (1.24).
При значении у0, равном константе, разложения (1.24), (1.25)
превращаются в обычные разложения функции у = f (х) в ряд
Тейлора. Для практических применений целесообразно в качестве
величины у0 брать наилучшее приближение f = f (х) для х £ [а, Ь]
в заданном интервале. Благодаря тому, что в разложении (1.24)
используется одно наилучшее приближение, количество
информации, которое необходимо хранить в памяти ЭВМ, значительно
11
оскращается по сравнению с разложениями по полиномам Чебы-
шева. Это происходит вследствие того, что часть коэффициентов
разложения различных элементарных функций повторяется, а другая
часть ■— легко вычислима.
Рассмотрим несколько частных случаев задания невязки.
1. Пусть задана невязка функции y = f(x) в виде z0 = х —
— Г1 (Уо) так, что при у 0 = yz0 = 0. Тогда х = z0 + f~l (y0),
откуда f{x) = f (z0 + Г1 (Уо))- Разложив функцию / (z0 + /_1 (#„)) в ряд
Тейлора, получим
/(*)=/ (Г' (Уо)) + Г (Г' (Уо)) Zo + /(2)(Г^(Уо)) zl +
, /<3)(Г'(Уо)) ,3 ,
+ ш *о + -••
Учтя, что / (f~l (г/о)) = Уо и Г"1 (у0) = х0, получим
f(x)^y0 + ym(x0)z0+-^Lzl+-^Lz^+ ... (1.26)
2. Пусть задана невязка в виде
„ ^ *-Г'Ы
0 r'W *
Тогда л; = zf~l (у0) — f' (у0), откуда /(*) = / (г,/-1 (г/0) + Г* (&)) *="
= / (f~l (Уо) (zo + !))■ Поскольку для ряда функций выполняется
зависимость / (кх) = f($)f (x), то
/(*)=/(Г'ЫЩго + 1) =
= Уо(/(1) + /(1)(1)^о +-^-z? +^Ш-2§+ • • • ' .(1.27)
3. Пусть задана невязка в виде
Тогда
Г1 Ш
i+z0 »
откуда/(х) = /(/—1(у0)/(1+^о)-1)- Функции, для которых легко
получить выражение/ (К (х)) = <р (х), можно разложить в ряд
невязок
. f(x) = y0(^l) + ^\l)z0 + ^-4+-^-zl+ ...). (1.28)
Таким образом, для разложения искомой функции в ряд невязок
необходимо:
выбрать вид невязки z0 = F (х, у0), причем если у0 =з у, то
z = F (х, у) == 0;
выразить с помощью уравнения невязки х = <р (г/0, г0);
найти функцию f (х) = f (<р (г/0, z0));
12
разложить функцию f(x) в ряд Тейлора — Маклорена по
степеням z0 (полученный ряд и будет разложением искомой функции
У ~ / (х) в ряд невязок);
исследовать сходимость полученного ряда и оценить величину
остаточного члена.
Основная трудность заключается в выборе невязки, которая
должна обеспечить, с одной стороны, возможность нахождения
х = Ч> (.Уоу zo)> a c другой стороны, сходимость и минимальную
величину абсолютного значения остаточного члена.
Рассмотрим выбор невязки на примере некоторых функций.
Для функции у = ха в качестве невязки чаще всего используются
выражения вида [78]
__ х vl/a 2(х-ууа)
Z°~lr~~U Z°~~ "1: Z0== d/a+l)^+d/«-D* '
Для вычисления функции у = In х в качестве невязки можно
взять одно из выражений [78]
1; z0 = l—■ ■ ~
х - ~" еу0 ' ~« х+еу.
Для функции у = ах невязка z0 = (х ■— loga у0) In а. Для
вычисления тригонометрических и гиперболических функций вид
невязки можно определить при помощи теорем сложения этих
функций. Так, например, для функции у = arctg x невязка [78] z0 =
= (tg Уо — х)/(1 +xtgy0).
В работах [78, 82] приведены разложения в ряды невязок
следующих функций: у = угх; у = Мух; у = Их; у = (1 + х)п; у — 1п х;
у = ах; у = tg х; у = sin х; у = cos х; у = arctg х; у — arcsin x;
у = arcth х; у = arcsh x.
Для оценки погрешности ограничения, возникающей в
результате использования конечного количества членов разложения
функции в ряд невязок, в уравнение невязки Zq — F (х, у0)
подставляется выражение
у0 = у + А0, (1.29)
где у — точное значение искомой функции, а Д0 ■— абсолютная
погрешность, либо
Уо = У(1+бо), (1-30)
где б0 ■— относительная погрешность.
Пример 1. Пусть требуется разложить функцию у = l/jfx в ряд невязок.
Взяв
получим х = (г0 + 1) у^п. Тогда \Ц/"х = у0 (г0 +1)~ '". Разложив эту
функцию в ряд Тейлора —Маклорена для | г0 | < 1, получим
... 1 /1 1 + п , \
^ ,_ го + ___г0- ..-.
У х
13
Подставив выражение (1.30) в уравнение (1.31), получим г0 ш пЬй.
Следовательно, ошибка ограничения от удержания т членов ряда [78]
6^ (- 1)т (»+ D (211+1) .^.[(т-1)Я+1] gnf m>2
Для превращения ряда невязок в итерационные формулы любого
порядка сходимости необходимо оставить соответствующее число
членов в разложении и заменить у на ус+\, у0 на у; (при этом z0 ~
~ z; либо t0 ~ tc).
2. РЯДЫ МНОГОЧЛЕНОВ
При построении многочленных приближений элементарных
функций важную роль играют ортогональные системы многочленов.
Система многочленов Р0(х), Рг(х), Р2(х), ..., Рп (х), ...
называется ортогональной по весу р (х), если
ь
(Рп, Рт) = J Рп (*) Рт (*) р (X) UX = 0.
а
Здесь р (л;) ■— весовая функция, интегрируемая на интервале (а, Ь).
Рассмотрим наиболее часто используемые в практических
вычислениях системы и их весовые функции.
1. Многочлены Якоби:
2п! их
х£[— 1,1], а, р> —1;
p(x) = (l-x)a(l+xf.
2. Многочлены Лежандра:
Р^=-^Г-£г^-1)П' ^[-1.11;
р(х) = 1.
Смещенные многочлены Лежандра: Р„ (х) = (— I)"-1 Рп (2х —
~ 1), х 6 [0,1].
3. Многочлены Чебышева первого рода:
Тп (х) = cos (n arccos х), х£[— 1, 1 ];
Р(*) =
У 1-х2
Смещенные многочлены Чебышева Т*п (х) = Тп (2х — 1), х £
€10,1].
14
4. Многочлены Чебышева второго рода:
p{x)=V\-x\
Смещенные многочлены Чебышева: U*n (х) = IIп (2х — 1), х £
€ [0,1].
5. Многочлены Лагерра:
LI (х) = (- \fx-aex -£г (ха+пе-х), х 6 [0, оо];
/ \ ОС -—X
р (х) = х е .
6. Многочлены Эрмита:
Нп (х) = (- 1) V* -^г (е~% *€(-<*>, + оо);
p(x) = <?_J\
Нули системы ортогональных многочленов обладают следующими
свойствами. Многочлен Р„ (х) в интервале {а, Ь) имеет п
действительных различных между собой корней. Между любыми двумя нулями
многочлена Р„ (х) имеется нуль многочлена P„_i(je), т. е. Рп {х)
и Рц—\ (х) не имеют общих нулей в интервале {а, Ь). Число корней
многочлена Рп (х) в интервале (а, Ь) равно разности К (а) — К ф),
где К (х) — число перемен знаков в последовательности Р0 (л;),
Р, (X), ..., Р„ (X).
При нахождении наилучшего приближения непрерывных
функций часто используют многочлены Чебышева первого рода
[п/2]
Тп (х) = cos (я arccosx) = 2 (— if j^j ckn-k2n-2k-lxn-2\ (1.32)
fe=0
где [ ] ■— ближайшее целое.
Нули многочлена можно определить по формуле
4П) = cos (2fe~1)n, A = 1, 2, .... я. (1.33)
В ряде случаев используют многочлены Чебышева первого рода,
у которых старший коэффициент равен единице, т. е. Тп (х) —-
= Тп (х)/2"-1. Для вычисления многочленов Чебышева
применяются рекуррентные формулы
Тп (х) = 2хТп-х (х) - Тп-2 (х); (1.34)
Тп (х) = *Т„_, (х) - -i- fn-2 (x). (1.35)
Важным свойством многочленов Тп (х) является то, что
sup \fn(x)\
!5
имеет минимальное значение среди всех многочленов степени п
с коэффициентом при старшей степени, равным единице, т. е.
многочлены Тп (х) наименее уклоняются от нуля.
Условия, при которых функция f (x) разлагается в равномерно
сходящийся ряд по многочленам Чебышева, дает следующая
теорема:
Теорема 1. Всякая непрерывная функция f (x), наилучшее приближение
которой Еп (/) удовлетворяет условию
lim In nEn (J) — О,
П-*оо
разлагается в равномерно сходящийся ряд по многочленам Чебышева.
Для получения разложения элементарных функций по
многочленам Чебышева Тп (х) можно использовать разложение искомой
функции f (х) для х £ [— 1, 1Г в ряд Фурье. Для этого нужно
разложить функцию / (cos х) в интервале [ ■— л, л] в ряд Фурье по
косинусам. Так, при необходимости получить
п
. /(*)=■ 2йЛМ. *€[—!, О (1.36)
коэффициенты ak можно определить по формулам
1 п
1 л
Gft = -§- ^-^Ш^ = 4^08£Ф/(со8фИф, кф^
Принимая во внимание выражение (Г.33) для нулей функции
Тп(х), записываем следующее:
со = 4" 2 f(A (1.37)
" №=1
q> —f-i/(^cos(2m7n1)feTI- o-38)
Так,' например,
еЙСО8ф = /0(а)+2|]/п(а)со8Пф,
откуда
е°х = /0(fl)+2 2 In(a)Tn(х), (U9)
где /„ (а) — функция Бесселя первого рода, порядка п, мнимого
аргумента.
*6
Аналогично получаем следующие разложения [43, 49]:
оо
sin ах = 2 2 (— 1 )"+V2n_i (a) T2n~i (*); (1.40)
cos ах = J0 (a) + 2 S (— 1)"Лп (а) Га„ (х); (1.41)
* = 4-2(-о"-ЦР--. (1-42)
arcsin
л=1
/г=0
(1.43)
где с = tg 2а; J„ (х) — функция Бесселя первого рода, порядка п,
действительного аргумента;
оо
sh ах = 2 S /ан-i (с) ^„+1 (*); (1.44)
оо
ch ах = / (а) = 2 2J /2„ (с) Т2п (*); (1.45)
п=1
и+1 1
In (1 + ах) = 2 In cos а + 2 2 (— 1)"+1— tg" аТ„ (л); (1.46)
п=1
""(^-«S^if^W, (..47)
' /1=0 '
где а = sin 2а;
Ъ\\-2ах + а*) = -2^-^гТп{х); |а|<1; (1.48)
/г=1
w-£-+4-2£*t- ало»
Для вычисления выражения
fc=0
на ЭВМ можно использовать метод Кленшоу [43]. При этом
f(x) = b0-blX, (1.51)
где коэффициенты Ь0 и Ьг определяются на основе рекуррентного
выражения
ak=bk — 2xbk+i + bk+2, bn+\ = bn+2 = 0. (-1.52)
_ - _ IT —.
2 6-493 17
ПРИБЛИЖЕННЫЕ МЕТОДЫ
НАХОЖДЕНИЯ ПОЛИНОМОВ НАИЛУЧШЕГО ПРИБЛИЖЕНИЯ
В теории аппроксимации функций для полиномов вида
т
fc=0
важную роль играет теорема Вейерштрасса.
Если функция f (х) непрерывна на отрезке [а, Ь], то для любого числа е > О
найдется полином Рт (х) достаточно высокой степени т, для которого
справедливо неравенство
\f(x)-Pm(x)\<e, х£[а,Ь].
Полином, для которого величина
Am = max\f(x)~Pm(x)\
* е [о. ч
достигает наименьшего значения, называется полиномом
наилучшего равномерного приближения или полиномом, наименее
уклоняющимся от функции / (х) для х £ [а, Ь]. Обозначим Ет (/) =
= min Дт — наилучшее приближение (минимальное уклонение)
функции / (х) многочленами степени не выше т.
Существование и оценки порядка стремления полинома
наилучшего приближения к аппроксимируемой функции устанавливаются
следующими теоремами [2, 8, 105].
Теорема 2. Если функция f (x) непрерывна на замкнутом ограниченном
множестве X, то существует единственный полином Рт (х) степени не выше т,
обладающий минимальным уклонением Д (/) = Ет (/).
Порядок стремления минимального уклонения Ет (f) к нулю при т -*■ оо в
значительной степени зависит от гладкости функции f (х).
Теорема Джексона. Если функция f (х) непрерывна на отрезке [а, Ь] и
удовлетворяет условию Липшица с константой X, т. е. для любых %, х2 £ [а, Ь]
справедливо соотношение
l/(*i)—f(*k)l<*.|*i —*»1.
то для полинома наилучшего приближения Рт (х) выполняется неравенство
6% (Ь — а)
l/W-^MK— -■
tn
Теорема 3. Если функция f (х) непрерывна на отрезке [— 1, 1] и имеет
непрерывную производную /^п) (х), удовлетворяющую условию Липшица, т. е.
где*!, Xi£[—l,l], то
*„(/)< с;+1(п+'£'•
(п + 1)! tn"+1
где с — константа.
18
Теорема Бернштейна. Пусть функция f (x) непрерывна на сегменте [а, Ь ]■
Необходимым и достаточным условием того, чтобы функция f (x) была
аналитической на [а, Ь], является соотношение Ет (f) < cqm, где q £ (0,1).
Из этих теорем видно, что для достаточно гладкой функции
наилучшее приближение Ет (/) стремится к нулю достаточно
быстро. Если внутри отрезка [а, Ь] функция / (х) обладает производной
(т + 1)_го порядка, которая удовлетворяет неравенству
0<#<|/<т+1)(х)|<М,
то для величины наилучшего приближения функции / (х) на
отрезке [а, Ь] можно записать следующие оценки сверху и снизу [66]:
2^+V+l)! <-£mV)^ g»H-l(ffl+I)l " ( '
Для некоторых элементарных функций получены оценки сверху
величины наилучшего равномерного приближения, в предположе*
нии, что эти функции — целые [24], например,
а+Ь
£-^><;.а^:;,>. ■ с-54»
В работе [24] имеются подобные оценки и для функций sin x,
cos х, sh x, ch х. На некоторых отрезках [а, Ь] эти оценки сверху
могут быть более точными, по отношению к оценке (1.53).
Для нахождения полиномов наилучшего приближения
используются следующие теоремы:
Теорема Чебышева. Для того, чтобы многочлен
т
Рт (*) = 2 OkXk
fc=0
был многочленом наилучшего приближения с весом W (х) [ W (х) Ф 0 при х £ X]
к функции у (х) на замкнутом множестве X, содержащем не менее т + 2 точек,
Необходимо и. достаточно существование точек
(1.5Б)
(1.56)
таких, что
где i = 0, т+ 1;
а
хО ^С %1 "С '
• <*m-)-i, xi£X,
V{xt)-Pm(xi) _ , ni
W (xi) a( l'^
=■ + 1 или — I;
jj, = max
«era
y(Xi) — Pm(xi) 1
W (Xi) 1'
Ц — наилучшее приближение функции / (x) на множестве X для полиномов
степени т.
Точки (1.55), для которых выполняются условия (1.56), называют точками
чебышевского альтернанса.
2* 19
Теорема Вопле — Пуссена. Если Рт принадлежит множеству всех
алгебраических многочл енов степени не выше т и точки х0 < х2 < ... < хт , j таковы, что
= sgn
sgn
fix,)-
f (*o) — Pm (*o)
W(x0)
Pm (X2)
1ЛЧ)—Рт{х-д
W(X2)
- (~ 1Г sgn
W(xj
1 (*m + 1)
W (xm+l)
: (/) > H = mm
i=0,m-fl
H^)-Pm(^)
W (Xi)
где № (x/) > 0.
На практике не всегда удается найти полиномы наилучшего
приближения к заданной функции даже при помощи хорошо
зарекомендовавших себя алгоритмов. Одной из причин этого является
плохая обусловленность полинома Рт (х). Это означает, что величина
|fl*
max \Pm(x)\
х£[а,Ь\
принимает большие значения. Здесь ak — коэффициент полинома
Рт (х). Плохая обусловленность обычно проявляется при
больших т.
.Поведение коэффициентов аппроксимирующего полинома
описывается следующей теоремой [26].
Теорема 4. Для того, чтобы непрерывная на отрезке [—1, 1] функция
допускала равномерную аппроксимацию с любой степенью точности
алгебраическими полиномами
Рт (х) ■
ft=o
0, т, необходимо
с равномерно ограниченными коэффициентами | аь | < М, k ■
и достаточно, чтобы для х £ (— 1, 1) выполнялось условие
со
f(x)=^ibkxk, \bk\<M, k = 0, I, 2
При построении полинома наилучшего приближения
необходимо найти точки чебышевского альтернанса. Однако их точные
значения можно определить лишь в частных случаях [56, 57, 73].
Для произвольной функции и произвольной степени полинома не
существует точного метода определения точек альтернанса. Поэтому
процесс нахождения многочлена наилучшего приближения
основывается на приближенных методах.
Итеративный метод наиболее детально разработан (Е. Я.
Ремезом) [51, 66, 71]. Порядок построения многочлена следующий.
1. Из множества точек X = [а, Ь] выбирают начальные
приближения к значениям точек чебышевского альтернанса хУ <Сху...-<
20
< х$+1. Обычно в качестве начальных приближений берут нули
многочлена Чебышева Тт (х), приведенные к сегменту [а, Ь]:
xf=b-± cos(m+^-fe)n +£±it й=0,т+1 ■
Такой выбор обеспечивает получение не слишком малого
начального значения ц.
2. Осуществляют чебышевскую интерполяцию для множества
точек
т. е. определяют коэффициенты многочлена Р„ (х) и величину \х,
для которых выполняются условия
При этом вначале вычисляют
m+l
2 (— 1)*У («*) Р*
I1 — m+l »
m m+2
где Dfe= П П (*,— xn).
n=0 fc=n+l
n=jfcft 1фк
Затем вычисляют значения многочлена Рт (х) в точках множества
X по формуле
РМ = У(х,) + (- 1)^WИ, » = 0, m + 1.
Потом определяют коэффициенты aft (& = 0, т) искомого
многочлена Рт (х) по известным его значениям в (т + 1)-й точке. При
этом (т -j- 2)-ю точку можно считать контрольной. Для построения
многочлена Рт (х) можно использовать интерполяционный
многочлен Лагранжа cm-f-1 узловыми точками.
3. Проверяют выполнение равенства
|ци|—тах| щ^ ||<в|(*1,|,
где е — допустимая погрешность.
Если выражение, стоящее слева, равно нулю, то Рт (х) —
многочлен наилучшего приближения функции у (х) на множестве X
с весом W (х). В противном случае следует вернуться к п. 1 расчета.
Более подробно с этими методами можно ознакомиться в работах
[8, 26, 51, 66, 105, 108].
21,
3. РАЦИОНАЛЬНЫЕ ПРИБЛИЖЕНИЯ
И ЦЕПНЫЕ ДРОБИ
При счете элементарных функций на ЭВМ наряду с
многочленными широко используются и рациональные приближения. Это
объясняется, прежде всего, тем, что общее количество операций
для достижения заданной точности при рациональном приближении
обычно меньше, чем при многочленном. Однако при этом
появляется операция деления, что не для всех ЭВМ является желательным.
В тех случаях, когда скорость выполнения операции деления близка
к скорости умножения, эффективность от использования
рациональной аппроксимации возрастает.
Взвешенное рациональное приближение
■■»
т
Ртп{х)=^ (1.57)
fc=0
к функции у (х) на отрезке [а, Ь] называется наилучшим, если
имеет наименьшее значение среди всех рациональных выражений
заданных степеней вида Р'тп (х).
Существование, единственность и характерные свойства
наилучшего взвешенного приближения вида (1.57) устанавливает теорема
Чебьшева.
Наилучшее рациональное приближение Ртп (х) с весом W (x) {W {х) Ф О
для х £ [а, Ь]) на отрезке {а, Ь] к непрерывной функции у (х) существует и
единственно.
Наилучшее рациональное взвешенное приближение
Р (х) = an-v*"~~V + gn-v-i*"~V~1 + • - • + а0 А(х)
Ьт_^ + Ьт_я_1/"^-1 + - + Ь0 В (х) •
где 0<^.<п, 0<v<m, bm_^ Ф 0 и дробь А (х)/В (х) — несократима, имеет
N последовательных точек на отрезке [а, Ь], в которых взвешенная разность
(1.58) принимает значения, равные ц0, не менее чем в п+ т — d+2 точках.
В случае Ртп (х) == О N > т + 2. Величина d = min (X, v)
называется дефектом приближения (1.57). В большинстве
практически важных приближений d = 0, т. е. N = п + т + 2. Дефект
приближения (1.57) может быть отличен от нуля, если числитель и
знаменатель рационального приближения имеют общие корни или
если коэффициенты при старших степенях знаменателя равны нулю.
Доказательство теоремы Чебышева имеется в работе [2].
На практике обычно используют степени полиномов в числителе
н знаменателе, близкие друг к другу. При этом обычно достигается
22
минимум операций при заданной точности. Однако иногда это
условие нарушается. Так, например [108], у (х) — sin-g-л;, х £ [0, 1],
при m = 4, п = 4 — lg б = 18,80; при т = 6, п = 2 — lg 6=
= 19,36.
В работе [108] отмечается, что класс рациональных
приближений имеет преимущество перед классом многочленных
приближений, когда количество коэффициентов в приближении становится
более пяти.
Рассмотренный в предыдущем параграфе метод Ремеза для
построения наилучших многочленных приближений может быть
обобщен на случай рациональной аппроксимации. Обобщенный метод
Ремеза состоит в следующем [108].
1. Выбираем т + п + 2 значений xk (k = 1, т -f- n + 2)
таких, что а < хг < х2 < х3... < хт+п+2 < Ъ.
2. Вычисляем коэффициенты рациональной функции
т
fc=0
и число ц из системы m -f- n -f- 2 нелинейных уравнений
во + «Л + — + ««*" + Vi [—/ («») - (~ 1)* й1 +
+ Ml [—/(**) —(-1)*Ц]+ —
• • • + мг [- / (xk) - (- i)ft ц] - (- i)V=/ ixk).
3. Определяем экстремальные значения функции абсолютной
погрешности | РтП (х) — / (х) | на заданном интервале la, Ь] и
упорядочиваем их так, чтобы а = уг < у2 <... < #р = Ь. В
частном случае р = m -f- n + 2.
4. Заменяем xft на #ft и повторяем последовательность шагов,
начиная с п. 2.
При определенных допущениях и достаточно близких к искомой
функции начальных значениях xk скорость сходимости этого
итеративного процесса квадратичная. Количество итераций очень редко
бывает больше пяти-шести.
В ряде случаев [108] в качестве начального набора точек xk
берут нули полиномов Чебышева Tm+n+i (x), преобразованные
для интервала [а, Ь] в' виде
1 а \ (/п + и + 2 — k)n , 1 /«, , „ч
X* = -2-^-fl)C05 « + n + l +-2-(b+°>-
Однако при этом не гарантируется сходимость рационального
приближения к искомой функции.
23
Более подробно с этими методами можно ознакомиться в работах
[51, 66, 105]. Методы рациональной аппроксимации для небольшого
числа параметров тип для аналитически заданных функций
изложены в главе 3.
АППРОКСИМАЦИЯ ПАДЕ
Метод Паде позволяет получать рациональные приближения из
степенного ряда. Пусть функция / (х) представлена в виде
степенного ряда
/W = 2c/, (1.59)
который в окрестности некоторой точки сходится к искомой функции.
В частности, это может быть разложение функции в ряд Тейлора —
Маклорена в окрестности точки х = 0. Для получения
рациональной функции
т
2 аь%к
р=0
на основе степенного ряда (1.59) можно использовать следующую
систему т + п + 1 линейных однородных уравнений [108]:
Oq = c0b0;
<h = Cjb0 + сфб
am = cmb0 + cm_ifci + • • • + cm-nbn;
cm+ib0 + с„рх + - • - + cm_n+ifc„ = 0;
Ст+Ф0 + Cm+l&i + ' • • + Ст-п+Фп = 0;
Gn+nbo + Cm+n-lh + " * " + СтЪп = О.
Эти равенства соответствуют условию Рт (х) = Qn (x) f (x),
когда первые т + п + 1 члены ряда (1.59) исчезают. На основе
приведенных равенств можно получить двумерный массив приближений
(таблицу Паде) для функции f (x):
Яоо(*) #т(*) ■••
Яц>(*) #и(*) ■•-
А20 (Х) А21 (X) • - »
24
Обобщение аппроксимации Паде. Если искомая функция задана
в виде ряда
оо
/*= HckTk(x), *ei-i, 1],
т
2 akTk(x)
Ртп(х) = ^ . (1.60)
> ■ bpTp (x)
Коэффициенты ak, bp определяются из системы т -J- п+ 1
уравнений
1 А
а0 = Ь0с0 + -7J- 2 bcf,
z г=1
ft
йл = b<fk+-4- Vo + 4- 2 &, (ct+* + ci /_л i),
& = 1, 2, ... , m-f n,
причем aft = 0 при k > m; fcfe =' 0 при k> п.
Процесс приближения для сегмента [а, Ь] можно свести к
эквивалентной задаче для интервала [— 1, 1] с помощью линейной
замены х =[ф — a) г + (Ь + а)]/2, т. е. / (х) при х £ [а, Ь\ заменяется
функцией \р (z) =f [ф — a)z+(b + а)) для z £ [— 1, I].
Если / (0) = 0, что приводит к большой относительной
погрешности, то целесообразно рассмотреть приближение функции / (х)/хТ
а затем найденное многочленное либо рациональное приближение
умножить на х. Тогда получим хРх (х) либо хРпт (х).
ПРИБЛИЖЕНИЕ ФУНКЦИЙ ЦЕПНЫМИ ДРОБЯМИ
При вычислении элементарных функций на ЭВМ в последнее
время получило распространение представление этих функций в
виде цепных дробей [101, 108]. Опыт их использования имелся и
ранее [30]. При этом аппроксимация функций в виде цепных дробей
выступает, с одной стороны, как источник получения рациональных
приближений, а с другой стороны, как средство уменьшения
количества операций при счете элементарных функций.
Цепной, или непрерывной, дробью называют выражение
Ък +
где -у k-e звено цепной дроби; Ь0 — нулевое звено; aL —
частные числители; bt — частные знаменатели (i = 1, 2, ...).
25
Для цепной дроби (1.61) употребляется также сокращенная
запись, предложенная Роджерсом:
"el- bi + b2 + ... + bk _j_ ...
Иногда используют запись [93]
Дробь, ограниченная звеном an lbn, называется п-й подходящей
дробью цепной дроби (1.61) и обозначается
£--*.+-*-+-£- + ...+-£• (1-62)
На практике-используют и другие виды, цепных дробей, в
частности,
p«+-?r + ib + ... +i+... (L63)
(1.64)
(1.65)
(обыкновенная цепная дробь);
Со + Йо + ci + bi + СА + *•• + ck+bk + -*
Преобразование цепных дробей. Продолжение цепной дроби
влево. Для дроби вида (1.61) справедливо тождество [93]
»'+iL-S-i+-r+- +i+^-+n!1"^'(1-66)
2m—I
m = 1, 2, ...
Отсюда следует, что между любыми соседними звеньями цепной
дроби можно вставить четное число звеньев -^-, не меняя ее
значения.
Основное тождественное преобразование [96]. Умножив at и bi
на любое конечное число р Ф 0 (т = 1,2,3,...) получим тождество
К
Pi
°2
+ ь2
+ •■
Так, положив р„_
1
р2 =
Pik
°1 .
- +'
» * *
■\Prfln
Рз-
ajQg . - -
ам. . .
Ьп
+
а2Ь
П,
'+ ■••
PrPn
1 (л =
!—1
t
=v
+
2, 3,
* • )
(k =
• w *
*••/»
Р2Л-1 =
= 1, 2,
PiP2<h
+ P2^2
получим
ага4 ...
Gj£?2 ■ • •
...).
"+ "'"
(1.67)
а2й—2
°2Л-1 *
u2k
26
Введя обозначения
афь . . . a2k_2
Ро = К' pWi = Й1а3 . . . c2ft_1 b2k~l',
&" = Та ' ' ' Т"1 b2k' (A =• 1. 2, .. .),
преобразуем выражение (1.61) в обыкновенную цепную дробь (1.63).
Положив Ь0 — 0; р(- = \lbl (i = 1, 2, ...); а,- = а,, получим
преобразование цепной дроби из вида (1.61) в вид (1.64).
Некоторые свойства цепных дробей. Точное значение цепной
дроби вида (1.63) находится между двумя соседними подходящими
дробями. Это значение ближе к последующей, чем к предыдущей
подходящей цепной дроби. Указанную границу можно определить
более точно, а именно: значение n-й подходящей дроби заключено
между нею и медианой, образованной этой дробью и
предшествующей, т. е. лежит в интервале
{Pn/Qn, (Р„_, +Pn)/{Qn-i +<?„)).
Верхний предел погрешности n-й подходящей дроби вида (1.63)
ограничен величинами
1 1 1
Ып+l ' ЫРп + Р„_,)' 2р2*
но погрешность больше, чем
Подходящая дробь PjQn сходящейся бесконечной цепной дроби
вида (1.61) (с положительными частными знаменателями)
приближает искомое значение с недостатком при п нечетном и с избытком —
при четном. Таким образом, подходящие дроби четного порядка
образуют возрастающую, а нечетного — убывающую
последовательность. Если функция f (х) разложена в правильную цепную
дробь вида
а0+ Z ^f
и п-я подходящая дробь Рп (x)/Q„ (x) приближает заданную
функцию / (х), имеющую в области определения D непрерывные
производные до (п + 1)-го порядка, то остаточный член этого
приближения можно определить по формуле [94]
R»w = ет— • (1 -68)
где £ — некоторая точка области D; х — любая точка этой области,
отличная от полюсов рациональной функции Рп (x)/Qn (x).
27
Методы разложения функций в цепные дроби. Построение
равноценных и соответствующих цепных дробей. Если при преобразова-
нии степенного ряда 2 Щ^ в Цепную дробь частные суммы ис-
ходного степенного ряда совпадают с подходящими дробями цепной ,
дроби, то полученная цепная дробь называется, равноценной
исходному ряду, а в противном случае — соответствующей.
Области сходимости степенного ряда и соответствующей цепной
дроби могут быть различными и, более того, степенной ряд и
соответствующая ему цепная дробь могут оба расходиться, либо один
из них расходиться, а другой — сходиться.
Для построения равноценных цепных дробей чаще всего
используют метод Эйлера, согласно которому можно записать тождество
[49]
2 akxk = а0
-=о *
либо
оо
fc=0
, ахх
-1- !
—
aYx
a0 + aj
<hx
_ dj -f- а%х
at_^aix
al_l + OiX — ..
a0O2X
x — аг+ <hK
al_-flix
ща^х
Oj -f- asx ... —
(1.69)
ai<-hx
a2, + a3K • « •
a{__} + сцх
Бесконечное произведение можно представить в виде цепной
дроби, равноценной этому произведению, по формуле [124]
П(1+а„) = 1+а0 + (1 + ?о)а1-г -у^-. (1.70)
и=0 ' /7=2 1 "Г sn
где a„=^0; s„ = (l +an-i)a„/an-i.
Для преобразования степенного ряда
со
VI п
JL cnx
Л!=0
в цепные дроби можно использовать следующие соотношения [98]:
&0 + -М- -£L -^ -^^ (1-71)
где fc0 = с„; ах = сх; 6Т = 1; сь„ = — q^_,ip„ipn+i; Ьг« = ф„Ф„;
a2n+i = — фпф„+1яр2; b2n+i =фп-ф„+1;
«tjc а2х «2„х a2rc+i* л 79.
где а0 = с0; о^ = сх; а2„ = фп-ц^-ц/ф,^; a2n+i = — q>n+i%f4>ntyn+i;
28
где р0 = с„; <7... = сг, р± = с2; рп =
+ Фп+^+^/фЖ'фп+ь
рпх'
■^n-i^n+i/^; Чп = — (фп+i^ +
Ро
Pi*
р2^
Prc*z
1 + <7i* + ! + %* +
где р„ = с„; р! = q; % = — c2/q; p„ = -
X i])„_i + Ф^_,'Ф«+1)/(ф«-1Фпг1'„); п = 2, 3,
Для всех этих случаев
Ci С2 ... С,
с3
Сп+1
+ 1 + ЯпХ + • .
фп-2ф„/ф*_Г ?„
(1.74)
— (Ф* X
Ф«
-1
с2
с„
С2п-1
*в =
с2
С3
с„
CS
с4
Сп+1
с4
С„+1
С2п—2
откуда
я0 — с0; ях — Cjj й2 — c^/Cj]
(d
' ClCs)lClC2' a4
Cl (С3 — C2%)
С2 (<"2"
с-2 С^з)
При замене коэффициентов сп коэффициентами, стоящими перед
хп при разложении функции в ряд Маклорена, можно получить
разложение ряда Маклорена в цепную дробь.
Формула Тиле. Используется для разложения функции / (х +h)
в соответствующую цепную дробь:
/(*+*) = /(*) ' * "
rf(x) -f 2П(Х) -f. --. +
h
+ nrrn_lf{x) +
(1.75)
где rJ (x) — обратные производные п-го порядка от функции f (x).
Обратные производные определяются из уравнения
rj (х) = rn-2f (х) + nrrn-if (x), n > 2,
где rf (*) = 1 //' (х); г J (x) = /(*) + 2/7^/ (*).
Одним из источников получения цепных дробей является
решение дифференциальных уравнений в виде цепной дроби. Для этого,
в частности, можно использовать метод Лагранжа [49, 96].
Сходимость цепных дробей. Цепная дробь называется
сходящейся, если существует
Рп
Пт
= Л< |оо|.
Если А — ± оо, цепная дробь называется несущественно
расходящейся, а если предел А не существует, то — существенно
29
расходящейся. Говорят, что цепная дробь сходится в широком
смысле, если она не является существенно расходящейся.
Ввиду того, что сходимость цепной дроби в общем случае
зависит не только от характера изменения общего члена при
неограниченном возрастании я, а и от ее первых звеньев, вводятся понятия
безусловной и условной сходимости. Сходящаяся цепная дробь
(1.61) с акфО называется безусловно сходящейся, если она
остается сходящейся при отбрасывании любого числа начальных
звеньев. В противном случае сходящаяся цепная дробь называется
условно сходящейся. Зависимость сходимости в широком смысле от
начальных звеньев цепной дроби определяется следующей теоремой
[124].
Теорема 5. Если одна из цепных дробей
оо - оо „
* &о+ Z -£-; Ьт+ Z -%-
с отличными от нуля частными числителями сходится в широком смысле, то и
другая сходится в широком смысле.
Отсюда следует, что сходящаяся в широком смысле цепная
дробь является и безусловно сходящейся в широком смысле.
Для установления факта сходимости цепной дроби,
представляющей формальное разложение некоторой функции, важную роль
играет понятие равномерной сходимости цепной дроби. Цепная
дробь называется равномерно сходящейся на множестве Е (звеньев
цепной дроби), если для каждого е > 0 можно указать такое число
М, что для любого т >• М выполняется неравенство
Ijh — Jim Jjl
W.m n-юо У"
<e, (1.76)
причем Qm = 0 на всем множестве Е.
Для сходящейся цепной дроби п-е подходящие дроби Pn/Q„
являются ее приближенными значениями. Для дроби типа (1.61)
при ak Ф 0 (k = 1, 2, ...) равномерная сходимость дроби на
множестве Е является достаточным условием того, что дробь (1.61)
сходится к функции fix), которая разложена в цепную дробь.
Следующие две теоремы дают необходимые условия сходимости
цепных дробей в широком смысле [94].
Теорема 6. Если ряды
2 К-Н; SIM
n—l n=l
сходятся, то цепная дробь (1.61) с аь Ф 0 {kj> 1) существенно расходится.
Теорема 7. Если для цепной дроби (1.61) найдется такая
последовательность р0, plf ... неравных нулю чисел, при которой ряды
оо оо
2 IPn-iP"a" —И; 21 Р"ЬпI
сходятся, то цепная дробь (1.61) с ап Ф 0 существенно расходится.
30
Следствие 1. Если ряд
2IM
п=0
сходится, то цепная дробь
Ь0+ Z 1/Ьв
существенно расходится.
Следствие 2. Если ряды
п=2
а.
■2п—2и2п—1
а.
2п—1
■■ 2
а,ая
<Ъп~1Ь2п
■*2л
сходятся, то цепная дробь (1.61) существенно расходится.
Условия, заключенные в этих следствиях, являются
необходимыми и достаточными.
В практических вычислениях часто употребляется следующий
признак сходимости Прингсгейма [124]:
Теорема 8. Если элементы цепной дроби (1.61) с Ь0 = 0 удовлетворяют
неравенствам | Ьп | ;> | ап | + 1, п ;> 1, то дробь абсолютно сходится и ее значение по
абсолютной величине меньше или равно единице.
Расходимость ряда
Д1Ь
fc=l
при Рд, > 0 является необходимым и достаточным условием для
сходимости цепной дроби
1 1
Pi- + Р2 Н •
О® СО
Вместо 2 Ра- можно рассматривать П (1 -f- fy.
Достаточный признак сходимости цепных дробей с
положительными членами дает теорема Штольца:
расходимость ряда
•у ьп-\ьп
№=2
ап
достаточна для сходимости дроби (1.61) с положительными членами звеньев.
Теорема 9. Цепная дробь (1.61) сходится, если существует такая
последовательность рх, р2, ... положительных чисел, что выполняются условия
Рп-1
pt> 1;
bn-lbn
<
Рп—\Рп
n>2,
(1.77)
причем равенство во всех трех соотношениях не достигается одновременно.
31
Одним из важнейших классов цепных дробей являются
предельно-периодические. Большинство разложений элементарных
функций относится именно к этому классу.
Цепная дробь (1.61) называется предельно-периодической, если
ее частные числители ап и частные знаменатели Ьп стремятся к
определенным пределам, т. е.
lim ап = a; Hm bn=b.
П-*оо П-ь-со
Предельно-периодическая цепная дробь (1.61), у которой апфО,
сходится, по крайней мере, в широком смысле, если корни рх и р2
квадратичного уравнения р2 — Ьр — а = 0 не равны друг другу по
абсолютной величине [124].
" 4. ИТЕРАТИВНЫЕ ПРОЦЕССЫ
Последовательность, выраженная формулой
где & ;> 0 (п = 1, 2, ...), называется рекуррентной. Простейший
вид ее — итерационная последовательность xn+i = f (л;„).
Для исследования сходимости итеративных методов и условий
существования неподвижной точки важное значение имеет принцип
сжатых отображений (теорема Банаха):
Пусть Т — замкнутое множество банахова пространства Е. Если
отображение у — f (х) сжатое для х, у £ Т, то:
существует решение х = х* уравнения х — f (x), где х* — единственная
неподвижная точка этого уравнения;
при любом выборе начального приближения х0£Т итеративный процесс
хп , х = / (хп) сходится к решению х*, при этом
х* = lim Хп,
П-юо
последовательность хп сходится к г* со скоростью геометрической
прогрессии со знаменателем q, т. е.
\\Х*-Хп\\<-^д- И ^1-^0 II-
Как видно из теоремы, начальное приближение х0 итеративного
процесса может быть выбрано произвольно, лишь бы оператор /
оставался сжатым, т. е. выполнялось бы условие сходимости. Для
функций одной переменной, каковыми являются все элементарные
функции, это условие соответствует условию Липшица с константой
q < 1, т. е.
|fW-fW|<9|^i-^l-
Поскольку элементарные функции имеют непрерывные
производные /' (х), условие Липшица будет выполняться, если в некоторой
окрестности х* решения уравнения х = / (х) \ f (х) | <! q <; 1.
32
Значит, начальное приближение необходимо выбирать из
окрестности, где | f (х*) | < q < 1.
Итеративный процесс имеет порядок р в окрестности корня
х* = lim хп,
Я-юо
если
/<'> (**) = /(2) (**) = • • - fp-l) (х*) = 0; ^ (х*) Ф 0,
где х* — неподвижная точка сжатого отображения /.
МОДИФИКАЦИЯ МЕТОДА ЧЕБЫШЕВА
Одним из способов построения итерации высших порядков
является модификация метода Чебышева, в случае задания уравнения
F(x,y) = 0, (1.78)
где х — аргумент; у — искомая функция.
Как известно, Чебышев [8] и Шредер [91] строили свои итерации
высших порядков, отыскивая корни уравнения
f(x) = 0. (1.79)
По модифицированному методу [76] вместо уравнения (1.79)
рассматривается уравнение (1.78). Положим, что в окрестности
простого корня уравнения (1.79) можно записать
z = F{x,y). (1.80)
Пусть теперь
у = Ф(х,г), (1.81)
следовательно,
у = Ф[х,Р(х,у)], (1.82)
где у £ [a, b], z £ [с, d],
Из равенства (1.82) следует, что корень уравнения (1.78) а =
= Ф [х, 0]. Относительно функции F {х, 0) предполагается, что она
непрерывна на интервале [с, d], имеет непрерывные частные произ-
. водные по у достаточно высокого порядка и что Fy (x, у) Ф 0.
Разложив функцию у = Ф (х, z) по степеням Z — z, приняв х и z
фиксированными, получим
Ъ< ч ■ Ф*У-*) , Ф*'(г-г>2 ,
Положив Z = 0 и учтя условия (1.81) и (1.82), получим
соответственно
ф0)2 ф<2>
а==Ф(х,2) JT + ~W-z2+ •*";
оо
а = у + 2 (- 1? 4г фку [х>F (*>у)] zk- (1 -83)
3 6-493 33
Ограничившись конечным числом членов разложения, можно
записать
._,+5<- в'<'"■;«■»" ,+JbHJ, (1.84.
k=i
где i?m+i — остаточный член ряда (1.83).
Обозначим
т
Ут (*, у) = у + 2 (- 1)*4- <> I*. ^ (*. У)! (F (*• У))"-
Уравнение у — я|?т (я, г/) при заданном значении х имеет корень
у = а, так как F (х, а) = 0 и
4j)m (х, а) = а + ^ (- !)" ^Г Ф^ [х' F (*' а)] (/? (*' а))* = а'
Положив
Уi+i = *m (*. Уд> 1 = 1,2,3,..., (1.85)
получим итерационный метод (т + 1)-го порядка, поскольку
д^т (*. «) д a2il?m (х, к) ^ _ _ dmtym (x, a) _ q
ду ** ду* = ••• ^т
Для обеспечения сходимости последовательности yt+i = tym (х, yc)
при i=l, 2, 3, ... к искомому корню а необходимо, чтобы
начальное приближение (г/0) принадлежало окрестности корня а,
в которой
I ду I ^- v ^
Для оценки погрешности f-ro приближения иногда бывает
удобно представить признак сходимости в следующем виде: если
U>m(*.jO—4>,„(*.jOI<?
для всех у', у" £ [с, d] и если интервал [с, d] содержит у0, уг и все
точки yit удовлетворяющие неравенству
\У — г/г+1|<тг=у|^+1— УЛ, i>0. (1-86)
то приближение yi+y уравнения (1.85) сходится к решению
уравнения (1.78).
Связь между <№ (х, г) и Ф<?> [х, F (х, у)] можно определить на
основе правил замены производных в дифференциальных
выражениях. Учтя условия (1.80), (1.81) и равенство
,м fl при k = 1;
у v an [0 при k>\,
34
получим
ф<» =.
ф? =
ф® = -
Ff (х, У)
b{Ff(x,y)-Ff(x,y)Ff{x,y)\
Of (х, y)f
(1.87)
Подставив выражение (1.87) в (1.84), найдем искомый ряд.
Положим в уравнении (1.84) a s= у, а у в правой части уравнения
заменим на у0 =» а:
У-=Уо
?f (*. Уо) 2
2о ■
4° (*■ Уо) ° 2! |3«» (х, j,„)I
3[ffi (*, Уо)]2 - ffi (*» Уо) 2f <*■ Уо) 3
3! l^1' (*• Уо)Р
Zo —
(1.88)
где невязка z0 — F (х, #„).
Из формулы (1.88) видно, что функция у разлагается по степеням
z0, а не х, что характерно для разложения в ряд Тейлора. Оставив
конечное число членов и сделав соответствующие замены, ряд (1.88)
легко превратить в итерационные формулы любого порядка
сходимости. В этом случае формула для построения итераций высших
порядков по модифицированному методу Чебышева имеет
следующий вид [74, 76]:
Ут = Уь ■
Ч (х, ус)
ЛЧ
*у> (х, Уд
$Чх,Ш) 2\[zf(x,yi)?
з Iff (*■ vi)f ~ 4] (*■ Уд zf (*■ vd
31 [zf {x, W)]«
■*(х,Уд —
z3 (*,&) —
(1.89)
Оставив в выражении (1.89) два члена, получим известную
итерационную формулу (метод Ньютона) [47], т. е. итерационную
формулу второго порядка. Если оставить три члена, получим
итерационную формулу третьего порядка и т. д. Например, для у =.}Гх,
если
п
*(*.&) = - — и
Ш+1 =
1
п
—
„_1 (у" — х)
(я — 1)(2п— 1) ({/" — х?
ЪЪР (/Зп-1
(1.90)
35
Относительные погрешности итерационных формул второго
третьего и четвертого порядков выражаются следующим образом
[741:
Л n—Lr? (я—1)(я+1) дз i (я—1)(я+»)(Д + 2)я*
- _>-1)(2п-1) яз (п-1)(2п» + я-1) а
0/+I « 3! °1 4! °''
(я— 1)(2п— 1)(3я— 1) Л4
4!
0/+1» _ 0г
Эти итерационные формулы можно получить более просто,
основываясь на методе разложения функций в ряд невязок и считая
z0 = */(</") - 1?
МОДИФИКАЦИЯ МЕТОДА ДОМОРЯДА
Метод Доморяда [28] — обобщенный метод Ньютона —
предназначается, как и метод Чебышева, для построения итераций
высших порядков отыскания корней уравнения f (х) — 0. В отличие от
метода Чебышева, метод Доморяда позволяет получать итерации
высших порядков, записанные в компактном виде — виде
рациональных формул. Эти формулы в ряде случаев имеют и несколько
более быструю сходимость. Так, при вычислении функции у = j/x
по итерационной формуле (1.90), найденной по методу Чебышева,
относительная погрешность
« (я-1)(2п-1) аз
°Ч-1 = з! '"•
а при вычислении по методу Доморяда
« _ (п-1)(п+1) аз
б,'+' 12 **■
Однако метод Чебышева имеет более широкий диапазон
применения. Например, при помощи метода Доморяда нельзя получить
итерационные формулы высших порядков для вычисления функции
у = Мух без использования операции деления. Оба метода
включают метод Ньютона как частный случай.
Покажем теперь, как можно модифицировать метод Доморяда в
случае задания уравнения (1.78) [76]. Рассмотрим функцию (1.80).
Если корень искомого уравнения Уг — у0 + До> гДе Уо —
приближенное значение корня, а А0 — абсолютная погрешность, то,
подставив у1 в выражение (1.78), получим F (х, у0 + Д0) = 0. Поэтому
36
справедливо равенство
Ул. = Уо + до + (q + с2Д0 + с3Дй + • • • + cftAo-1) F (х, у0 4 Д0),
где clt с2, ..., cft — произвольно выбранные постоянные.
Разложим функцию F (х + h, y0 + Д0) в ряд Тейлора, учтя
при этом, что h = 0:
#1 = Уо + Д0 + (ci + с2Д0 + с3До + • • • + сйДо-1) f (л:, Уо) +
k—i
+ 2-W *f (*>У°) ** + -&-If (х, Q< (1.91)
где #0 < i < #.
Коэффициенты с£ при t = 1, k — 1 можно подобрать таким
образом, чтобы в выражении (1.91) все коэффициенты, стоящие перед
Д£, превратились в нуль. При этом получим итерационную формулу
{k + 1)-го порядка. Если принять
_ 1
Сг~ Fy(x,yt)*
получим известную формулу Ньютона:
F (х, уд
yi+i = yt
В случае k = 2, Д0 = До = 0
с, =
Fy (х, Vi)
if (х, у0)
llf (*. у0)Г- — Fix, y0) Ff (х, у0)
-о" Ff> (х, у,,)
Со =
llf (х, y0)f ——F(x, уо) ff (х, у0)
У=Уо-
F (х, уо) F® (х, уо)
Ошибка формулы (1.92)
if (х, уо) F (х, уо)
±-Ff(x,y0) F^(x,y0)
[4" Ff <*■ У***] - -T F<?{x' Уо) 'f(x- О
[If (x, Уо)? l~F(x, yo) Ff (*, уо)
AS.
П.92)
(1.93)
При k = 3 и Д0 = До = Ао получим формулу четвертого порядка
[76]
У1=Уо — -в-р(х> Уо)>
(ЬУ4)
37
где А
F{x, g0)
F? (*, Уо)
~Ff{x,y0) F^\x,y0)
В =
Fl/ix^o) F(x,y0)
d(2)
Y Fv (*. Уо) Fy (*. г/0) F (x, y0)
I P(3),
7(D,
6РГ(х,у0) -LFf'lx,y6) П'(*.Л)
Заменив в формулах (1.92), (1.94) уг на у1+\ и у0 на yt, получим
соответственно обобщенные итерационные формулы третьего и
четвертого порядков для нахождения функции у на основе уравнения
F (х, у) = 0 при заданном значении аргумента х.
Пример 2. Пусть требуется вычислить функцию у =■ У х. Положив
X
получим
У i+i
F (х, у) = S— - 1.
№1(я—1)У? + (п+1)*1 ,
(п+1)!/" + (п —1)*
_ (п-1)(п+1) fi3
РАЗЛОЖЕНИЕ ФУНКЦИИ В РЯДЫ НЕВЯЗОК
Метод разложения элементарных функций в ряды невязок
можно использовать для получения итерационных формул высших
порядков. Для этого в ряду невязок оставляется необходимое число
членов и делается замена у на #/+ь Уо на Ui (ПРИ этом zo ~ zt либо
t0 ~ Z\). Так, например, функция у = In x при | z0 \ <; 1
разлагается в ряд невязок [78]
0=Уо + 1п4=^==й> + 2[2Ь+4- + -]Г +
(1.95)
гдег,, = (х — ^с)/(х + е5'0). Заменив у на #,+ь #0 на ^ и z0 на z/f
получим ряд
Уцл = gl+2\zl +
[«
+
]•
где z£ = (х — еу')/(х + е"»')-
Абсолютная погрешность этой формулы при удержании т членов
ряда (1.95) оценивается приближенным равенством
д2т-1
43— ^-.^-о ■ »>2-
•38
МЕТОД РЕКУРРЕНТНЫХ СООТНОШЕНИЙ
Появление ЭВМ, работающих с произвольной разрядностью
(серии «Мир», «Днепр-2»), потребовало нового подхода к вычислению
трансцендентных элементарных функций. Основные трудности,
которые необходимо преодолеть при создании алгоритмов, пригодных
для счета с произвольной разрядностью, состоят в следующем:
можно использовать только те формулы, которые пригодны для
произвольной (любой заданной) разрядности;
используемые константы должны быть заданы с произвольной
точностью;
программа и константы должны минимально загружать ЗУ;
время счета должно быть по возможности минимальным.
Очевидно, что применяемые на практике полиномиальные и
рациональные приближения лишь в очень малой степени в состоянии
удовлетворять этим требованиям.
Аппроксимация элементарных трансцендентных функций с
помощью рекуррентных соотношений позволяет преодолеть эти
затруднения. Введем понятие аппроксимации с помощью 2т-функций
[72]. В зависимости от поставленной задачи под «^-функцией
понимается прямое или обратное рекуррентное соотношение вида
zm+t=f(zj (1.96)
или
Zm-i=/(zJ- (1-97)
В первом случае задается начальное приближение^, а функция
гт является искомой; во втором случае задается начальное
приближение zmj), а функция z0 — искомая.
Рекуррентное соотношение (1.96) можно получить из выражения
путем замены
*m=*/"m О-98)
при принятом обозначении
*т = *Ю- 0-99)
В частном случае величина п может быть истолкована как
основание системы счисления.
Рекуррентное соотношение (1.97) можно получить из выражения
г (^) =/№„)]
путем замены (1.98) при принятом обозначений (1.99).
В качестве начального приближения для рекуррентного
соотношения (1.97) можно взять конечное число членов разложения
функции гт в ряд Тейлора. Если рекуррентные соотношения
предполагается использовать для фиксированного числа разрядов, то можно
воспользоваться полиномиальными приближениями.
39
Для оценки абсолютной погрешности метода в соотношения
(1.96), (1.97) подставляется выражение
zm = zm + Am, (1-100)
где zm — точное значение величины гт; Лт — ее абсолютная
погрешность.
В результате подстановки получаем оценку Am+i < &xAm либо
Am_i <; ^2Ат, где ku k2 — константы соответственно для прямой
и обратной рекуррентных последовательностей.
Для прямой рекуррентной последовательности
Дт<А:ГД0. (1.101)
Для обратной рекуррентной последовательности
Д0<^2тЛт. (1.102)
Учтя оценку погрешности задания начального приближения
До <С Р\, где рх — константа, на основе выражения (1.101) получим
Am<k?Pl. (1.103)
В случае обратного рекуррентного соотношения ДШо <! р2, где
рг — константа.. При этом оценка рекуррентного соотношения (1.97)
A0<femp2. (1.104)
На основе оценок (1.103) и (1.104) можно выбрать значение
параметра т, обеспечивающее необходимую точность вычисляемой
функции. Для уменьшения накапливания ошибок в ряде случаев [10,
87] в соотношение (1.97) вводится нормирующий множитель ит =
= kmzm, где k — константа. В настоящем разделе в основном
рассматриваются рекуррентные соотношения без нормирующего
множителя. Такие формулы имеют наиболее простой вид, но для их
использования требуется некоторое количество дополнительных
разрядов. Оценку случайных погрешностей рекуррентных
соотношений можно производить по методикам, описанным в работах
[20, 86, 92].
Приведем ряд практически важных примеров, иллюстрирующих
метод рекуррентных соотношений.
Пример 3. Аппроксимация sin x. Функцию гт для аппроксимации sin х мож-
во получить в общем виде на основе гармонического многочлена Я^ (sin x, cos x):
Н(Л> (cos Xm, sin хт) = sin (2л + 1) хт =
= S <- 1)*С22ЭД (1 - sin» xm)n-s*sin8^1 xm. (1.105)
ft=o
Сделав замену (1.98) при обозначении (1.99), получим рекуррентное
соотношение для вычисления sin x [110]:
2т_> = S (- l)kC%+\%+1 (1 ~ 4)"-2*, (Ы06)
ft=0
где гт ■=. sin [х/(2п + 1)т], откуда г0 =. sin x.
40
Пример 4. Аппроксимация cos x.
1. Первый метод аппроксимации cos. x при помощи гт-функций основав
на следующей теореме [72].
Теорема 10. Функция cos х может быть аппроксимирована гт-функцией вида
где гт = Ь cos х/(2т) + t; Ъ, t— произвольно выбранные постоянные. При этом-
cos х = (z0 — t) b.
Абсолютная погрешность метода при достаточно больших т является
инвариантной с точностью до величин порядка О (Д^) относительно параметров^
bat. Оценка абсолютной погрешности метода
Дт_,<22Дт. (1.Ю8)
Доказательство. Пусть г (хт) — b cos xm + t. Тогда
г2 {хт) = е2 cos2 хт + 2Ы cos xm +12.
Сгруппировав и преобразовав члены, получим
Ъ
. г2 (хт) = 2f (fc cos xm + 0 — '2 + -у № cos2 xm — fc sin2 *m + Q +
6
+ — (Ь sin2 xm + ft cos2 xm — 0 = 2fe (xm) +
b ft2 bt
+ — z(2xm)-P + - -,
откуда
At 2 2t2
г (2xm) = - _ z (xm) + — z2 (xm) + — b + t. (1.109>
Положив в уравнении (1.109) xm = xl2m и учтя, что zm = г(хт), получим
At 2 г, 2Р
гт_1 = -гт + — гт + — b + t.
Таким образом, первое утверждение теоремы доказано.
Далее, подставим в рекуррентное соотношение (1.107) выражение (1.100);
4t 2
гт_л + Дт_, = — (гт + Дт) + — (zm + Дт)2 +
I At A - 2 ,\
b + t^Zm_l+\~TAm+—zmAm + ~ ЬЦ,
откуда
4' 4 - „ 2 „
-у- Л™ + — гтДт + -J- Дт.
Лт-1 = г- Дт + -Г гтДт + "77 Дт-
Учтя, что cos л: < 1, получим гт < Ъ + Л Пренебрегая членом Д^, находим-
оценку
Дт-1 < - 4г Ат + 4" № + 0 Дт = 22Дт.
т ' ft ft
Следовательно, величина погрешности метода не зависит от параметров С и U
Для практических целей наиболее удобно задавать b = 1 и t = — 1.
41
2. Второй метод аппроксимации функции cos х при помощи гш-функции
основан на соотношении [12]
sin2 2х = 4 sin2 х — 4 sin4 х,
■откуда
гт_, = 4гт (1 — zm); (1.110)
zm = sm*{x/2m).
Тогда cos х =» 1 — 2гг. Погрешность метода оценивается неравенством
|Дт_,1<22Дт. (1.111)
Пример 5. Аппроксимация ах при помощи гт-функций основывается на
следующей теореме [72].
Теорема П. Функцию ах можно аппроксимировать гт-функцней вида
V т-' ~ Ь т Ь
zrn+ — + t; (1.112)
о
zm=ba^2m+t,
где b, t — произвольные постоянные; ах = (г0 — i)/b.
Абсолютная погрешность рекуррентной формулы при достаточно больших
«г является инвариантной с точностью до величины порядка О (Д^,) относительно
параметров but.
Доказательство теоремы-11 аналогично доказательству теоремы 10. Для
практического использования весьма удобно задавать Ь = 1, / = — 1.
Пример 6. Аппроксимация ctg х. Основываясь на равенстве
можно получить рекуррентное соотношение [10]
гт-\ = "2" (г™ —^") '
где гт = ctg х/Я". Отсюда ctg х = г.
Пример 7. Аппроксимация arcsin х. Исходя из соотношения
s;n хт &тхт
(1.113)
2 y"l + sinxm + /l—sinxm
получаем [10]
Z т
(1.114)
где zm = arcsin х/2"1.
При достаточно большом т с точностью до величин перядка О (-: — |
l23m.3I/
можно записать: sin x г=г 2тгт.
Пример 8. Аппроксимация arctg х. Исходя из соотношения
fa Xfn = ^ Хт
2 l + ^l-r-tg2xm •
получаем [10]
2™_li —■
где гт = tgx/2m.
42
m+l— ,,-,/,, 2 ' (1.115)
При достаточно больших т с точностью до величии порядка
' 23т - 3 /
можно записать: arctg х = 2mzm.
Пример 9. Аппроксимация sh x. Основываясь на представлении функции
sh (2п + 1) х через sh x, можно записать [81 ]:
н\
где гт = sh x/(2n -f- l)m- Отсюда г0 = sh x.
Пример 10. Аппроксимацию ch x можно осуществить двумя способами.
В первом из них используется следующая теорема [81 ].
Теорема 12. Функция ch' д: может быть аппроксимирована гт-функцией вида
гт^,=--Ггт + -Гг^+-й b + t, (1.117)
где Ъ, t — произвольные постоянные; гт = b ch (x/2m) +. t; ch x = (z0 — r)/fc.
Абсолютная погрешность метода при достаточно больших т является
инвариантной, с точностью до величин порядка О (Д^), относительно параметров Ъ, t
и оценивается неравенством Дт_1 < 22Дт.
Доказательство этой теоремы аналогично доказательству теоремы 10. В
практических вычислениях весьма удобно задавать Ъ => 1, t =• — 1.
Другой метод аппроксимации функции ch х основан на равенстве
sha2A: = 4sh2x:(l+sh2x).
Произведя соответствующие замены, получим рекуррентную формулу [81 ]
гт-\ =4zm(l+zm), (1.118>
где
гт = а№(х/2п).
Отсюда ch х = 1 + 2гг.
Пример 11. Аппроксимация cth х. Исходя из соотношения
cth2,m = 4(cth^+lthW). <»""9)
можно получить рекуррентную формулу [81 ]
гт-\ = -J- Cm + Vzm), (1.120)
где гт = cth (х/2т). Отсюда г0 = cth x.
Пример 12. Аппроксимация Arth x. Из соотношения
th хт/2 = th xm/(l + У"1 — th2 xm)
получаем [81]'
гт+\ = гт/(1 + Vl-4). (1.121)
гдегт = th (x/2m), откуда Arthx = 2тгт с точностью до величины
43
°(з.23'")-
МЕТОДЫ „ЦИФРА ЗА ЦИФРОЙ"
Особенностью этих методов [43, 45, 116, 137] является
вычисление значений функции «цифра за цифрой», когда каждая итерация
позволяет последовательно вычислять значения цифр qk функции
У — f (x), представленной в виде
п
где т0 — знак числа; qk — цифра (целое число), принимающая
любое из значений 0 — (N — 1); N — основание системы счисления;
п — количество разрядов в представлении числа.
Для машин с плавающей запятой наряду с мантиссой
Q = m02 q^-k
рассматривают порядок числа Р = NmtP, где тг — знак порядка;
р — машинный порядок числа. В этом случае
y = PQ=Nm*^qkN-\
fe=i
Для того чтобы понять суть методов «цифра за цифрой»,
рассмотрим следующий пример [43]. Предположим, требуется вычислить
функцию у = arcsin x. При этом заданы функции sin пх и cos пх,
где л: £[0,1] и хф2~к (k — целое положительное число). Из
функциональных зависимостей
F (т, х) = cos 2mroc + sin 2mnx;
G (m, x) = cos 2mnx — sin 2nnx
можно определить
cos 2m+lnx = F (m, x) G (m, x); - 1 »„.
sin 2m+lnx=F*(m,x) — l.
При этом вычисления начинаются с т = 0. Затем определяют
знак sin 2nx. Поскольку х Ф 2~к, то sin 2ш > 0., т. е. х £ [О, -д-]
или sin 2пх < 0, т.е. х £ (-~-, 1 ].
Первой цифре представления присваивается значение
qx — 0, если sin 2ях > 0;
qx = 1, если sin 2зтл: < 0.
Затем процесс повторяется для т = 1, 2, 3, ...
44
МЕТОД ВОЛДЕРА
Этот метод, тесно примыкающий к системе методов «цифра за
цифрой», впервые был описан в работе [137] и далее развивался
рядом исследователей [5, 17, 42, 116].
При п последовательных поворотах осей на углы фг- вокруг
оси ОХ декартовых прямоугольных координат матрицу суммы
этих поворотов можно представить в виде матрицы направляющих
косинусов [42]
Ln = П /,,
(1.123)-
где
/,=
COS Бф,-
sin eq>(.
- sin ефг
COS Бф^
_ [ + 1 при повороте на угол ф, против хода часовой стрелки;
' \ — 1 при повороте на угол ф,: по ходу часовой стрелки.
Таким образом,
U~LnH'
где х, у — старые координаты; х*, у*
новые координаты, или
[cos
sin
Ml-
где
i=i
Это уравнение преобразовывается к виду
СОБф
s'm<p
,= , U tg ф£
1
1
П-, .
о
Для вычисления sin ф и cos ф запишем полученное в
рекуррентном виде:
Xi+i=-x[—B,yitg(pi;
yi+t =й+e,Jt/tgфl;
Ф*+1 = фг + е,.ф£, i=\,n (1.124)
начальными условиями
Xi
= п
,-=, Vi + tg«4>( '
Ух = 0; ф! = 0.
-S5
Тогда хп да cos ф; уп да sin ф.
При вычислении функций sh ф и ch ф рекуррентные соотношения
принимают вид
*+i' = ^ + Wth(p,.;
У1+\ = Уi + Wi th ф£; (1.125)
ф'+i = Ф' + Е«Ф/. t = l,n
с начальными условиями
п
*i "= П ,,. '., ; s/i = 0; ф! = о.
«=1 У 1 — th2 щ
Тогда хп да ch ф; уп да sh ф.
При необходимости вычисления arctg (z/W) в формулах (1.124)
полагаем ух = z; хх = W; ф! = 0. Тогда
п
Фп = arctg z/W; Хд = П-т-Ц-— У z8 + ^.
Такого типа лреобразование можно использовать для
преобразования декартовых прямоугольных координат в полярные. Если же
преобразования координат не требуется, полагаем ух — ф; Ху = 1;
Ф1|-= 0. В этом случае ф^ = arctg ф.
Для вычисления Arth ф0 в формулах (1.125) принимаем фх = ф;
х1 = 1; ф! = 0. Тогда ф^ = Arth ф.
Для вычисления показательной и логарифмической функций
можно использовать соотношения
ех = sh х + ch х; е~х = ch х — sh x;
tax = 2 Arth-^4-.
ЛС+ 1
Для функции a*/loga x
Xi+i = ^(1 + еД);
yi+i = ft + loga (1 + е Д.), i = 17п,
где Аг = ЛГ"1, с начальными условиями хг = 1; #х = 0. Тогда
уп да a7logflx.
Особенностью использования схем счета такого типа является
стремление использовать вместо умножения сдвиги. Для формул
(1.124) это достигается заменой tg ф. = ЛГ~', откуда
Ф, = arctg ЛГ"*.
В формулах (1.125) делается замена
thq^AT1,
46
(1.126)
откуда
Ф, = АгШЛГг.
Для вычисления sin х, cos x, sh x, ch x
ei = sgn ф(;
для arctg х
et-= —sgn#_i;
для Arth x
ef =— sgn у,.
Для вычисления 2*/log2 x по формулам (1.126)
е,- = sgn (yt -f- 1).
Для осуществления процесса «цифра за цифрой» необходимо,
чтобы соответствующие величины [arctg N~l, Arth TV-1, log,, (1 -f-
+ б, N~')] перекрывали необходимый диапазон, т. е.
образовывали в некотором смысле позиционную систему счисления. Поэтому
для некоторых диапазонов изменения аргумента и оснований систем
счисления приходится повторять циклы с одной и той же
сдвигаемой величиной столько раз, сколько необходимо для перекрытия
диапазона изменения аргумента.
Функцию У~г можно вычислить при счете Arth {alb), если а =
= z + -j-, b = z 2~. В результате получим У г = х,У 1 — N~~2n.
Можно осуществить такие итерационные преобразования пары
чисел х, у, что функция z = F {х, у) останется инвариантной
относительно этих преобразований, т. е. F (лг*+1, Ук+\) = F (xk, yk).
Функция F (х, у) определяется таким образом, чтобы при х -> х
величина у -> ут, т. е. F (хт, у~) = ут, где ут~ значение искомой
элементарной функции в заданной точке.
Преобразования такого типа используются для операции
деления [67, 87]. Так, функцию z = ylx в общем случае можно вычислить
с помощью произведения [69]:
п
z = ys~1Umk, (1.127)
fe=0
г
где s — xf; f — lim П tnk. Эту схему можно представить в итера-
тивном виде [114]: хн+\ ==mkxk, ун+\ =mkyk. При xk->s величина
yk = sz, откуда z я» s~lyk.
В работах [67, 87] рассматривается только частный случай
s = 1, но практически можно использовать любое s = 2±п (п —
целое) либо даже s = 2/3. Чаще всего используют s = 1 и s = 1/2.
Если тк = 1 + 2~т [136], тогда для интервала [1/2, 1]
xk+l=xk + 2-mxk; yk+l=yk + 2-mxk, (1.128)
47
где т = 1 + р; р — число левых нулей в выражении 1 — хк;
х — делимое, у0 — делитель; k = О, 1, ...
Тогда
lim xk+i -»-1, lim yk+x = y/x.
fe-юо /e-+oo
Процесс можно не доводить до конца и завершить по
итерационной формуле нахождения обратной величины. При этом в качестве
х берется Xk+\, а в качестве у0 берется уь+\.
Для вычисления функции уех запишем ее в рекуррентном виде
■[136]:
Xk+t = xk — In mk; yk+i = y^nk.
Взяв mR = 1 -f- 2~m, получим
xk+lM=xk-ln(l+2-m); yw=yk+2-myk. (1.129)
Для интервала [0, In 2] возьмем tn = 1 + p, где р — число
левых нулей в xk. Процесс можно завершить по формуле 178, 82]
yk+2 = yk+x (l + **+| + ^ + -5Г + ' * * ) ' (1Л30)
где при достаточно больших k можно брать Zk+i = jcft+1. Оставив
в формуле (1.130) т членов, получим оценку относительной
погрешности ограничения
б(т)^ (~У" • (1.131)
Для вычисления In х рассмотрим функцию у + In x,
записанную в рекуррентном виде 1136]:
xk+i = xjnk\ yk+\ =yk — ln mk.
При mk = 1 -f- 2~m получим
xk+x =xk+ 2~mxk, yk+i = yk - In (1 + 2~m). (1.132)
Для интервала [1/2, 1] примем т = 1 + p, где р — число левых
нулей в выражении 1 + xk. При этом
lim Xk+i = 1.
Тогда
lim yk+i = 1п х'.
Процесс можно завершить по формуле [78, 82]
[, гк+1 , 2/г+! ,
2fc+l -\ 2 1 3 ■"
где Zfc-j-i = 1 — Xk+\ для достаточно больших k
(1.133)
' Абсолютная погрешность ограничения от удержания т членов
ряда (1.133)
A<*«J5g£-. (1.134)
Для вычисления \1У~х рассмотрим функцию у/У^х, записанную
в рекуррентном виде [1363:
**+i = хкт* Ук+i = ykmk-
При tnk = 1 — 2~т получим
4+1 = хк + Ттхк;
xk+l=tk + 2-mtk; (1.135)
Ук+\ =yk+ 2~myk-
Для интервала [1/4, 1] примем т = 2 + р, где р — число левых
нулей выражения 1 — xk.
Процесс можно завершить по формуле [78]
yk+2 = yk+i\l —-~-+ 2!22 -f ••• , (1.136)
где Zft-n = xyk+l — 1. При этом
б(ш) _ (2+1)(2-.2+1)...((я1-1)2Н-1) (zk+l \m_
ml \ 2 /
5. БЕСКОНЕЧНЫЕ ПРОИЗВЕДЕНИЯ
Бесконечным произведением последовательности чисел
(функций) ри р2, ..., рп, ... называется выражение
П Pk *=/№ .-• Рп- (1.137)
Если взять последовательность конечного числа членов, то
получим частичное произведение
Если последовательность частичных произведений {Рп} имеет
конечный предел, отличный от нуля, т. е.
lim Рп = Р,
л-*оо
произведение называется сходящимся.
Для того чтобы бесконечное произведение (1.137) было
сходящимся, необходимо и достаточно, чтобы сходился ряд
2 1пр„. (1.138)
4 6-493 49
Произведение (1.137) абсолютно сходится, когда абсолютно
сходится ряд (1.138). Присоединение либо отбрасывание конечного
числа начальных множителей не влияет на сходимость бесконечного
произведения. В практических вычислениях бывает удобно
представлять рп = 1 + ап. Тогда
Р=П(1+а„), (1.139)
п=1
следовательно,
1пР = 2 (1+ап).
Теорема 13. Если при достаточно больших п > N все ап > 0 (или ап < 0),
то для сходимости произведения (1.139) необходима и достаточна сходимость ря-
Да 2 а"-
Например, произведение
• n(i I (1Л4°)
при любом х сходится к функции cos х.
В ряде случаев частичные произведения Рп используются для
вычисления многочлена n-й степени [105]. При этом учитывают, что
каждый многочлен Рп (х) можно единственным образом представить
в виде произведения постоянной на п линейных множителей (х —
— **): •
Рп (х) = S akx> = anYl(x- zk), (1.141)
где zk — корни многочлена Рп (х).
Для вычисления на ЭВМ произведение (1.141) можно записать
в виде рекуррентных соотношений
V„ = а„:
Vk = (x — 2k + l)VH.u k = n—\,0; (1.142)
Pn(x) = V0.
При вычислении многочлена Рп (х) по этой схеме, как и по схеме
Горнера, требуется произвести п сложений и п умножений. Однако
частичные произведения Рп обеспечивают большую устойчивость
счета, чем схема Горнера [105].
6. ИНТЕРПОЛИРОВАНИЕ, ТАБУЛИРОВАНИЕ
И СУБТАБУЛИРОВАНИЕ ФУНКЦИЙ
ИНТЕРПОЛИРОВАНИЕ
В практических вычислениях, наряду с аналитическим заданием
функции у = / (х), х £ [а, Ь], широко используется табличное
задание, _когда функция задается в виде таблицы значений хг, yl = f (xj,
i=l, п; xL £ [a, b], где xL — значения аргумента, называемые
узлами интерполяции; yt — значения функции в точкахxt. Таблицы
значений функций составляются с одинаковой абсолютной либо
относительной погрешностью.
В общем случае задача интерполяции состоит в нахождении
приближенного значения функции у = f (x) для произвольного
аргумента х £ [а, Ь] на основе таблично заданной функции. Если
значение х выходит за пределы задания значений xL, то вышеописанный
процесс называется экстраполяцией. Таким образом, интерполяция
и экстраполяция состоят в вычислении значений функции для
неузловых значений аргумента.
Функция ф(х), для которой выполняется равенство tp (xt) =
= / (*/)> i = U ti, гдехг — узлы интерполяции; / (х,) — значение
заданной функции в узлах интерполяции, называется
интерполирующей функцией. Эту функцию можно строить различными способами,
при которых количество вычислений и получаемая точность будут
различны.
Обычно при интерполировании предполагают, что функция / (х)
непрерывна на отрезке [а, Ь] и имеет на нем ограниченные
производные любого порядка в каждой точке заданного интервала изменения
аргумента.
Интерполяционный процесс называется сходящимся, если
limPk(x) = f(x), х£[а,Ь], (1.143)
где Рк (х) — интерполяционный многочлен &-й степени.
Интерполирование с помощью алгебраических многочленов.
Интерполяционный многочлен Лагранжа. Таблично заданную
функцию {х,}, \f (хг)}, i — О, п можно интерполировать с помощью
полинома Лагранжа
Р (x)==f(x) (* — xi) (х--х*) • ■ ■ (* — *") i
(X0 — Xj) (X0 — X2) . . . (X0 X„)
I С / \ \x — xo) \x — x2) • • ■ \x Xn) I < m t
(*i xo) \xi — ^2) • • • (*i *hJ
(x — xn) (x — хл) ... (x — x„ ,\
•■• + /(*„),— rr -i ^- (U44)
' v n/ {xn — x0) (xn — xj ... (xn — xn__l) ч ;
Для случая, когда интерполируемая функция у = f (x)
обладает на отрезке [а, Ь] непрерывными производными до порядка п + 1,
4*
51
ошибка итерполяционного полинома
|АР„(х)|Н/(*)-/>„(*)К (п+цгД'*"**'' (1Л45)
гдеМ = sup |/ln+1) (x)|.
В дальнейшем при оценке интерполяционных формул не будут
оговариваться ограничения, налагаемые на интерполируемую
функцию.
Интерполяционный многочлен Лагранжа иногда используется
для аналитического представления таблично заданной функции.
Причем в узлах интерполяции погрешность метода отсутствует,
а для промежуточных значений достигает своего максимального
значения | ДР„ (х) J,
При равноотстоящих узлах
Pn(x) = Pn(x0+th) =
= (-i)" '<'-'>-<'-"> ±{-if^L, (i,i46)
« ■ fc=o
где t = (х — x0)/h; h = xl+\ — xy, i = 0, n — 1.
Интерполяционный многочлен Ньютона для неравных
промежутков. Понятие разделенной разности является обобщением
понятия производной функции одного переменного. Разделенные
разности нулевого порядка / {xt) совпадают со значением функции
в точке х{. Разделенные разности первого, второго и &-го порядков
приведены ниже:
fir гь- f(xi)-f{Xj) .
г , . f (X2> X3> • ■ • > Xk+\) — f.(Xl> x2> • ■ • > xk)
I (Хц X2, , . . , Xk+l) =
xk+l — xl
или
k+l
f(xux2, .... xft+1)-2 ^—* 1=1, k+l.
/—1 П (Xj — X{)
4=1
Разделенные разности не изменяются при любой перестановке
своих аргументов. Если при использовании интерполяционного
многочлена Лагранжа добавляется один или несколько узлов,
приходится значительную часть вычислений проделывать заново.
Однако можно записать интерполяционный полином Лагранжа в другом
52
виде:
п—I
)П(л; — Xl). (1.147)
Эта формула известна под названием интерполяционного
полинома Ньютона для неравных промежутков. С ее помощью полином
Рп (х) можно записать так:
п
Рп (х) = 2 akxk = а0 + a-L (x — zx) +a2(x — zx) {х — г2)+ • • •
й=0
+ an(x — z1) .... (x — zn), (1.148)
где zk — корни многочлена.
Для счета на ЭВМ этот многочлен можно записать в
рекуррентном .виде [1051:
Vn = а„;
Vk=ak + (x — zk)Vk+i; k^n — \, n — 2, .... 0; (1.149)
Pn(x)=V0.
Эта схема вычисления содержит п умножений и 2я сложений.
Хотя эта схема и проигрывает в количестве сложений схеме Горне-
ра, но является устойчивой относительно погрешностей
округления [105].
Интерполяционный многочлен Грегори — Ньютона для равных
промежутков. Пусть таблично заданная функция определена в
узлах интерполяции xk = х0 + kh, k = 0, п. Тогда
РЛ*) = рп(х0 + ht) = у0 + tAy0 + Ht~l) A2y0 + ...
...+tlt-D...J-n+l)Anyot (1ЛБ0)
где t = (х — x0)/ft; А*/,- = yi+i — &; А2*/, = Ay[+i — Д&; ...;
Аку1 = Aft_1 г//+1 — Ak~1yi, Ay[t A2yit ..., Akyt — конечные
разности.
Погрешность формулы (1.150)
(n+l)l fe=i
о
Интерполяционный многочлен Гаусса. Формулы Грегори —
Ньютона удобны для интерполирования в начале либо в конце
таблицы. Если значение аргумента находится вблизи середины
интервала интерполирования, целесообразно применять интерполяционные
формулы, использующие центральные разности
б/н-1/. = /«■+"/. = /ж — fi>
где /, = у (хв + ih).
БЗ.
Разности высших порядков получают на основе рекуррентных
соотношений
гга «я— 1 tm—1
/г = //+7. — Д-7_-
I. Для интерполирования вперед по 2я +2 узлам полином Гаусса
Р2П+2 (Х0 + Щ = /0 + tfl/t + t(t~1) fl+ .-.
, f(P-l8) ... (<t-(fi-l)«)(.-n) ,2n
f(<l-ll) ... (f«-nl) 2n+l
+ (2n+l)l 'V* ' (1AbZ>
II. Для интерполирования назад
f,an^(x0+<ft)=/1 + (f-l)/v.+ <(<~1} /?+•••
... + . _____ и1ш . (1.15_)
Интерполяционный полином Бесселя.
Р2п+1(Х0 +ht) _/v. +(_ --f )/!/. Ч"11^/'/, + •■•
, f(?-l) ... (^-(»-l)2)(<-«) xjta ,
~r l9„v 14, i
(2n)
*(*•-!) ... (.2 —(«— I)2)(# —/г) (. Lj
(2n+ 1)!
^+1, (1.154)
где A/. = -n- (Л + /o )•
2
Интерполяционный многочлен Стирлинга.
P2„+2(x0 + Щ = /0 + */J + -J /о +
, &(Р-\) ■•• (Р-(п-1)') лп ,
"• + щ\ /о +
+ &r+T)\ /° • (1Л55)
где /o"+I = -g- (/yiJ+1 + /—t') — центральные средние.
Интерполяционный полином Эверетта весьма удобен при
уплотнении таблиц (субтабулировании), когда исходный интервал
делится на m частей:
fito+2 (ДСР + Щ = S0 (1 — 0 + Si (О,
54
где
С /Л if L *№— ') f2_l_ , ^2-1) ... (Р—П»)0п п п .
sQ(t) = tfa + —з! /?+ ••• + &г+Т)\ ^' 9 = 0; ь
(1.156)
Остаточные члены полиномов (1.152) — (1.156) совпадают с
остаточным членом интерполяционного полинома Лагранжа с 2я + 2
узлами. В табл. 1 приведены данные [19] о количестве операций
Таблица 1
Интерполяционный
полином
Лагранжа
Ньютона для неравных
промежутков
Грегори — Ньютона
Гаусса:
I метод
II метод
Бесселя
Стнрлинга
Эверетта
Количество операций
сложений
2и2 + п + 2
n2 + 2rt
и2+1
4и2 + 1
2н2 + 2и+1
4н2 + 3,5н — 1
Зн2 + 2н+1
4п2 + 2н + 1
умножений
2п2 + п — 1
(я2 + я)/2
(и2 + Зн)/2 — 1
2и2 + Зп — 1
2и2 + Зп — 1
2и2 + Зи — 1
(Зи2 + Зи + 4)/2
2и3 + 8и
делений
»»+1
—
п
2п
2п
Зп+1
Зи + 1
in — 1
для вычисления функций в одной точке с помощью различных
интерполяционных полиномов.
Отметим некоторые особенности использования отдельных
интерполяционных полиномов. Полином Бесселя целесообразно ис-
пользовать при интерполировании на середину, когда -т- < t < -у
(полином заканчивается на четных разностях). Полином Гаусса
также целесообразно применять вблизи центральной точки (слева —
при интерполировании назад и справа — при интерполировании
вперед).
Интерполяционный полином Стирлинга целесообразно
применять при значениях t, близких к нулю 1| 11 < -т-J (полином
заканчивается на нечетных разностях).
Чебышевская интерполяция. Построение интерполяционного
многочлена
п
fe=0
на основе заданного набора п + 2 узлов интерполяции а = х0 <
<. хх < х2 < ... <.xn+i = b, обладающего минимальной
погрешностью | [у (х) — Рп (x)]/W (x) |, где W (х) — весовая функция, на
[с, 6] называется чебышевской интерполяцией. Этот метод основан
на теореме о чебышевском альтернансе.
55
Для решения поставленной задачи необходимо определить
коэффициенты ak (k = О, п) из системы уравнений
y(x0) — a0 — a1xl) — a2xl— --- — апхо = pW (х0);
у(хх) — а0 — агхг— а^х\— --■■ —апх1 = — pW(x1); (1.I57)
у (xn+i) — а0 — fli Xn+i — a^xl — ... — anXn+i = (— l)n+1p^ (xn+i),
где p = max y M ~~ Pm M . ■ X —точечное множество \х,\, i =•
= 0,n + 1; W (x) ф 0. Полагая W (x) = 1, получим наилучшее
приближение, обладающее минимальной абсолютной погрешностью на
[а, Ь]. В случае W (х) = у (х) получим наилучшее приближение,
обладающее минимальной относительной погрешностью.
Неизвестные ak{k = 1, п) и р можно найти непосредственно из
системы (1.157). Однако обычно эту систему решают в такой
последовательности [66].
Определяем р, учитывая, что определитель системы —
определитель Вандермонда:
п+1
У. (-l)y{xk)Dk
_ k=o
Р ~~ m+l •
2 V (**) Dk
где
л п+1
1=0 1=1+1
Определяем значение многочлена Рп (х) в точке xk £ X:
\*i
Pn(xd = y(xk) + (—l)*W(xk)p, k = 0,n + U
Определяем значения коэффициентов щ многочлена Рп (х) в
(п + 1)-й точке с помощью интерполяционного полинома Лагран-
жа. При этом (п + 2)-ю точку можно использовать для контроля
вычислений.
Другой способ построения многочлена Рп (х), близкого к
наилучшему приближению и минимизирующего выражение
max
xQa,bi
П (х — xk)
k=0
состоит в оптимальном выборе узлов интерполяции (х — хр i =*.
= 0, я). В результате получаем [41]
PAx)=±A0 + ±AkTk(^^), (1.158)
m
. 2 V? / ч (2t + 1) Ы , 7; m 1 \
гДе Ak = ITTT 2d У M cos 2» 4-2 ' k = °>n~' Tk (x) — поли-
ттл a + 6 . b — a (2/+1)ji
номы Чебышева с нулями xt = —к 1 5— cos 94-2—'
i = О, п.
Интерполирование с помощью цепных дробей. Пусть xt для
i = О, 1,2, ...— произвольные узлы интерполяции, а г/ (хг) —
значение функции в этих узлах. Определим обратные разности:
хп — х,
М*0, *l)~ y(xl)-l(Xl) >
Cfe = (Х0, ХЪ ... , Xk) = Cft-2 (Xi, Х2, . . . , Xk-l) +
Х0 ■ Xft
1_ crfe_, (х0. %, .... xft_,) — afc_! >x, х8, . . . , xk)' ' ' '
Функция у = f(x) аппроксимируется цепной дробью [43]
Пх)=У(хд+ сЛх^ ,
где аг (х, х,) = сг, (^, х2) + M*,^)%W ;
X ■ Яд
ста (х, л;,, х2) — а2 (хи х2, xs) + 0g (х> ^ х^ ^ 9_а^ ^ ^ .
Если у = f (х) — рациональная функция, то цепная дробь
имеет конечное число звеньев.
Обратное интерполирование. При обратном интерполировании
по заданным табличным значениям функции / (xt) определяют
значение аргумента х. Для этого можно использовать вышеописанные
интерполяционные формулы. Так, если функция f (x) — монотонна
и непрерывна, то можно поменять местами аргумент и функцию
и воспользоваться каким-либо интерполяционным полиномом.
Можно использовать метод обращения рядов (гл. 1, 1). Для этого
записываем подходящую интерполяционную формулу в виде степенного
ряда.
ТАБУЛИРОВАНИЕ
Многие задачи прикладной математики решаются с помощью
таблиц значений элементарных функций. При ручном счете
использование таблиц увеличивает скорость вычислений. С появлением
ЭВМ в ряде случаев оказалось более выгодным каждый раз
вычислять необходимую элементарную функцию, чем запоминать
большую таблицу значений искомой элементарной функции, а затем
определять необходимое значение, используя метод интерполяции.
57
Однако существуют задачи, в которых необходимо вычислять
большое количество значений элементарной функции на заданном
интервале, что приводит к большим затратам машинного времени.
К подобным задачам относится, например, преобразование
координат из одной системы в другую.
Прямое табулирование элементарной функции малоэффективно,
так как, кроме дополнительной загрузки памяти ЭВМ, требуется
каждый раз вычислять заново значение функции. Более
эффективны методы табулирования, основанные на рекуррентных формулах.
Так, в работе [88] приводятся рекуррентные формулы для
табулирования sin х и cos х с равным шагом:
sin (я -(- 1) х = sin х cos nx -\- cos x sin nx;
cos (п + 1) х = cos х cos nx — sin x sin nx.
Основываясь на теоремах сложения элементарных функций,
можно так же получить рекуррентные зависимости для
табулирования функций ax+h = axah\ tg(x + h)= -. -^О" f' h ; sin(* +
-\- h) = sinx cosh-\- cos x sinh; cos(x -\-h) = cosxcosft — sinjesinft.
Используя разложения элементарных функций в ряды невязок
[78, 82], можно получить достаточно эффективные рекуррентные
формулы, пригодные как для табулирования, так и для
экстраполирования элементарных функций. Необходимо отметить, что в ряде
случаев такое экстраполирование дает большую точность, чем
интерполирование.
Рассмотрим процесс получения рекуррентных формул для табу-
п,—
лирования на примере функции у = у х.
Приняв zL — —- — 1, где у; — приближенное значение функции;
У?
х — аргумент искомой элементарной функции, получим для | zt | <.
< 1
Учтя, что при табулировании функции в невязке г, величина
у{ = Ухц получим
г/ = х,+1/х/—1. (1.160)
Невязка zl оценивается приближенным равенством [83] zt да
да — n6lt где бг — относительная погрешность искомой функции
уг Следовательно, ошибка ограничения ряда (1.159), возникающая
при удержании т членов ряда,
6С">да(- \Г(П~ 1} {2п~1)''' ((m~ l)n~ l)ff. (1Л61)
58
Таблица 2
Искомая
функция
Невязка
(20
\ч\
Экстраполяцнонная формула
Оценка
г,
б('п), дС")
Х{/Х1+1 — 1
<1
У1+х = yi(Zi + 1)V" = Уг[\ - -1 гг +
+ 2i л» г< /
пбг
6И ^ (-1)™ в™ X
X [(п+1)(2п+1) •■• ((т-
- 1)и + 1)]/т1
в/—
2 (*г-^-1 — *» >
(n+l)xf+(n_l)xt-+]
<1
У1+\ = Wl(« + 1) г/ + 2] '"[2 - (п - 1) zj- /и =
v. I"l , П— 1, i П+ It'll — 1\ 2 , 1
S^^S*
1
v/x
*H-i
H
<1
xfi—LZ£ + i±iL zf )
\ n ^ 2! Ф ' /
n6{
6Wei(-I)m«i X
(n+l)(2n+l)---((m—l)n+l)
ml
xi+l/xi — 1
<1
»,+1 = VI i*i + 1Г'= №(1 -zi+ a?- 2? +• ■ •)
5(m).
l-2-3---m
ml
(1 + *)"
I+*i
4-1
l + *z
?/;+! ={//(!+ Zf)" = Jft (1 — UZi +
п(я--1)_ 2
T 21 ' '
nbi
8W&(-l)m S™x
(n+l)(2n+l)---((m-l)fi+l)
ml
In x
Xl
4+1
<1
>—1
У[+1 = w — In (1 + z/) = j// — z,- + z|/2 —z^/3 +
A/
A<m>«;(-l)mAL.
m
Продолжение табл. 2
Искомая
функция
In* /
а"
tgx
sin x
-
Невязка
(z0
Xl
xi+l — xi
xi+l + xi
(xl+1 — xt) In a
Xi — x,_f_]
Xi — X{+1
1*1 1
< 1
> —1
<1
-< со
< —
^ 2
<; со
Экстраполяционная формула
yt+i= Ус + In (1 + zt) = w—(zt + z?/2 + z?/3+- • •)
1 + zt- ,
J/i+i - Уi + In j _ z. = j/f + 2 (Zi + г?/3 +
+ #.+ ■■•>
r/ _w-^_w-to+T^+^+-?
"' '"^ ,-ы,+^+1гн-)
yi+i = г/г cos г,- — ]/ 1 — у? sin z,- = yt x
/ 72 У \ /
Оценка
2i
Ac
-V2A/
-Л
Ax;
Ax,-
6<m), дС")
»m
m
д 2m—I
Д(лй '
- 22""-1>(2m-l)
е(т>*=!(-1)т-£-
ml
(A*/)
v (A^)2m+1
(2/n + 1)!
cosx
sin x и
cos я
arcfg x
arcsin x
Xi — X,-_f_i
x,- — Xj.^j
Xi — *;+]
1 + xi+\ *i
< CO
< CO
< 1
<1
y[+l = J/icos z£ + ]/ 1 — У\ sin 2£ = Vi X
x(*-r+-)
/ z2 z4 \
sin x.,, = sin x,- i L4.J . —
+ \' 21 ^ 4! ■ /
(44 \
cosx/+1 =cosx|( l_ — + — 1 +
+eta*(*-S-+-5—-)
+-Г-Т+-
0,-+i = Hi — arcsin 2j = {/,• — z,- —
z? 1-3 ,5
2-3 2-4-5 '
Axj
Дх,-
Ai
A,-
A(m>~ f— l)m (Л%) X
X»»+|/l ^(2m+l)f
^С-Ц"^,, x
v „... l/1_,,2(A^rm|1
ДС"> ^ (_ !)"> ^_
m
Д(т)дз
1-3-5 ■■• (2m—1)
2-4-6 •■• 2m(2m+l) X
X Д?т+'
При экстраполировании назад [83]
*-1 = й(1+-г*+тоП2?+ -)• (1Л62>
где г1==х1-\ /X/— 1.
В дальнейшем будем записывать экстраполяционную формулу
только в виде (1.159) и сразу приводить выражение невязки к форме
(1.160). Рекуррентные формулы для табулирования некоторых
элементарных функций [83] приведены в табл. 2. Абсолютные
погрешности ограничения обозначены А '.
СУБТАБУЛИРОВАНИЕ
Под субтабулированием обычно понимают уплотнение таблично
заданной функции, т. е. составление таблицы с более мелким шагом
на основе существующей таблицы. Методы, пригодные для
интерполирования функций, пригодны и для субтабулирования, в
частности, интерполяционный полином Эверетта. Вышеописанный
метод табулирования функций также можно использовать для
субтабулирования. •
Проблема субтабулирования тесно примыкает к проблеме
построения компактных таблиц. Шаг табулирования h = Ах
существенным образом зависит от предполагаемого способа
интерполирования для вычисления промежуточных значений. Наиболее часто
используется линейная интерполяция:
у(х) = у (х0) + tAx, (1.163)
где Ах = у (%) — у (х0); t = (х — х0)/Ах. Формулу (1.163) можно
записать и в другом виде:
у (х) = (1 — t) У (*о) + ty (*i).
Чтобы уменьшить объем таблицы, необходимо увеличить шаг
h = Ах. Однако в этом случае линейная интерполяция может
оказаться неприемлемой, так как при использовании
интерполяционных формул более высоких порядков возрастает объем
вычислений. Чтобы избежать этого, можно применить линейную
интерполяцию с добавлением члена v (t), учитывающего слагаемые более
высоких порядков относительно Ах:
у(х) = у(х0) + tAx + v(f).
Для некоторых функций поправки можно вводить по-другому.
Так, в работе [38] для интерполирования тригонометрических и
гиперболических синусов и косинусов предлагается использовать
интерполяционную формулу
у(х) = (1 -1 + а) у(х0) + (t + |3) у(хх), (1.164)
где а, р — поправки.
Для построения функции у = ех используется следующая
интерполяционная формула [38]: у (х) = у (х0) + (t — a) h, где по-
62
правка
а = t — (eht — \)l(eh — 1). (1.165)
Если выражение (1.165) разложить в ряд Тейлора и оставить
только член с h = Ах, то а = hi (1 — f) (у (хг) — у (х0))/2. Тогда
y(x)=(l-f)y (*0) + ty (Xl) + At (1 - f) v, (1.166)
где v=y((x0 + *i)/2) — (У(x0) + у(xJ)/2.
Обратную интерполяцию можно осуществить с помощью
выражения t — а = (у (х) — у (x0))/h для вычисления логарифмов
чисел. Так, для функции у = In x поправка [38]
1
V 2/ 8И*> +1\2_1 *
\ ^ (*i) — ^ W /
Для Ау = у (х2) — у (х0) = 0,01 эту формулу можно упростить:
v«12-5. 10~6/[£2 (*<>)]•
Поправки аир, входящие в формулу (1.164), можно определить
для тригонометрических и гиперболических синусов и косинусов
соответственно как [38]
а = sin (1 — t) Ax/(sin Ax) -f- t— 1;
а= sh(l — t)Ax/(shAx) + t— 1;
P = sin fAx/(sin Ax) — t;
P = sh ?Ax/(sh Ax) — t.
Разложив эти выражения в ряд Тейлора и пренебрегши членами
порядка малости выше чем (Ах)2, получим приближенные формулы
для поправок:
где верхние знаки относятся к тригонометрическим синусам и
косинусам, а нижние — к гиперболическим функциям.
В середине интервала Ах поправки а = 8at (1 — f) (2 — f)/3;
Р = 8bt (1 — ?2)/3, где для тригонометрических и гиперболических
синусов и косинусов соответственно
, sinMA£/4). . sh* (Ах/4)
" — ° — cos (дх/2)' " - и - ch (Дх/4) *
Построенные таким образом компактные таблицы элементарных
функций, т. е. таблицы с относительно большим шагом и
поправочными коэффициентами, можно использовать как для настольных
вычислительных машин, так и для ЭВМ, у которых вычисления
функций выполняются по таблице опорных значений.
63;
Глава 2
МЕТОДЫ УСКОРЕНИЯ СЧЕТА
1. УМЕНЬШЕНИЕ ИНТЕРВАЛА ИЗМЕНЕНИЯ АРГУМЕНТА
Как при использовании итеративных методов, так и при
многочленной и рациональной аппроксимации весьма полезно
уменьшение интервала изменения аргумента. Это дает возможность
сократить количество итераций или использовать многочленные и
рациональные приближения, содержащие сравнительно небольшое число
членов. Такой прием в ряде случаев значительно сокращает общее
время вычислений.
В некоторых случаях бывает необходимо исключить особенности,
например, при вычислении функции tg х ■ для х £ [— п/2, п/2].
В точках — п/2 и п/2 функция tg x имеет особенности, так как
производная в этих точках обращается в бесконечность. Учитывая
симметричность функции tg х на заданном интервале и простую связь
между функциями tg x и ctg x, можно производить вычисления
искомой функции в интервале [0, п/4].
Вопрос о том, до каких пор имеет смысл уменьшать диапазон
изменения аргумента, в каждом конкретном случае решается
отдельно, исходя из тех требований, которые предъявляются к
реализации алгоритма вычисления элементарной функции на конкретной
ЭВМ.
Остановимся теперь на технике уменьшения интервала
изменения аргумента. Если функция периодическая, то имеет смысл
вычислять ее только на одном периоде изменения аргумента. Если
функция симметричная, то и это свойство можно использовать для
уменьшения интервала.
Одним из наиболее простых и универсальных приемов является
разбиение всего диапазона на ряд интервалов. Такой прием иногда
называют сегментной аппроксимацией [105]. Математически это
можно записать в следующем виде:
h{x), x^Ii,
f2(x), x£I2;
F(x) =
(2.1)
где F (x) представляется функцией в интервале / = la, b\; fl (x) —
функция в интервале /z £ /, i = 1, п.
n
При этом p Ii =■ I- Это означает, что мы разбиваем весь наш
i=i
интервал точками а = а0 < аг < ... < ап = Ь.
Точки alt an_i выбираются либо из требования, чтобы
абсолютные или относительные погрешности на каждом интервале были
одинаковы, либо чтобы поиск в таблице был наиболее прост.
Возможно также требование, чтобы при заданной точности на всех
64
интервалах аппроксимирующий полином имел одну и ту же степень.
Более подробно с таким подходом при использовании полиномов
наилучшего приближения можно ознакомиться в работе [21].
Проблемам минимизации абсолютной погрешности при применении
сегментной аппроксимации посвящены работы [24, 105, 115].
Эффективность применения сегментной аппроксимации
подтверждает опыт эксплуатации ЭВМ БЭСМ-6, в которой большинство
элементарных функций вычисляется по этому методу.
При решении различных задач аппроксимации элементарных
функций используют теорию сплайнов [1]. Сплайнами называют
гибкие лекала с фиксацией точек изменения кривизны. Сплайн
располагают таким образом, чтобы он проходил через заданные
точки. Математически при определении сплайна 5Д {у, х) отрезок
а <[ х <[ b делится на части точками Д : а = х0 < хх < ... < xn —
— Ъ, в которых заданы функции у0, ух, ..., yN.
Сплайн S& (у, х) — это непрерывная на {а, Ъ\ функция вместе со
своими производными, совпадающая с полиномом заданной
степени на каждом из отрезков х £ [x,-_i, xt], I = 1, N сетки А и
удовлетворяющая условиям 5д (у; х,) = yt, i = 0, N. Такого типа
функции называются полиномиальными интерполяционными
сплайнами. Иногда сплайны обозначают 5д (х).
Сплайн называется периодическим, если выполняется условие
5д?,(х0 + 0) = 5(д?)(^-0)
для 9=0, 1, —, п—1, где 5д'(лг) — q-я производная сплайна.
Сплайн имеет степень п, если степень аппроксимирующего
полинома на сетке Д равна п. Сплайн порядка 2п называется простым,
если его (2п — 1)-я производная претерпевает разрыв только в
узлах сетки. Если во внутреннем узле сетки допускаются разрывы
производных, начиная с (2n — k — 1)-й, то говорят, что сплайн
имеет дефект k в точке xt. При разрывах производных во всех
внутренних узлах сетки сплайн имеет дефект k. При этом k £ [0, п].
В практике аппроксимации элементарных функций важную роль
играют сплайны первой степени (ломаные), когда 5Д (х) —
линейная ломаная и определяется на сетке Д. Ломаный сплайн 5д (х)
непрерывен на la, b\ и совпадает с линейной функцией на каждом
из отрезков х £ \xt, x,+i], i = 0, п — 1.
Еще один распространенный прием уменьшения диапазона
изменения аргумента основывается на использовании для
элементарных и ряда других функций теорем сложения и умножения,
а также других функциональных зависимостей. Так, например,
ех+у _ ех _J_ ey-f ex = я-к/lno.
еху _ [едгр; ех = р*Дпр __ р/гр^
где п — целое; 0 < £ < 1.
При желании получить интервал — 1/2 < 1 < 1/2 необходимо
представить хПп (0) = ях + 1/2 + 1, т. е. ех = р"1 р1;У.
5 6-493
65
Аналогично для In х
In (ху) = In x + In у; In x = logc x In a.
Положив x = up*", получим для 1/(3 < и < 1
logp x = и + logpu.
Методы, основанные на теоремах сложения и умножения
элементарных функций, можно также использовать для уменьшения
интервала.С этой методикой, названной в работе [72]
^„-аппроксимацией, можно ознакомиться в гл. 1, 4.
Необходимо отметить, что при уменьшении интервала
неустойчивых значений аргумента погрешность округления может достичь
недопустимых размеров. Чтобы избежать этого, в большинстве
случаев достаточно вести счет с дополнительным количеством запасных
разрядов. В каждом конкретном случае вопрос о количестве
дополнительных разрядов решается либо теоретически (с учетом влияния
ошибок округления и ограничения), либо эмпирически, при помощи
нескольких дополнительных просчетов на ЭВМ с различной длиной
представления чисел. Лучше всего это делать на той ЭВМ, для
которой рассчитан алгоритм вычисления, так как при этом
учитываются конкретные, особенности машины (способ округления, длина
представления чисел и т. д.).
2. СХЕМА ГОРНЕРА
ДЛЯ ВЫЧИСЛЕНИЯ МНОГОЧЛЕНОВ
Одним из самых распространенных методов для вычисления
многочленов на ЭВМ является схема Горнера. Это обусловлено целым
рядом причин. Во-первых, схема Горнера чрезвычайно проста. Во-
вторых, применение этой схемы увеличивает скорость вычисления
многочлена. И, в-третьих, в большинстве случаев уменьшается
погрешность округлений.
Допустим, необходимо вычислить многочлен
рп (*) =2Jakxk=a0 + a1x+ ... + а,.х".
Вместо последовательного возведения х в степень k и умножения
на коэффициенты ak, где k = 1, п, можно записать
Р* (х) = ((( -•■ (апх + ап_х) х + g„_2) -f- ...) х + ах) х + а0. (2.2)
При этом задача сводится к вычислению по рекуррентным
формулам
Vk=ak + xVk+i, k = n—l, 0.
Таким образом, Рп = V0. При прямом вычислении многочлена
необходимо проделать п сложений ип(п + 1)/2 умножений, если каж-
66
дая степень получается путем последовательного умножения на х,
При использовании схемы Горнера необходимо выполнить п
сложений и п умножений. Если же т коэффициентов будут равны нулю,
то количество сложений уменьшится на т.
Рассмотрим два частных случая применения схемы Горнера.
Пусть многочлен выражается только с помощью четных степеней,
т. е.
ft=0
Тогда схема Горнера для вычисления полинома
Р2п (*) = ((••• (а2пх* + <%(,_!,) х2 + ...) х2 + а2) х2 + а0. (2.4)
Рекуррентная запись этой схемы:
У*п = а*т У2k = «2ft + x2V2(k+iy, P2n (x) = V0. (2.5)
В этом случае требуется п сложений и п + 1 умножений. При
нечетных степенях, когда
fc=0
схема Горнера
P2n+i = ((... (ct2k+ix2 + a2k) х2 + ...) х2 + аг) х. (2.6)
Рекуррентная запись этой схемы:
V2n+i = a2n+i; V2k+l = a2k+i + xW^+t, P2n+i = xV0. (2.7)
В этом случае схема Горнера содержит п сложений и п + 2
умножений при /г > 0. Схема Горнера в основном устойчива
относительно погрешностей^-округления, если многочлен не имеет нулей
внутри интервала ее использования. Погрешность округления 'при
вычислении многочлена степени п и вида (2.2) по схеме Горнера
оценивается неравенством [48]
А < 5N-*
iH3/ + 2)lG/l-Kll, (2-8)
/=о J
где N — основание системы счисления; t — количество разрядов
мантиссы.
Если погрешность порядка
является допустимой, то схемой Горнера можно пользоваться. В
противном случае для х £ [— 1, 1] многочлен следует записывать в виде
т
Рп(х) = 2КТк(х)
k=e
5* 67
и использовать следующую схему счета [10, Ш:
У = J yVk+\ +Dk для k = т — 1; -
1 #Уа+1 —14+2 + Д. Для k = m — 2, m — 3, ... ,0,
где
F„ = fo„/2; Дп_,=Ь„_1/2; #=2лг; D0 = b0 — b2/2;
Dk = (bk~bk+2)/2; k=\, n —2.
Pn (x). Эту схему можно записать и по-другому [105,
F„ = &„; F„+, = 0;
Fft = 2*Fft+1 - Fft+2 + bk, k = n-1, 1; (2.10)
F0 = xF1-F2 + feo = ^W-
Хотя эта схема содержит 2п сложений, n + 1 умножение и
проигрывает по числу операций схеме Горнера, однако, как показано
в работах [6, 129], она всегда устойчива в интервале [— 1, 13. Среди
других методов вычисления полиномов отметим метод произведений
и интерполяционную схему Ньютона (гл. 1, 6).
3. МЕТОДЫ МОТЦКИНА — БЕЛАГИ - ПАНА
Схема Горнера для вычисления значения многочлена степени п
в заданной точке в общем случае требует п операций сложения
(вычитания) и п операций умножения. Эта схема широко
используется на практике, однако в случае, когда требуется вычислять
один и тот же многочлен многократно и когда время выполнения
операции умножения значительно больше времени выполнения
операции сложения, более экономно использовать методы Мотцки-
на — Белаги — Пана.
В 1955 г. в работе [122] был предложен метод предварительной
обработки коэффициентов многочлена четвертой степени и схема
вычисления этого многочлена, которая содержит меньше операций,
чем схема Горнера. Дальнейшее развитие этот метод получил в
работах [7, 54, 47, 108].
Минимальное количество операций умножений (делений) и
сложений при построении схем, подобных схеме Мотцкина,
определяется теоремой Белаги [7].
Для любого п всякая схема Рп (х) содержит не менее [(л+ 1)/2] операций
умножения (деления) и не менее п операций сложения (вычитания).
Под схемой Рп(х) понимается схема предварительной обработки
коэффициентов
pt = s'i ® s[, i =. Т7п~,
где © — знак любой арифметической операции; St — либо
переменная х, либо константа ck, либо многочлен Pv (x), v < i, либо
Тогда V0
129]:
68
параметр Я^ == /у- (а0, аг ап), j = 1, г, определяемый из тождества
F (х; a0, alt ..., ап) s= P{ (х; Klt %2, ..., %п); щ — коэффициент
полинома.
Полученные оценки минимального количества операций
справедливы для построения общих схем. В некоторых случаях удается
.построить индивидуальные схемы, содержащие меньшее количество
операций. Однако почти у всех многочленов (с точки зрения меры
Бореля в пространстве Ап+1 многочленов) индивидуальные схемы
содержат большее количество операций, чем общая схема [7].
Существование общей схемы, содержащей [(п + 1)/2] -f- 1
умножений, п + 2 сложений и один сдвиг, показывает теорема Пана
[54].
Для всякого многочлена
Рп(х) = ^ ат^
степени п^2с вещественными коэффициентами существует такой набор
значений параметров N и %r = \ (N), г = 0, п, что
_ \ Qn (х), п = 2k;
Рп {Х) = 1 xQn_, (х) + %п, n=2k+ 1. (2Л1)
В тождестве (2.11) Qn определяется из следующих соотношений:
g(x) = x(x + K1); h(x) = g(x) + x;
где/5(д;)= у
(g(x),
р2 (х) = h (x); p2s+2 (х) = (p2s (x) + K2s) (fs (x) + hs+\), s = 1, k — 1;
Q2k (x) = К (Рад (х) + 2Nx + Х2к), (2.12)
' h (x), если s четно и s Ф k — 1;
. g (x), если s нечетно и s = k — 1.
Случай n = 2k + 1 сводится к п = 2k, если положить ^2ft+i =
= a2k+\. При этом К0 = а0Ф 0. Коэффициенты Х0, Кп выражаются
через коэффициенты полинома на основе тождества (2.11) с помощью
метода неопределенных коэффициентов. Суть этого метода состоит в
приравнивании коэффициентов при одинаковых степенях в левых
и правых частях равенства. Получаем, таким образом, систему
уравнений для определения А,0, ^«- Для каждого \ необходимо решить
алгебраическое уравнение степени т (т = 1, 2, ..., k), причем
значения Я^, Я,„ должны быть действительными.
На практике редко используют общие схемы, так как они дают
худшие результаты, чем индивидуальные (нестандартные) схемы.
Приведем некоторые нестандартные схемы, которые достаточно
часто используют в практических вычислениях.
Нестандартные схемы Пана основаны на следующей
теореме [54].
69
Теорема Пана. Для всех полиномов
п
Рп(х) = У, ап^~т, а0ФО,
четвертой и пятой степени и почти для всех полиномов Рп (х) от шестой до
двенадцатой степени включительно можно указать такие значения вещественных
параметров Я0, %!, Я2, ..., %п, что Рп (х) = Qn {х).
Введем следующие обозначения:
gAx) = x(x+K1); h^x) = g2(x) + х; /2 (*) = М*)+*;
Pi (х) = (?2 (х) + Я2) (Л, (х) + Я3) + Я4;
Рв (х) = [te, (х) + К) (/. О) + К) + h] (Ля (х) + К) + К
Рв (х) = А, (х) (gt (x) + Яг) + Я8;
Ри (х) = (xps (х) + Я9) (/, (*) + Я10) + Яи;
<Ш = ^оРг О) при / = 4, 6, 8, 11;
Qm (x) = hxPm-i M + К при m = 5, 7, 9, 12;
Qio (*) = * [МР8 (х) + К] + Я10.
При п = 4 и п = 5 Яв = а0; ^ = (О\1ао — 1)/2; Я2 = аз1ао —
— Ms/fle + *.? (>i + 1)". *s = л2/а0 — К (^i + 1) — Я2; К = aJao —
— ^2^3; Я5 =аб.
При п = 6 Я0 = с0; Я2 =- ц — 1; Я2 = [р\, — ЯД + Я? (^ + 2)]/2;
^з = Рг — К (К + 2) — Я2; Я4 = f54 — Я2Я3;
5~ а, —2цо,+ Бц»
Я-6 = а6 — р4Я6; afe = aft/a0, fe = 1, 2, ... , 6;
ц = «i/3; Pi = 2\х; Р2 = а2 — (аД — ft,5;
Рт = ат — V&a-l ~ Pm-2^5, ГП = 3, 4.
При п = 6 теорема справедлива, когда а3 — 2|Ш2 + 5ц3 = О,
либо когда а3 — 2(a,a2 + 5(о,3 = 0 и при этом. а5 — ца4 -f- ц,2а3 —
— ц8а2 — 2ц5 = 0.
При 8 < п < 10 К = (oj/oo —3)/4 коэффициенты Я,,, Я2, Я3,
^4. ^5. \> Рг. Ps. P4 и вспомогательные параметры те же, что и при
п = 6; Яу — вещественный корень уравнения
з п—т ч
2 Г ( 2 (- I)1' С?Т7-,п-АГт = 0;
^8 = Ve a6^7; ^9 = а9> Ко = °1о'.
{а = Ях + 1; yk = ak/a0, fe= 0, 1, 2, ... , 8;
«i = Vx — \; «г = т>2 — Я!»! — Я7;
ат = Тт — K^m-l ~ «т-2^7. т = 3» 4» 5. 6-
70
к
4
Б
6
8
9
10
Количеств©
операций
умножения
3
4
4
5
6
7
сложения
(вычитания)
5
б
Ш
10
11
12
Количество арифметических операций, не- Таблица 3
обходимых для вычисления полиномов по всем
этим схемам, приведено в табл. 3 [54].
Наряду с вышеприведенными схемами для
многочленов степени п = 5 и п — 6 можно
применять другие вычислительные схемы [108L Для
п =» 5 многочлен
/>в = 2 апхп
гг=0
можно записать в эквивалентном виде:
0% (*) = ({(Ах + В)* + С) (Ах + BY + D) (Ах +
+ E) + F, (2.13)
s ,—
где Л = уа6; Е = с4
—4В3Е — В2С — 2ВСЕ; F = c0—B*E — В*СЕ.
В является решением кубического уравнения
40Я3 — 24с4В2 + 2(с3 + 2с\) В + с2 — czct = 0;
ск = ak[Ak, k = бГТ.
При п *= 6
Q« = («Л* + £)2 + Q (Л* + D) + (Ax + Bf + E) (((Ax + BY +
+ C)(Ax + D) + F) + J, (2.14)
6 у
где А = у ае; В является решением кубического уравнения 2ВЪ +
1 . ^ ,32,
■ с£ь + -г с*с5 +
АВ; С = Сз + 105* — 4с4£; D = сг — В* -
? - "Г" С4 + 2С2
+ ^'
1 3
-о" С4С5 ■
1
84
з
С5-
4
, 1
i С1 Т ~2~ С3С4
1 г» 1 /
съ;В=—(съ —
+ pB* + qB+r = 0; p=—,
1 _2 _5_ 4 12,3
32 С5 2 С4 -г 32
1 - -2 * - - ' Л ±1,,3х1 _
32 ^ 64 "в' •- — 2
— 45 — 1); С= -f с4-с6£ ^ +ЗЯ2Ч--Ь':, = c2+Я(4D3^-
-f 4D2 + 4CD — 2с3) + В2 (6С + 8D — 14D2) + В3 (20D + 8) + 7 В* —
— С2 + 2CD2 —c3D; £ = с3—С —F—4Б(С + D) —4D(BD + Q —
—В3 (12D + В) — 4Я3; J = c0 — D(C + В2) (Е + F) — ЩВ* + С2) —
%/Ak, k
~EF:
0, 5.
— £2(£2D + F) — £2CD(2D+1)~^ , .Л
Для вычисления полиномов Q5 и Qe требуется четыре умножения
и по пять (семь) сложений (вычитаний).
При необходимости предварительной обработки коэффициентов
для п ;> 10 можно воспользоваться одной из общих схем,
приведенных в работах [7, 47, 54, 105, 108]. Однако по мере увеличения
степени многочлена возрастает погрешность округления.
Результирующая погрешность округления зависит также от тенденции
изменения коэффициентов исходного многочлена и от выбранной схемы
обработки коэффициентов.
71
Предугадать заранее возможность появления неустойчивости
счета весьма затруднительно. Однако это можно сделать после
получения коэффициента экономичной схемы вычисления
многочлена. Одним из признаков вероятного возрастания погрешности
округления является большой разброс коэффициентов экономичного
многочлена.
При неустойчивом процессе счета необходимо либо заменить
схему, комбинируя схему Горнера с методами Мотцкина — Бела-
ги — Пана, либо увеличить количество разрядов для счета заданной
функции, либо перейти на схему Бахвалова (гл. 2, 2) [6, 105].
Отметим, что для ЭВМ,у которых время выполнения операций
умножения близко к времени выполнения операций сложения, применять
методы Мотцкина —■ Белаги — Пана для вычисления многочленов
нецелесообр азно.
4. МЕТОДЫ ВЫЧИСЛЕНИЯ РАЦИОНАЛЬНЫХ ФУНКЦИЙ
С целью уменьшения количества операций умножения при
вычислении рациональных функций вида
k=0 I \p=0 /
для числителя и знаменателя можно использовать схему Горнера
либо методы Мотцкина — Белаги — Пана.
Для уменьшения количества коэффициентов и сокращения
времени счета рациональной функции в большинстве случаев
целесообразно поделить числитель и знаменатель дроби на коэффициент
ak или Ък, благодаря чему один из коэффициентов обращается в
единицу.
Важным источником получения рациональных функций
являются цепные дроби. Остановимся на некоторых методах вычисления
л-й подходящей дроби. Наиболее простой метод вычисления л-й
подходящей дроби вида
^=eS = 6«+-?|-+x-+-+t- (2Л5)
состоит в последовательном выполнении операций сложения и
деления, начиная с л-го звена.
Первый способ. Для цепной дроби вида (2.15) этот процесс можно
представить в виде рекуррентного соотношения
dk-\ = bk-i + akfdk, k = л, п— 1, ... , 2, 1.
Взяв в качестве начального приближения dn = Ъп и проделав
все итерации, получим /„ (х) = Рп (x)IQn (x) = й^. Для цепной
дроби вида (2.16) процесс вычисления можно представить в виде
72
рекуррентного соотношения
4-i = bk-i + ak/dk, k = n, л — 1, ... , 3, 2,
где d n= bn. Отсюда значение подходящей цепной дроби fn (x) =
= V(i + <к).
Второй способ. Для вычисления л-й подходящей дроби вида
(2.15) используются рекуррентные соотношения
Рп — ЬпРп—\ + апРп—2',
Qn = bnQn-i + anQn_2, л = 1, 2, 3 ...
при начальных значениях Р0 = b0; Q0 = 1; P_i = 1; Q_i = 0.
Третий способ. Вычисление л-й подходящей дроби вида (2.15)
по методу, предложенному Тейкроу [43], производится по формуле
fn{x) = b0 + %nPk, (2.17)
где Pk = l/[1+Uk(\ — Pk-i)] — 1, * = 3, 4,..., л; Uk =
= akl (Ьь-Фь); Р, = ajbt Pt = 1/(1 + Uz) - 1.
Если значения Uk вычислены заранее, то в общем случае
количество хранимых в памяти машины коэффициентов может
сократиться почти вдвое по сравнению с первым и вторым методами
вычисления цепных дробей.когда необходимо хранить все коэффициенты
o-i-, bt. Однако для многих элементарных функций удается довольно
просто описать закон изменения коэффициентов щ и bi3 тогда
указанное преимущество третьего метода исчезает.
При использовании описанных методов вычисления л-й
подходящей дроби необходимо учитывать некоторые их особенности. Так,
например, при вычислении цепных дробей на ЭВМ, имеющих
режим плавающей запятой, погрешности округления
распространяются быстрее, чем при счете соответствующей
дробно-рациональной функции. Пример резкой потери точности при вычислении
цепной дроби приведен в работе [108].
Однако для многих разложений элементарных функций в
цепные дроби эта проблема стоит не столь остро [30].На практике при
использовании описанных методов весьма желательно просчитать
функцию fn(x) для заданного диапазона изменения аргумента на
ЭВМ с целью определения фактических погрешностей. Уменьшения
погрешности можно достичь за счет увеличения точности
промежуточных вычислений. При некоторых условиях вычисление цепных
дробей не приводит к накоплению погрешностей [14].
Особенностью применения первого метода вычисления цепной
дроби является необходимость заранее задаваться числом звеньев,
цепной дроби. При изменении числа звеньев все вычисления
необходимо повторить. Первый и третий методы не дают больших чисел
при промежуточных вычислениях, в то время как во втором методе
величины Рп и Qn возрастают очень быстро. Во втором и третьем
методах при увеличении числа звеньев цепной дроби можно
использовать полученные на предыдущих шагах результаты. Как
73
-отмечается в работах [30, 48], с точки зрения накопления
погрешности при вычислении элементарных функций предпочтение следует
отдать первому методу.
В ряде случаев, когда в ЭВМ операция деления выполняется
достаточно быстро по отношению к операции умножения, бывает
целесообразно аппроксимировать элементарные функции цепными
дробями. Так, для системы IBM-360 большинство рациональных
приближений в ФОРТРАН-библиотеке вычисляется в форме цепных
дробей [108]. Это объясняется тем, что при записи
дробно-рационального выражения в виде цепной дроби общее количество
операций сокращается. Так, например, при вычислении функции /3 (х) =
=*= Р3 (x)/Q3 (x) в рациональной форме требуется 5 умножений, 1
деление и 6 сложений, а в виде соответствующей цепной дроби —
3 деления и 6 сложений.
Рассмотрим процесс построения соответствующей цепной дроби,
.исходя из заданного дробно-рационального выражения по методу
Висковатова [96]. Метод основан на тождестве
f fl*W(ii vW-^,^,^,.... (2.18,
ГДе CLmn = ат—1,Фт—2,п+1 G/n_2,oGm—i,„-Hf Ш = 2, 3, ... ,
п = 0, 1, ...
Вычисления ведутся по схеме
аоо °1)1 йог
°ю аи аи - - •
^20 ^-21 ^22
Если коэффициент ата = 0, то, сдвинув (т + 1)-ю строку на
одно место влево, получаем (т + 2)-ю строку, (т + 3)-я строка
получается по общему правилу за счет комбинации т и (т -f- 2)-й
строк и т. д. Разложение в этом случае имеет следующий вид:
|^/(| v)=^+-^+...
°ft—1,0х ak,ix2 ak+\,\x ak+2,\x ,o iQ4
••■ + Cfc_2.0 + fife-I,0+ ak,l + 4+1,1
При другом методе построения соответствующей цепной дроби
по заданному дробно-рациональному приближению используется
соотношение [94]
т—\
Р 1 (Х) т— • / т \
р (*) = 1,1 = 2 аит^ххЧЫ ашх' =*
1=0 \t=D )
Рт(х)
I X X
К + Ьг + b2 + .-. +ЬЙЯ_1'
74
(2.20)
Где Ь0 — Оо,тМ>.т—Г. CLl.m-Ч = Gi+l.m &оа£+1,т—I. 1 = 0, Ш 1; Ьк =»
= Clo,m—kJClo,m—k—u Cli,m—k—2 = Gi+l.in—k — Oftft'+bm—*—1-
В случае деления на нуль вычисление невозможно.
В некоторых случаях используют преобразование отношений
степенных рядов в цепную дробь [94]:
(2121)
1 + 2 ««*"
п=1
1 + 2 b»x"
п=1
где ЧРо == "Фо = Ч^ =
fn =
Фл+1 =
1
«1
й2«
1
«1
Оа
аъп
= 1 +
■1;
0
1
<к
<hn—\
0
1
«1
Й2п—1
со
Z
Л=1
0
0
1
a-in-
0
0
1
O-in-
«Pn^n-l
1 '
... 0 1
... о ъг
... 0 fc2
-2 ... ап fen—i
... 0 1
... 0 &!
... 0 62
2 ... Йп-Ц Ь2„
4>n_l*n+l
«РлФл
1
0 ... 0
1 ... 0
&!■ ... 0
Ь2п-2 ... Ьп
0 ... 0
1 ... 0
К ... о
fen—i * • • Ьп
п> 1, Tj)n+I(pn=^0.
Если в выражении (2.21) положить Ъп — О для п ;> 1, получим
формулу для преобразования степенного ряда в цепную дробь. Для
практических целей преобразование (2.21) можно записать в
следующем виде:
f 1 + 5 °огА I (1 + £ Gi«*n>) = 1 + Z fan-W - «ш)/1; (2.22)
\ п=1 / / \ 1=1 / П=1
Я(/Ц-1)л = (^(п+1) — Щ/t—l)(n+l))/(«fti — 0(А—l)l).
5. УЛУЧШЕНИЕ СХОДИМОСТИ СТЕПЕННЫХ РЛДОВ
Методы, рассматриваемые в данном параграфе, применимы для
последовательности сходящихся значений. Эту последовательность
могут образовывать члены и частичные суммы ряда, подходящие
дроби, приближенные значения искомой функции, получаемые методом
итераций, и т. д.
Степенной ряд, аппроксимирующий искомую элементарную
функцию для счета на ЭВМ, должен достаточно быстро сходиться.
75
Однако медленно сходящиеся и даже расходящиеся ряды не столь
редки в вычислительной практике. Во всех случаях желательно
улучшить сходимость.
При улучшении исходят из того, что, зная члены
последовательности
А = {щ}, t=l, 2, 3 k, (2.23)
можно получить новую последовательность
Т{А) = {t{alt а2, ... , ak)}, i = 1, 2, 3 k, (2.24)
стремящуюся к искомой функции быстрее, чем последовательность
(2.23).
Методы улучшения сходимости позволяют сэкономить
количество операций, необходимых для получения заданной точности.
Однако при этом происходит потеря точности за счет вычисления
разностей близких между собой чисел. Для преодоления этого
недостатка при вычислении величин, входящих в такие разности,
необходимо использовать дополнительное число разрядов.
Увеличение точности счета достигается за счет использования нескольких
дополнительных разрядов в ЭВМ с переменной разрядностью или
двойной длины слова в обычных ЭВМ.
Опишем некоторые из используемых на практике методов
улучшения сходимости степенных рядов.
Преобразование Эйлера. Если для степенного ряда
л=1
при | х [ <; 1 выполняются условия
lim-^-1; Нтф±1-=1. (2-25)
где ДЧ,= ап+1 — ап; Акап = A^'^+i — Aft~4, k=\, 2, ... , р,
то справедливо равенство
оо m—1 со
n=l fe=I ч ' ' п=1
Это преобразование соответствует признаку Даламбера
сходимости степенных рядов. Рассмотрим два частных случая.
1. Пусть коэффициент ап — Р (п), где Р {п) — полином степени п.
Тогда, применив преобразование (2.26) и учтя, что Akan = О,
получим [49]
2 рюх?=2Afcp(1) пУ • <2-27>
где Д°Р(1) = Р(1),
76
2. Считаем, что коэффициенты ak представляют из себя частные
суммы бесконечного ряда, т. е.
V=i(-l)nfc«. £ = 0,1,2,...
Допустив, как и в первом случае, что Ъп = Р (п) и положив в
формуле (2.27) х = — 1, получим '
_ (2-28)
"i S
т. е. преобразование
2 ья«2 (-»)*-
п=1 £=0
е
m = k = 2
1 1=0
2fc+l
Д'б£
2«+l
Если все Ь£. имеют одинаковые знаки, то преобразование Эйлера
не принесет ожидаемых результатов по ускорению сходимости
ряда.
Преобразование Куммера. Если даны ряды
со со
Лт= 2) ап; Вт= £ Ът (2.29)
п=т п=т
первый из которых основной, а второй — вспомогательный (оба
ряда с положительными членами), и существует конечный предел
А = lim фп/ап) Ф 0, то справедливо следующее равенство (пре-
образование Куммера ряда Ат):
n=m
Эффективность применения этого преобразования возрастает,
если вычитаемые ряды имеют почти одинаковую быстроту
сходимости.
Пример 13. Пусть имеются ряды
п=1 л=1 л=1
-(>-4-)+(-W-)+•■•-'•
Отсюда
ОО О©
Л1=1+2 Ь^_«(«+!) =1+2 n*(n+i)
л=1 L «=1
77
т. е. получен ряд со сходимостью более быстрой, чем сходимость исходного ряда.
Если продолжить этот процесс, получим
1 то 1
Л2 = 1 + "22- + 2 ! 2d пг {п + !) (я + 2) ;
п=1
11М 1
Лз=1 +~~& + Ж + 3! 2d п2 (я + 1) (п + 2) (п + 3) ;
п=1
^ft- 1+ 22 + ••• + k2 +kl2i П*(П+1)...(П+1г) '
Tt=l
Преобразование Маркова. Для преобразования сходящегося ряда
А = 2 ап разлагаем каждый член ап каким-либо образом в
оо оо со
сходящийся ряд а„ = 2 fan- Тогда А = 2 2 ^л- Предпо-
со
лагая сходимость ряда 2 ^ftn = ^ь. Марков установил необхо-
п=1
оо
димые и достаточные условия того, чтобы ряд 2А& сходился
к той же сумме А. Таким образом, преобразование Маркова
можно записать в виде равенства
^ = 5Й« = |Л- (2-31)
°° 1
Пример 14. Рассмотрим ряд ^ —j-. Представив
••^—«» + «-+ - +-V-l. + ft-'"-')'[l.2.,l(» + l) +
f.■_..-' „.-..1 +
2-3... (n + 2) ' ' (я—1)я. . .(2я—1) J
+ _ (n-l)I
n2(n+l) ... (2n— 1) '
получим [89] равенство, в котором ряд справа сходится достаточно быстро:
ns ^ 2*1
л=1 А=1
Метод эхономизации степенных рядов Ланцоша. Пусть задан
многочлен
*„(*)-2 ****. (2.32)
fc-0
78
аппроксимирующий заданную элементарную функцию в интервале
[—1,1]. Если коэффициенты разложения заданной функции в
степенной ряд известны, то можно воспользоваться методом экономи-
зации степенных рядов [44]. В частности, можно использовать
отрезок разложения функции / (х) в ряд Тейлора.
В случае х £ la, b] к интервалу [—1,1] можно перейти с помощью
преобразования х = [(а + Ь) + ф — а) х]/2. Многочлен (2.32)
можно преобразовать к виду
т
Л»(*) = ±bkTk(x), (2.33)
fc=6
где Tk (х) — полином Чебышева.
Такое преобразование легко осуществить при помощи замены хк
выражением, содержащим Ts (х) (/ = 0, k):
М
** = 2^* 2 Cj,7V_2i(JC)t (2.34>
1=0
где [ 3 — наибольшее целое число.
А
Если существует такое число и, что величина 2 I bm+i-t I +
+ Д, где Д —• погрешность усечения многочлена (2.33), меньше-
допустимой погрешности, то последними р членами полинома (2.33)
можно пренебречь, поскольку | Tk (х) | < 1.
В общем случае необходимо брать больше членов многочлена-
(2.32), а затем усекать многочлен (2.33) до получения допустимой
погрешности. Теперь от выражения (2.33) можно перейти к
многочлену
т—d
Pm-d{x)= ^c,pck, (2.35)
Jfc=0
подставляя вместо Tk (х) их выражения через разложения по
степеням х. Если х £ [0, 1], вместо Tk (x) можно использовать
смещенные полиномы Чебышева Tk (x).
В работе [43] описан метод непосредственного перехода от
многочлена (2.32) к многочлену (2.35). Если известно разложение функции
/ (х) в степенной ряд Р (х) = 2 <Vft, тогда
fc=0
^m(*)»S Sm**, (2.36).
ft=0
- »"}] aiNm.i\ Nm.t -" 0, если i + l нечетно;
г»е
79-
-^2?+l,2/ = N%,.2j
1 при s = / < q;
О при s=^/<9;
(2s)! 0- 9 - 1)1 (q — s)\ (q + j)\ (/ - s)
при }>q;
Nig—l,2q— I = N2q,2j+1 =
1 при s = /<^;
0 при s=£j<:q;
(- 1)'—' 22Е-/>(2/+1)1(5-+У)1
1 U (2s+1)1 (/-9)I (/.+ ?)« to-s-1)1 W-s) "P"'^-
6. УСКОРЕНИЕ СХОДИМОСТИ
ДРОБНО-РАЦИОНАЛЬНЫХ ВЫРАЖЕНИЙ
Получение наилучших рациональных приближений при помощи
.общих методов (см. гл. 1, 3) является довольно трудоемкой
процедурой. Используя известное рациональное приближение либо
получив его при помощи какого-нибудь простого метода и применив
экономизацию степенных рядов Ланцоша [44] для числителя Рт (х)
и знаменателя Qn (х), можно получить рациональное приближение,
-близкое к наилучшему в заданном интервале в смысле абсолютной
нормы погрешности. В качестве исходного выражения рациональной
-функции Rmjn (х) можно использовать аппроксимацию Паде.
В связи с тем, что в ряде случаев целесообразно представлять
рациональное выражение в виде цепной дроби, рассмотрим метод
экономизации цепных дробей [108, 119].
Пусть функция / (х) аппроксимирована цепной дробью вида
+ ... (2.37)
,и пусть эта аппроксимация является при фиксированном числе
членов наилучшей в малой окрестности точки d £ [—1,1].
Необходимо найти новые коэффициенты at (i = 1, п), обеспечивающие более
быструю сходимость подходящей цепной дроби PJQn к функции
J (х) в интервале [—1,1]. Для этого можно воспользоваться
рекуррентной формулой [108]
% = afe|l— (— 1)"-*с*_, Пр,1, ft=Tn.
где pi = ak+xl(bkbk+i)\ величины ck определяются для
фиксированного п как коэффициенты, стоящие перед х° (а = 0, п)
уравнения 2-("-1>7п = хп + Cn~ixn-X + cn_2x"-2 + • • • + с0, полученного
.из полиномов Чебышева Тп степени п.
«1
Ьг
+
агх
ъ%
+
а3х
bs
.80
Если / (х) — четная функция, т. е.
коэффициенты ak определяются из рекуррентных формул
ak = ak\ l
■ C2k-2 П Pi
Pk = ak+1/(bkbk+i);
k = 1, n;
коэффициенты Czk-2 определяются из равенства
->—(2п~1)гГ . /мЛ „2« , „ „2п—2
Если / (л:) — нечетная функция, т. е.
+
+ с0.
аь = ak h—c2fe-i n pt
L i=k
Pk = ak+l/bkbk+l;
коэффициенты ck определяются из равенства
2-2"Г2п+1 = x2n+l + ^-V""1 + с2п^п-ъ +
1, n;
+ сгх.
Примеры использования этих методов можно найти в работах
[108, 119, 126].
Сжатие цепных дробей.
Цепная дробь Бернулли
k0 +
кг — кп
V
(kt — kn) (ft2 — А:3)
1
+ К — k0 + ks — kt
( V-2 — kn_3) (ft„_, — kn)
+
■ +
"n "n—2
+
(2.38)
отличается тем, что подходящие дроби ее имеют наперед заданные
значения kv, i — 0, 1, 2, ... Если за k{ принимается некоторая
подпоследовательность подходящих дробей, говорят, что цепная дробь
Бернулли получилась путем сжатия исходной цепной дроби.
Положив kn — PirJOzn, получим [96]
&0+ К + Ь2 +
+ Ьп +
А +
С 6-493
ахЬг а2аф9 айафф6
Ьфг+аг — ф2Ь3 + а3) Ьл + 62а4 — (Ь4ЬЪ + аъ) Ье + Ь4ае -
а2п—2а2п—1 Ь2п ~4р2п
"~~ (b2n-2 b2n-l + c2n-l) Ъ2п + b2n-2a2n — ••• "
(2.39)
81
Таблица 4
Искомая
функция
Пг
у х
1/П/
Чу/ х
(1 + X)"
In х
а*
tgx
sinx
COS X
arctg x
arcsin x
Представление функции
через невязку z„
J/o(Zo+DV"
J/o(Zo+irV"
Г/и Л- lb. -J- 9.1 V"
J/o
2-(/1-1)гс]
г/о(го + 1Г'/п
г/о(1-г0)"
г/о — 1п(1 + г0)
J/o + bi(l— г0)
г/о + In; 1 Ьг0)/(1-г„)]
г/о^о/1пс
(»о —tg2b)/(l +
г/осо
г/осс
s20-sinz0]/l —Ь'|
sz0+sinz0]/l—yl
у0 — arctg ге
г/0 — arcsin z„
Невязка (г0)
*/г/'о -1
t/S/x - 1
2(x-y{J)
(»Н-1)*о+(п-1)*
«»о —1
1-(1+*)йГ'/В
е8'"/* — 1
1 — хД*»
(х — log a yjln а
arctg Уо — -к
arcsin j/0 —-л;
arccos y0 — х
0-gVo—x)/(l+xtgyo)
sin у0 У 1 — хг —
х У I — sin2 у„
Оценка невязки г0
(1 + еоГп-1«-«б„
{1+в.)"-1»пвь
2[1 — (1 +
(п+1)(1+60)"+(«-1)
*60
(I+W-1 ««6„
(i + e&)"-i^"6«
*й«_1^Д0
1— е-л0даД0
(1-/лв)(1—е-ло)^
^До/2
(1—log0(l+6o))'na«
я# — 60
^Д0/(1 + г/2 + ь/До)
я*Л0/|/ I — ^длй у,«1
даД0/ ]/ l — i/o для #о«1
даАо
даД0
П римечание. у„ — приближенное значение искомой функции в интервале [a, V\\
бо — относительная погрешность приближения jra; А0 — абсолютная
погрешность.
В2
Пример 15.
12х
8 ~ + 1 — 2 + 3 — ••• — 2 +2п+1 +6(2 —х)+*а
7** (4n — l)(4n — 9) л4
10(42 + ха) — ••• — 2(4n — 3)(2(4n — 5) (An— l) + x2) —
■ Приняв kn — Р2п+\10-2п+\' получим [96]
°~*~ bi + h + ■•■ + Ьй + ■■• Ьл -ф^ + а^Ьз + Ь^з —
азйд&Д
— ФФь + ««) h -f Vs — ■■•
а2п—1 агг$2п—3^2п+1
• • • — (Ь2и-1Ь2/1 + °2п) Ъ2п+\ + b2n—la2n+l — ■■■ '
Использование метода невязок для ускорения сходимости
цепных дробей. При экономизации цепных дробей в основном
преобразовываются коэффициенты разложения, что превращает их из легко-
вычисляемых в сложные. При использовании метода невязок
коэффициенты остаются столь же легковычисляемыми, а преобразованию
подвергается аргумент [84]. При этом можно увеличить скорость
сходимости разложения функции в цепную дробь на заданном
интервале.
Пусть функция у = f (х) аппроксимирована цепной дробью и
эта аппроксимация является наилучшей в окрестности некоторой
точки d £ [а, Ь]. Необходимо найти способ замены аргумента х
невязкой z0 = F (х, у0) уравнения F (х, у) = 0, где у — искомая
функция; у0 — приближенное значение функции у = / (х) на [о, Ь].
Такая замена при соответствующем выборе у0 обеспечивает
ускорение сходимости подходящей дроби Pn/Qn к функции / (х) на отрезке
[а, Ь]. При этом можно воспользоваться соотношениями,
полученными при разложении некоторых элементарных функций в ряды
невязок [82, 84] (см. гл. 1,4).
В табл. 4 приведены такие тождественные равенства для
различных функций. Аналогичные выражения можно составить для
прямых и обратных гиперболических функций.
Используя вышеприведенные равенства и соответствующие
разложения функций в цепную дробь, можно получить разложение
искомой функции в цепную дробь по невязкам.
Пример 16. Используя выражение для функции (1 -f- х)п в неявном виде
из табл. 4 и разложение функции (1 -f- x)k в цепную дробь
п л. r\k - Js- — (1+®х (l—k)x (m + k)x
l1+•*> - ! _ I + 2 + 3 +•••+ 2 +
(m — k) x ,
+ 2m+l + •■• •
6*
83
получим разложение
пг—_ у0 г0 («+ 1)г0 (и— 1)г0
V 1 — п + 2п + 3n -f •■•
(m«+l)z0 (mn—1)г0
... + 2n + (2m+ 1)" + ■••*
где z0 = x/y%— 1.
Взяв в качестве i/0 наилучшее постоянное приближение функции у — у^ х
на заданном отрезке [а, Ь], согласно [73] получим у0 = 2тМ/(т-\- М), где
т = mm ух; М= max j/ x.
хф1, й] дс€[а, 6]
Для отрезка [а, 6], где f" (х) ф 0, у0 = 2 ^/ab/(j/~~a ■}- '\П>). При этом
| S0-1 < | I — Vol ■/ Ь\- Таким образом, z„ c=z — п [ 1 — г/0/>/ b |.
7. УСКОРЕНИЕ
СХОДИМОСТИ ИТЕРАТИВНЫХ ПРОЦЕССОВ
' Сходимость многих итеративных процессов можно улучшить,
используя несколько уже вычисленных значений итераций. Одной
из необходимых предпосылок для применения методов улучшения
сходимости итеративных процессов является выполнение условия
lim yk = у, где у — точное значение искомой функции у =
ft-»-oo
= f (x). Методы улучшения сходимости обычно применяются для
достаточно больших к, когда yk достаточно близко к искомому
значению функции. При этом необходимо, чтобы значение у*,
полученное путем ускорения итерации, было ближе к функции у = f (x),
чем последнее значение, найденное методом итераций. Необходимо
также учитывать экономичность применяемого метода ускорения
итераций.
Основной недостаток рассматриваемого метода —большая
потеря точности из-за вычисления разностей близких друг к другу
значений последовательности-yk, yk+i, Уь+2- Поэтому счет данной
последовательности необходимо производить с большей точностью,
чем основные вычисления.
Если сходимость погрешности Д(. = у — y-t итерационного
метода убывает приблизительно как геометрическая прогрессия, то для
улучшения сходимости целесообразно применить формулу [33, 71]
yl+2 = ijk+2 — (Ayk+if/A2yk, (2.40)
где Ayk+l = yk+2 — yk+i\ A2yk = Ayft+I — Ayk = yk+2 — 2yk+i + yk.
Формула (2.40) называется «б2-процессом Эйткена». Процесс по
этой формуле можно начинать, когда величина yk+l будет настолько
близка к искомой функции, чтобы | (у — yk+i)/(y — yk) | ■< 1.
В случае квадратичной сходимости, когда yk+2 — yk+i =»
да q (yk+i — yk)z, где q — постоянная, не зависящая от параметра
84
k, для улучшения сходимости целесообразно применять формулу
yk+2 = ук+2 - (Ayk+if/(Ayk)2. (2.41)
Оценка порядка величины у — yl+2 показывает, что
приближение yl+2 лучше, чем уь+2, но хуже, чем yk+з 133]. Таким образом,
этот метод целесообразно использовать только при условии, что
количество вычислений по формуле (2.41) меньше, чем в случае
применения основной итерационной формулы. Примером
итеративного процесса с квадратичной сходимостью является метод Ньютона
(см. гл. 1, 4).
Глава 3
НАЧАЛЬНЫЕ ПРИБЛИЖЕНИЯ
1. АППРОКСИМАЦИЯ АНАЛИТИЧЕСКИ
ЗАДАННЫХ ФУНКЦИЙ ПОЛИНОМАМИ
НИЗКИХ СТЕПЕНЕЙ
Использование итеративных процессов и разложений функций
в ряды невязок при вычислении элементарных функций
предполагает задание начальных приближений. Среди них особое значение
имеет аппроксимация аналитически заданных функций полиномами
низких степеней,'обладающих минимальной величиной
относительной либо абсолютной погрешности в заданном интервале изменения
аргумента [58, 73].
Под полиномом наилучшего приближения непрерывной функции
/ (х) для х £ [а, Ь] будем понимать полином Рт (Л*, х), для
которого выполняется условие
sup||2(Л, jc)Ц = inf max \z(A, x)\, (3.1)
х£[а,Щ {А} х£[а,Щ
где I г (Л, х) || — заданная норма погрешности; {А}—множество
всех коэффициентов полиномов.
Таким образом, задача нахождения наилучшего приближения
состоит в определении коэффициентов Л = (а0, аъ ..., ап)
алгебраического ■полинома
рт{А, 4 = 2^, (3-2)
удовлетворяющих условию минимакса (3.1).
Для оценки точности аппроксимирующего полинома Рп (Л, х)
наиболее часто употребляется равномерная норма абсолютной
85
погрешности
II z(А, х) || д = max \f(x)— Pm(A, x)| (3.3)
а^х^Ь
либо относительной погрешности
II г(A, x)h= max
a^x^b
f (X) — Pm (A, X) I ,„ „
Однако в ряде случаев использование наилучших приближений
с равномерными нормами абсолютных либо относительных
погрешностей в качестве начальных приближений для итеративных
процессов и разложения в ряды невязок еще не гарантирует достижения
наилучшего конечного результата. Это показано в работах [109,
123, 134] на примере вычисления корня квадратного при помощи
итерационной формулы второго порядка.
Можно указать два способа выбора начального приближения
для итеративных процессов и разложения функций в ряды невязок.
Первый из них состоит в получении наилучшего приближения с
точки зрения минимизации абсолютной либо относительной
погрешности на заданном интервале. Второй способ заключается в
минимизации абсолютной либо относительной погрешности результата для
заданного интервала.
На практике больше распространен первый способ, так как
второй требует индивидуального подхода к каждой конкретной
аппроксимации.
С помощью теории разложения функций в ряды невязок можно
разработать конструктивную основу для использования второго
способа. Так, в частности, абсолютное значение невязки
z0 = F(x, у0) (3.5)
уравнения F (х, у) = 0 можно использовать для оценки точности
аппроксимирующего полинома (3.2) при ограниченном значении п.
Рассмотрим следующие нормы погрешностей [77], основанные
на невязке (3.5):
II * (А, х) |f dl = max | F (х, у0) |; (3.6)
а^х^Ь
II * (А, х) || d2 = max
F(x, yQ)
У(х)
z (A, x) || rfs = max I <F(*. ^))*+'
a^x^b | У (х)
(3.7)
(3.8)
где у (х) — искомая функция; k + 1 — отбрасываемый член
разложения в ряд невязок.
Использование норм (3.6), (3.7) соответствует применению норм
(3.3), (3.4) к невязке z0, т. е. получается симметричное распределение
абсолютной н относительной погрешностей невязки в заданном
интервале.
86
Использование нормы (3.8) соответствует применению нормы
(3.4) для первого отбрасываемого члена разложения в ряд невязок
с точностью до постоянного множителя (коэффициента bk+i,
стоящего перед членом Zo+1 разложения).
Процедуру нахождения коэффициентов аппроксимирующего
полинома наилучшего приближения можно значительно сократить
по сравнению с общим методом Ремеза, описанным в гл. 1,2,
благодаря непосредственному использованию аналитических выражений
коэффициентов через точки альтернанса, функцию и ее
производную.
Пусть имеется непрерывная, аналитически заданная функция
у = у (х) для х £ la, Ь], дифференцируемая достаточное число раз
в заданном интервале. Необходимо найти полином наилучшего
приближения вида (3.2) с заданной нормой погрешности || z (А, х) || ,
удовлетворяющий условию минимакса (3.1). Пусть определены
точки чебышевского альтернанса dt, i = 0, т + 1:
c<.dG<d1<d2<4< •*• <dm<4n+i<&, (3.9)
т. е. z (Л, d0) = — z (А, а\) = z(Л, 4) = - ■ = (— l)m+1 г (A, dm+1);
\г{А, x)\<C\z(A, 4)|=Р> х£[а, Ь].
Эти точки можно определить при помощи стандартной
процедуры первого или второго метода Ремеза нахождения полинома
наилучшего приближения, либо находя минимумы и максимумы
функции z (А, х) для х £ \а, Ь], т. е. исследуя корни уравнения
йг(А, х) ^0 (ЗШ)
dx
Подставив в это уравнение те из точек, которые удовлетворяют
условиям чебышевского альтернанса (за исключением концов
интервала), получим систему т уравнений для определения
коэффициентов ak, k = 1, т.
Рассмотрим различные случаи задания z (Л, х).
Абсолютная погрешность
т
г(А, x)^^iakxk-y(x). (3.11)
Система уравнений для определения коэффициентов ak имеет вид
[58]
2 <V#~ =/(4). «' = 1. л. (3-12)
В силу наших предположений о величинах dt, i — 1, т
определитель системы (3.12) отличен от нуля. Учитывая, что это
определитель Вандермонда, решение системы можно записать в
87
аналитическом виде:
fli =
jtn
4
y' (dm) dm d2m... d%
П (dk — dj)
1, m;
(3.13)
1 dx .
I d2 .
I dn.
. d?~2 y' (dt)
. . d%~2 y' (d2)
■ • С"* У' Vm)
d« ..
dnm-.
■ ff1
°" TUdk-d,)
k>i
Для сокращения вычислений бывает целесообразно выразить
коэффициенты друг через друга. Приведем значения ak (i = 1, m)
для т = 1,2, 3. При т = 1 ах = у' (4)- При m = 2
Gi в ywww^ или % = у, {di) __ 2aAt
y'(d2)-y'(d1)
2(4,
При m = 3
°2 = "2№-dj" или fl* =
г/ (d,) — at
2d,-
i = 1 или 2;
г" = 1 или 2.
аг = у' (dj) — djd2as — 3asdx;
<h
y'{d2)-y'{dl)-ias(4-dl)
2(d2-dj.)
a _ У' №) (d3 - da) - y' (d2) (d3 - dt) + y' (d3) (d2 - dt)
3 3 (d3 — d2) (d3 — dj) (d2 — dj
Из уравнения z (A, d0) = — z (A, dx) определяем
Oo:=4" \y(d°-
) + УШ-%ак$+<$
k=i
Частные случаи получения коэффициентов щ рассмотрены в
работах [56, 59, 60, 65, 71].
Если известны точки альтернанса (3.9), коэффициенты at, i =
== 0, т можно получить, решая систему уравнений [58]
m
2 ak (d0 — d2) = у (d0) — у (dj;
2 ak (d? -4) = y (dj - у (dy;
88
лк А,
2 ak (dg —(% = y (do) - у (dj; (3.14)
k=i
m k k
2 ak (dr — dm+,) = у (dr) — у (dm+1);
m
2a0 + 2 fli (4 + 4) = У (d0) + у (dj,
где r = 1 — 2 j-^- '•, | | — дробная часть числа.
Эта система получена из условия чебышевского альтернанса для
т
z(A, х) = у{х) — 2 a-i*1-
k=0
При условии у<ш+') (х) ф 0, л; £ (a, b), d0 = я. dm+i = Ь из
системы уравнений (3.14) получаем
P0(x) = [y(a) + y(b)]/2; (3.15)
Р1(х) = Ах + В, (3.16)
где Л = [у (Ь) — у (а)]/ф - а); В = [у (а) + у (dj - Л (a -f dJJ/2;
Р2 (х) = Ах2 + Вх + С, (3.17)
где л = 1у ("> + У W.H № - ^ - [У (Ц -У (df С - ^); В=[у(<Ц-
{a — d2)(b — dl)(a-{-d2~ b — dx) i» \ я/
— У (а)]/№ - a) — Л (d2 + а); С = [у (а) + у (b) — А(а* + b2) —
— B(fl + 6)]/2;
А, (*) = Ах3 + Вх3 + Сх + D, (3.18)
гпр л _У(Ь) — у(а) у (d2) — у (а)
где л _ (e-j_d2—dg—dj + (dj + dg —а —Ь)-Ь
р — а а2 — а
. V(ds)~y(dl)
-\ -(6 —«У
ds — d1 .
ф2 + ab+ a2) (a+d2 — ds — dj + (d| + ad2 + a2) (da -f dg —
— a —bj + fdg + ^dg + df)^ —d2)
Б = ^ (fc) — У И] № — a) — [У №) — У (a)] Ф — a) __ ^ „ ^
(Ь-й„)(6-а)(^-й1) 2
С = [У (b) - у{а)]/Ф — a) — A(P + ab + b2) - В (а + Ь);
D = {у (а) + y(dj) — Л (а3 + <$) — В(а* + d\) — С (а + d,)]/2.
Частные случаи этих формул приведены в работах [56, 59, 73].
В случае линейной функции для определения точек
альтернанса ищем корень уравнения (3.10). К этим точкам добавляются точки
х = а, х = Ь. В общем случае для определения коэффициентов и
точек альтернанса необходимо совместно решить две системы: (3.12)
и (3.14).
89'
Относительная погрешность. Запишем полином наилучшего
приближения, обладающий на отрезке [о, Ь] наименьшей относительной
погрешностью:
Р2 (А, х) - Ьй (хг + J? «***) . (3-19)
где Л= {Ь0а0, аъ .,* , om_i}.
Рассмотрим зависимость
z (А, х) = \у (х) — Ь0 (хт + "j? a^ck\
/у(х). (3.20)
По условиям чебышевского альтернанса для точек dt (i =
= 0, т + 1) "» '
г(А, d0) = -z(A, dj = • • • = (- l)ra+1 г(A, dm+l).
Учитывая, что z(A, d0)=z(A, d2k); z(A, dj) = z(A, d2k+i), 6=0,
1, ... , [т/2], где [ ] — целая часть числа, получаем систему
уравнений [51, 58]:
т—1 *
£. flft [<% (4) - dly (d0)] = d2m# (d„) - dfa (4);
fc=0
-l
j
fe=e
2 ah [dly (d3) - 4y (dj] = d?y <А) - d?y (d3);
n—1
2 ak [d)y (dl+l) _ d(-+1# (d,)] = сГ+.У (dy) - dfy (dt+l); (3.21)
m—1
k=0
m—\ . .
v ak [d1y(dm+x)-dhm+ly(d^ = C+,y(ds) — d?y(dm+1);
К (d% + '5' "Л) У №t+i) + (d£f i + 2' fl^+') У W°> =
\ ft=0 / \ ft=0 /
= 2y(d0)y(d2f+,),
где s=l — 2{m/2}; 0<tf<[m/2]; m —целое; /=1, 2, ... , m;
/ = 1 — 2 {//2}, { } —дробная часть.
Из системы (3.21) можно определить коэффициенты А — [Ь0,
а0, аъ ..., ат) полинома наилучшего приближения (3.19) через
точки альтернанса и значения функции. Так, если точки a, b
соответствуют точкам чебышевского альтернанса, в частности, у (х) ф 0
для х £ [а, Ь], получим [51, 57, 58, 73]
P0=l2y(a)y(b)]/[y(a) + y(b)]; (3.22)
Л(*) = Л(х + /7), ' (3.23)
90
где р = [by (a) — ay ф)]/1у ф) — у (а)]; А = [2у (с) у (а)]/[у (а) X
X (с + р) + у (с) (а + р)]; с — точка чебышевского альтернанса
внутри отрезка [а, Ы;
P2(x)=A(x* + px + q), (3.24)
[у (6) - у (d)] \d\y (a) - а*у (d2)] - [у (d2) - у (а)] [Ь*у (rfj - d\y (b)]
[У Ф) — У (<У1 lay (d2) - d2y (a)] — [у (d2) — у (а)] Ыху (Ь) — by (dj] '
£у (а) — а2у {d2) — p [ay (d2) — &$ (a)]
где р
<7 =
А =
У (d2) — у (а)
2у (а) у(Ь)
{tP + pb + q)y(a) + (e? + pa + q)y(b)
dlt d2 — точки чебышевского альтернанса внутри отрезка [а, Ъ].
При произвольном т необходимо, основываясь на выражении
(3.10), при у (х) Ф 0, b Ф 0 дополнительно составить систему
уравнений
| ak [ky (dt) dT1 - у' (dt) 4] = айу' (dt),
где ат = 1, i = 1, 2, ... , m;
Л =
g„ = A/B, n = 1, m;
Ли Л1.2 ... Ai,n-i a0y'{d^ AUn ,,. Л1,т
Л2,1 Лг,2 • • ■ Л2,„_1 ад' (4s) ^2
(3.25)
"m,l Л2,т . . . Дт.п—1 fl^f/ (^m/ "ЯП • * • Ащ,п
A\,\ A\,i -. ■ Ai-m
г, Л 2,i Лг,2 • • ■ Лг,т
птА Ат,2 • • • Ат>т
Aik = % (4) 4~! — У' (d() d\.
Решая совместно системы (3.21) и (3.25), можно определить
точки альтернанса dt и коэффициенты многочлена.
2. АППРОКСИМАЦИЯ АНАЛИТИЧЕСКИ
ЗАДАННЫХ ФУНКЦИЙ
РАЦИОНАЛЬНЫМИ ВЫРАЖЕНИЯМИ
Наряду g полиномиальной аппроксимацией элементарных
функций в ряде случаев бывает необходимым использовать начальные
приближения в виде различных рациональных выражений,
содержащих относительно малое количество хранимых констант [62, 63].
Существование, единственность и характерные свойства наилучшей
91
рациональной аппроксимации дает теорема Чебышева (см. гл. 1, 3).
Рассмотрим различные случаи задания равномерной нормы
погрешности z (А, х).
Абсолютная погрешность. Наилучшие приближения вида
Рт (*) = 2 а^ + _£- (3.26)
к функции у (х) на отрезке [а, Ы можно получить, когда имеется не
менее п + 3 точек чебышевского альтернанса, (х + р) Ф 0 для х £
£ la, b], R =! О и дефект d = 0. Рассмотрим
г (Л, х)=у (х) - S а*** - -J-, (3.27)
* fe=o * -г Р
где А = {7?, /?, а0, аъ ..., g„_i}.
Для функции z (А, х) справедливо равенство
z (A, d0) = —z (A, dx) = z(A, d2) = •.. = (— 1)"+2 z (A, dn+2),
где dj — точка чебышевского альтернанса на отрезке la, b].
Учтя, что z (A, d0) = z(A, d2i)\ г (А, а\) = г (A, d2/+i), / —
= 1, [(k + 3)/2], где [ 1 — целая часть числа, запишем систему
|Ч(4--4- {tkR+%T£P) =vW>-y<te
%а^-4)- {diR^iP) -уЫ-у<Ы (3'28)
п—1
2 flfc (4 + <&+i) + -g^— + irR— = 0 W - 0 (da+i),
где 0 < / < [(л + l)/2]; s = 1 — 2 {(£ — l)/2}.
Из этой системы можно определить коэффициенты ak, k =
= 0,п — 1, параметры р и R, выраженные через точки альтернанса dr
Для определения точек чебышевского альтернанса наряду с
системой (3.28) рассмотрим условие (3.10) и точки х = а, х = Ъ,
92
где z (A, x) определяется выражением (3.27). В данном случае
г' (А, х) = if (х) - \kakx^ + {x*p)2 = 0;
(х + Р? [у' (х) - So kakxk-^j + R = 0. (3.29)
ь На основе равенства (3.29) составим систему уравнений. При
этом в формулу (3.29) подставим значение х, (j — 1, т; т > п + 1).
К полученным точкам добавим концы интервала, т. е. х = а и х = Ъ.
Приближение функции, обратной многочлену. Рассмотрим
функцию
Rom=R/(l + Uakxky (3.30)
т
Пусть R=£0, ат=£0, 1 + 2 акхкф0 для х£[а, Ь] и имеются
т + 2 точки альтернанса dt, i = 0, т + 1. Для функции
z(A*) = 0(*)-K/(l + Sa***) (3.31)
справедливо равенство г(Л, rffe) = (— 1) ц, k = 0, т + 1, где | [х | =
= max \г(А, х)\; А = {/?, аь с„ ... , ат}.
Тогда, пользуясь условиями чебышевского альтернанса, можно
записать систему уравнений
m
R — 2 Mo [# W>) — nl + n = у (do);
/? — 2 Mi [y №) + ni — ^ = # №); /о о9ч
m
Л - 2 Ai [У (rf«+i) - (- l)"4"1!*! + (~ !)m+11* = У (<Wi)-
*=i
Из этой системы находим 7?, итерационным методом определяем
[х и, учтя, что г (A, do) = z (Л, d2fc); z (Л, dx) = z (A, chk+i), k =
= 1, 2, ..., [(m + 2)/2], получим систему уравнений для нахождения
ak через коэффициенты при старших степенях, [х, точки альтернанса
и значения функции у (х) в этих точках.
Для определения точек чебышевского альтернанса составляем
систему уравнений на основании выражения (3.10):
R + У' 2 k^xf-1 = 0, / = 1, /, / > т. (3.33)
л=1
К этим точкам добавляются концы интервала, т. е. точки х = а,
х = Ь.
93
Пример 17. Начальное приближение [51, 62]
у0 = R/(x + р).
При х + р Ф 0 для х £ [а, Ь] и R Ф О
[y(fl)-yW1(a + p)(6 + p)
В качестве коэффициента р выбираем тот из корней квадратного уравнения
2р* (у (а) - у (Ь)) + р ((2а + Ь + с) (у (а) - у (Ь)) -ф-а) (у (6) - у(с))) -
. -(у(Ь)+у(с))(Ь — а)с-а{Ь + с)(у(а)-у(Ь)) = 0,
для которого справедливо неравенство (— р) @ [а, Ь ], где а < с < Ь — точки
чебышевского альтер нанса.
Для нахождения точки с из равенства (3.10) получаем у' (х) (х + р)2 + R =»
•«« 0 Абсолютная погрешность приближения | Д0 [ <^ | у (Ь) — R/(b + р) I •
Пример 18. Начальное приближение [51, 62]
f у0 = А + R-I(x + р).
При х-\- р Ф0 для х £ [а, Ь] и R Ф 0
р = [У(4)~!/(а))№+р)(а + Р) = [у ft) - У №)1 № + ?)№ + ?) .
. a —d, d1 — b
A=-±-\y(a) + y{b) J? TT—!•
. 2 I a+p b + p [
Коэффициент р определяется из квадратного уравнения
ра ((у №) - у («)) № - *) - (г/ (Ь) - г/ №)) (« - <У) +
+ Р ((г/ №) - У (a)) (dx - *) (а - d2) - (у (Ь) - у (<у) (а - d2) (dx + *)) +
+ (У №) — У («)) № — b) ad2 — (у (6) — у (dj) (а — da) fed, = 0,
где а < dj < dg < b — точки чебышевского альтерната.
Точки dj и da определяются с помощью равенства (3.10), откуда у' (х) (х +
+ р)2 + Я = 0.
Абсолютная погрешность приближения | Д„ | < | у (Ь) — R / (Ь + р) — Л |.
Пример 19. Начальное приближение [51, 62]
yB = Ax+B + R/(x + p).
При л: + р =?ь 0 для л; £ \а, Ь] и i? Ф 0
у(Ь) —у(д) Я
Ь_й I" (а+р)(Ь+р) •
2 V a + pdj + p/
ftp - а) (у (Ь) - у (dg) - (Ъ - d,) (у (Ь) - у (а))) (а + р) № + р) № + р)
(b-d)(dx-d2)(d2-b)
Коэффициент р- определяется из квадратного уравнения
p*(l{a + b — d1 — ds) — y) + p(k(ab~d1d3)—d2(a + b — d1-d3))-
— 7 (dj + d3) + Xd2 (ab — djds) — ydxd3 = 0,
где % = (4, - 6) (a - «Щ ((6 - a) (y (d3) - у (dx)) - (d3 -^ dx) (y (fc) - у (a))); Y =
1 R R
■= -г- (У (a) + У №)) — Л (a + rfi) -j-; ; a < dx < d2 < ds < fc —
2 a + p dx + p
точки чебышевского альтернанса.
94
Точки dlf rfa и ds определяются с помощью равенства (3.10), откуда {у' (х) —
— А) (х + р*) + R = 0.
Абсолютная погрешность приближения | Л01 < \.у (Ь) — АЪ + В + R/tb -J-
+ Р) |.
Относительная погрешность. Для аппроксимации аналитически
заданной функции у (х) выражением вида
\fe=0 /
если у (х) Ф 0 и не меняет знак на [а, Ь], можно рассматривать
функцию у = \1у (х). Тогда при определении коэффициентов ak через
точки чебышевского альтернанса рассматриваем функцию
п
z(A,x)=l-y(x)% akxk/R, (3.34)
т. е. находим наилучшее полиномиальное приближение к функции
\1у (х), обладающее минимальной величиной относительной
погрешности в заданном интервале [51].
Аналогично для аппроксимации функции у (х) выражением
п
У = Ял:/2 a^k (3.35)
можно рассматривать наилучшее полиномиальное приближение
функции х/у (х).
Для аппроксимации функции у = у (х) дробно-линейным
выражением Ри = А (х + q)l{x + р), обладающим на отрезке [а, Ы
минимальной относительной погрешностью, необходимо, чтобы
у (х) Ф 0 для х £ [а, Ь] и чтобы имелось не менее четырех точек
альтернанса. Кроме того, требуется выполнение условия х + р Ф С
для х £ la, b]. В этом случае
z(A,x) = l—A(x + q)l\y (х) (х + р)\.
Учтя, что
г (А, d0) = — г (A, dj) = г (A, d2) = — г (A, d3), (3.36/
где d0 <; dx <c d-2 <; из — точки альтернанса, запишем систему
уравнений (3.36) в следующем виде [51, 61]:
Я (№ + р)у (da) — № + Р) # (do)) — 4 №> + Р) У (do) +
+ do(d2 + p)y(d2) = 0;
Я ((di + Р)У (di) — (d3 + p)y (ds)) — dx (d3 + /?) # (d3) +
+ d3(d1 + /?)i/(d1) = 0;
2 (d0 + p) (d3 + 9) у (d0) у (d3) + A «d0 + ?) (d3 + p) у (da) +
+ (d3 + q)(d0 + p)y(d0)) = 0.
95
Из перЕого и второго уравнений этой системы находим
выражения для q и, приравняв их, получим квадратное уравнение для р.
Из третьего уравнения можно найти выражение для А.
Пример 20. Начальное приближение [51, 63]
Уо = Щх + Р)-
При (1/у (х))" > 0
= Ьу(Ь) — ау(а) ш 2у (а) у (с) (а + р) (с + р)
Р у(а)-у(Ь) ' К' (а + р)у{а) + (с + р)у(с) *
где а <С с <Ъ— точки чебышевского альтернанса.
Для нахождения точки с из равенства (3.10) получаем у' (х) (х + р) + у (х) =
= 0. В ряде случаев возможно явное определение точки с. Так, для у = ха с =
= — ар/ (а + 1). Для функции у = а* с = — (1/1п а + р). Относительная
погрешность приближения | 60 | < | 1 — R I [у Ф) (Ъ -\- р) ].
Пример 21. Начальное приближение [51, 63]
ya = A(x + q)/(x + p).
При х + р Ф 0 для х £ {а, Ь] и Л =£ 0
2(а + р)(Ь + р)у(а)у(Ь)
. У{а)(а + р) {b + q)+y{b){a + q){b + р) '
d2 (а + р) у (а) — a (d2 + p) у (d2)
У (d2) (<k + p) — y (а) (а + р)
Параметр р определяется из квадратного уравнения
(Я (у (<у - у (*)) - v (У (Ь) - у (а))) р* + (V - -рт| + (» (а) - у (<«) +
+ (У №) - У (Ь)) (d2a + dj>)) p + \xad2 (у (а) - у (d2)) + цЬс^ {у (<Щ - у (Ь)) = 0,
где X = d2y (а) — ay (d2); -у = dty (b) — by (dj; ц = dty (dx) —by(b); tj =
= d2y (d2) — ay (a); a < d1 < d2 < b ■— точки чебышевского альтернанса.
Для нахождения точек dx и da из равенства (3.10) получаем у' (х) (х-\- р) х
X (х + Я) — У (х) (p — q) = 0.
Для функции у — е* точки dt и cl, определяются из уравнения (х — dJ x
X (х — d2) = (х + р) (х + q) ~(р — q), откуда dj + d2 = — (р — q); dtd2 =
= PQ — P + 9- Положив dj = — (d2 + p + 9). получим da = [ — (p + 9) ±
± V(p — Я)2 — 4 (p — 9)]/2. Решая совместно систему уравнений для d^ p и q,
можно определить q. Так, для функции у = е* dx ■= — (1 + р).
Относительная погрешность приближения
Мв + я)
IfioK
1
у(Ь)(В + р)
Пример 22. Начальное приближение [51, 63]
ya = Rxl(x+ p).
При (х + р) =£ 0 для х £ [a, b], R ф 0
afc [у (а) — у (Ь)1 .
р ау(Ь)-Ьу(а) •
2у(а)у(с)(а + Р)(с + р)
су (а) {а + р) + ау (с) (с + р)
где а < с < b — точки чебышевского альтернанса.
96
Для нахождения точки с из равенства (3.10) получаем (х + Р) (У (х)—
— ху' (х)) — ху (х) = 0. Так, для у = ха с = р (1 — сс)/сс; для у = а" и у = е*
соответственно
--$-(-■*/^ткЬ —5-(-'*1^Т1).
Относительная погрешность приближения
|60|<|l-i?%(fc)(b + p)|.
Пример 23. Начальное приближение [51, 63]
2/0 = /?х/(х2 + рх: + <7).
При х2+рх+дфОкЯфО
djb [dry (dj — fcy (fc)] [d2y (a) — су (d2)] —
— ad2 [rfgy (4) — ay (a)] fay (b) — by (dj]
d,b [y (b) — у (dj] [d2y (a) — ay(d2)] — cda [y (a) — у (d2)] [diy (b) — by (dj Г
fld2 [a^y fe) — ay (a) — p (y (a) — у (rf2))J
d2y (a) — ay (d2)
2y (a) у (Ь) (a" + pa + q) (ba + pb + g)
*~ fcy(a)(a* + pa+«?) + ay(b)(fc*+pfc + <7)
где a<d1<d2<fc — точки чебышевского альтернанса. Для нахождения точек
d1 и d2 из равенства (3.10) получаем
(х» + рх + fl fo (ж) —*»'(*)) +*»М (2* +Р)
соотносительная погрешность приближения | б0 | < | 1 — Rb/y (Ь) (Ь2 + pb -f-
+ 9) |- Так, для у = ха
p(a-2)±)V(a~2)»-4(3-a)(l-^a)g
2 (3 — а)
3. ПОСТОЯННЫЕ НАЧАЛЬНЫЕ ПРИБЛИЖЕНИЯ
В соответствии с методикой [71, 731, описанной в предыдущем
параграфе, для произвольной функции наилучшие постоянные
приближения на заданном отрезке la, b] можно получить из условия
z(d0) = -z(d1). (3.37)
В случае монотонной функции йа = а, й\ = Ь, т. е. максимальные
(минимальные) значения функции z (х) достигаются на концах
интервала. Приняв z = у (х) — у0, на основе равенства (3.1) получим
наилучшее равномерное постоянное приближение, обладающее
минимальной абсолютной погрешностью на [а, Ь\,
у0 = (т + М)/2, (3.38)
где Мит — соответственно наибольшее и наименьшее значения
функции у (х) на [а, Ь].
Величину абсолютной ошибки начального приближения у0
можно оценить с помощью неравенства
\\\<\М — у0\. (3.39)
7 6-493
97
Таблица 5
Искомая
функция
- пг—
у х
п,
1/V*
1/х
х"
0х
[*€(«. Р)1
1пх'
sin л:
COS X
Абсолютная погрешность
Начальное
приближение у„
[Va+VF)^
+ УЪ)121ГаЬ
(а + Ь)/2аЬ
(аа + Ьа) /2
(аа + сР)/2
(1па+ЫЬ)/2 =
= In Yob
(sin a + sin Ь)/2
(cos a -+- cos Ь)
Оценка
погрешности
|Д0|, не более
\VF-y0\
\l/Vb—yD\
\х1Ь-у0\
\ьа-уа\
\сР-уа\
\\nb- у0\
\sin Ь— уа\
|cos Ъ — ув\
Относительная погрешность
Начальное приближение у0
2ytbl(Va- + W)
2l{Va- + VD
Ща+Ъ)
2(аЬ)а /(аа + Ьа)
'2йа+Р / (аа + ар)
21n a In b/(ln a + In 6)
при Ь =£ 1
2sin a sin b/(sin a + sin b)
при а > 0; Ь < я/2
2cos a cos b/(cos а + cos b)
при а > 0; Ъ < я/2
Оценка
погрешности
|б0|, не более
li — г/o/v^
V-vuVb\
|1-%о1
и-г/об-а1
|1-»ов-В1
|l-jr0/ln6|
|1 — y0!siab\
11 —yjcosb)
Если #' (х) ^0 на [а, Ы, то #0 = (у (а) + у (Ь))/2. Приняв
z (х) — (У (х) — УоУу (х), на основе равенства (3.37) получим
наилучшее равномерное постоянное приближение, обладающее
минимальной относительной погрешностью на la, b] [73]:
у0 = 2тМ/(т + М). (3.40)
Относительная погрешность
|6оК|1— У01М\. (3.41)
Если же у' (х) Ф 0 на [а, Ь], то
у0 - 2у (а) у ф)/(у (а) + у (Ь)); | б01< 11 - у0/у ф) |. (3.42)
В табл. 5 приведены постоянные наилучшие приближения
некоторых элементарных функций [73], у которых у' (х) Ф 0 для
х £ [а, Ь].
4. ЛИНЕЙНЫЕ НАЧАЛЬНЫЕ ПРИБЛИЖЕНИЯ
Линейное приближение, обладающее минимальной абсолютной
погрешностью на la, b], можно получить, пользуясь методикой [66],
изложенной в гл. 3, 1. Для этого случая
у0 = Ах + Б, х6 [а, Ь]. (3.43)
При у" Ф 0 на la, b]
y{b) — y{a) .
Л=
b-
g _ У(а) + У (с) _ у\а+с .
\A\<\y(b)-Ab-B\,
где с — единственный корень уравнения
у'(х) = А. (3.44)
Если у" = 0, то уравнение (3.44) может иметь на la, b]
более одного корня, например, два: х = с, х = й. В этом случае
[51] А (а) = — Д (с) = Д (d) либо А (с) = — A (d) = A (fc);
Л= ly(d) — y{a)]/(d — a); '
В=[у(а) + у (с) -А(а + с)]/2; (3.45)
|А0|<|#(а)-Ла-£|,
либо
Л = Цг(Ь) — у(с)]/(Ь-с);
Б = 1уф) + у (d) — Л (Ь + rf)]/2; (3.46)
|Д0|<|#(Ь)-ЛЬ-Б|.
Вычисления проводятся по первой группе формул, если | А (а) \ >.
> | Д (&) |, и по второй, если это условие не выполняется.
Рассмотрим процесс получения линейного приближения [731
Уо = Л (х + р) к функции у = у (х), обладающего на [а, Ы
минимальной относительной погрешностью. Положим z (х) = [у (х) —
— УоУу (%)• Для случая у" (х) ф О и у (х) Ф О коэффициенты Лир
приближения (3.43) определяются из условий z (а) = г (b); z (с) •=
= — z (Ь), где с £ [а, Ы — корень уравнения г' (с) = 0. Таким
образом,
р=*\Ъу(а) — ау ф)\Цу (Ь) — у (с)];
. _ 2у (с) у (Ь)
~ УФ)(с+р) + у{с)(Ь + р) '
где с — единственный на la, b] корень уравнения
(х + р)у'{х)-у(х) = 0. (3.48)
Относительная погрешность начального приближения
\M<\l-A(b + p)/y(b)\. " (3.49)
7» 99
(3.47)
Если условие у" (х) Ф О на [а, Ь\ не выполняется и уравнение
(3.48) имеет на [а, Ь\ два корня (х = с и х = d), коэффициенты А
и р можно получить из выражений [511 г (а) = —z (с) = г (d)
либо z (с) = — z (d) = г (Ь):
Р = №/ (а) - у id) a]/[y (d) - у (а)];
2у (с) у (d)
y(d)(c + p)+y(c)(d + P) '
\80\4:\l-A(a + p)/y(a)\,
либо, если г (а) < г (&),
р=Мс)-с#(Ь)/(#(Ь)-1/(с));
» = 2г/ (rf) у (Ь) .
.., y(b)(d+p) + y(d)(b + p) '
\60\<\l-A(b + p)/y(b)\.
(3.50)
(3.51)
Таблица 6
У
Ух
1
п.
У х
1
X
ха
ах
(*е(°,р))
1плг
sin л:
(а>0;
Ь < я/2)
р
Ь у^а — а уТГ
У b — у а
b vb — a i/'a
пГ— п. —
У а — у b
-ф + а)
Ьаа — аЬа
Ьа-аа
раа-ааР
аР — аа
Ып а — а In b
In 6 — 1п а
6 sin а — asinb
sin b — sin а
A
2у'(п—1)рЬ
pnv'b +(Ь + р)У(п—1)р
2
Кйт^-^1^)+^
2
р(Ь-р/4) + Ь2
2са Ьа
Ьа(с + р) + са(М-р)'
где с = ар/(1 —а)
2
0Р-1 + а-Р(Р + р)
21п с — In b
(с + р) + {Ь + р)1пс ■
где с + р = с In с
2s in с sin b
(с -f- p)sin Ь — (b + p)sin с'
где (с + p)ctg с = 1
|в01. не более
\\-А{Ь + р)11Гь\
\l~AlTF(b + p)\
\\-АЬф + р)\
\1-АЬ~аФ+р)\
\1-а~^Аф+р)\
Ц-Л(а + р)/1пЬ|
|1— A(b + p)/sinb\
В табл. 6 приведены коэффициенты и погрешности линейных
приближений у0 = Д, (х + р), обладающих минимальной относи-
100
тельной погрешностью на [а, Ы, некоторых элементарных функций
[73], для которых выполняются условия у" (х) Ф 0; i/(х) =^= 0 на
[а, Ы
Возможно также получение начального приближения, которое
минимизирует не величину погрешности начального приближения
в заданном интервале, а величину погрешности результата. Так,
для вычисления функции у = У х по формуле Герона, исходя из
величины относительной погрешности
б„+] = 8*/2(1 + 6„),
в работах [37, 108] приводится линейное приближение
у0 = А(х + р), (3.52)
где р — V аЪ; А — 1/V 2 У р (У а + УЪ). В данном случае при п = 2
коэффициент р совпадает с полученным ранее для наилучшего
линейного приближения функции у = ух (табл. 6).
5. КВАДРАТИЧНЫЕ НАЧАЛЬНЫЕ ПРИБЛИЖЕНИЯ
Абсолютная погрешность. Пусть функция у (х) имеет
непрерывные производные до третьего порядка включительно и у'" (х) Ф 0
для х £ [а, Ь]. В этом случае квадратичное начальное
приближение [56], обладающее минимальной абсолютной погрешностью на
[а, Ь),
у0 =*= Ах2 + Вх + С, (3.53)
где
л _ [y(a)-y(rf2)(b-rfi)-(y(b)-y(rfi))(g-rf2)1 .
(a — d2)(b — <у(о+<*2 — b — dx)
Я = Ц/ (4) — У Ш¥г — a) — A(dz + a);
С = [у (a) + y(b)-A (са + Ьа) ~ В (а + b)]/2.
Для нахождения точек альтернанса dt и d% запишем
дополнительную систему уравнений:
y'(di)~2Adl — B = 0;
y'(d2) — 2Ad2 — B = 0.
Абсолютная погрешность приближения (3.53) | А01 <| у (Ь) —
— А№ — ВЬ — С \. В некоторых частных случаях удается
упростить описанную методику [56].
Относительная погрешность. Дополнительно к тем
ограничениям, которые накладывались на функцию у (х) в случае абсолютной
погрешности, положим, что у (х) ф О для всех х £ la, b). В этом
случае квадратичное начальное приближение [57], обладающее
минимальной относительной погрешностью на [а, Ь\,
y0 = A{x*-]-px + q), (3.54)
loi;
где
Я
2у (а) у (Ь)
0» + Pb + q) у (а) + (а« + ра + q) у ф)
Р —
й\у ф) - Mj, (d,) у (dj - у (ft)
&%У (а) — сРу (d2) y(d^—y (a)
by (dj — diy (ft) уЩ—уф)
а-У (d2) — d2i/ (с) У (<У — У И
»
&\у (й) — а2у (d2) — p (ay (d2) — d2y (a))
г/ (4) — У (а)
Точки чебышевского альтернанса dx и d2 находятся из системы
уравнений
9<й + рйг + q — (2dx + p) s (dj) = 0;
dl + pd2 + 9 —(24 + P)s(4) = 0,
где s (x) = у (*)/#' (x); x = 4, 4.
Для того чтобы уравнение dzldx = 0 имело не более двух корней,
достаточно выполнения следующих условий: у (х) Ф 0; у' (х) ф 0;
2 — 4s' (х) — (2х,+ р) s" (х) Ф 0 для всех х £ [а, Ь].
Относительная погрешность приближения (3.54)
|6(*)|< 11 ~А(х* + px + q)/y(x)\.
Например, для функции у = Их при х £ [а, Ъ] по данной
методике из выражения (3.54) получаем р — — 3 (dx + d2)/2; q = М^2;
d\ = а + (b — а)/4; d% — Ъ — (b — й)/4, откуда
р== 2-(а+ 6);
<7:
"^+ _?(«? + *•).
16
6(Ь« + рЬ + 0-|-а(а»-р.ря + 0
6. ЭКОНОМИЧНЫЕ НАЧАЛЬНЫЕ ПРИБЛИЖЕНИЯ
В ряде случаев наряду с линейными и квадратичными
приближениями элементарных функций для вычисления на ЭВМ
используются приближения вида
Уо = А + Wx (3.55)
или
y0 = A + W{x + B)\ (3.56)
где коэффициенты А и В выбираются из условия минимизации
относительной либо абсолютной погрешности, а коэффициент W
задается в виде константы вида ±1, ±2, ±3, ±4, ±10, ±16, ±2-1,
±3—', ±4-1, ±10-1, ±16—' и т. д. Такой выбор констант при
соответствующей системе счисления позволяет заменить операцию
умножения операцией сдвига, сложения порядков, либо удвоения.
102
Для того чтобы погрешность при нахождении приближений (3.55)
и (3.56) была близка к минимально возможной в заданном
интервале, в качестве ориентировочной величины W используются
значения соответствующих коэффициентов наилучших линейных или
квадратичных приближений. В ряде случаев погрешности
приближений (3.55), (3.56) незначительно отличаются от наилучших
линейных или квадратичных приближений [45, 47, 60, 65, 108].
Приведенные в работах [45, 47, 108] экономичные приближения в ряде
случаев уступают по точности экономичным приближениям,
полученным по методике [60, 65], излагаемой в настоящем параграфе.
ЛИНЕЙНЫЕ ПРИБЛИЖЕНИЯ
G МИНИМАЛЬНОЙ АБСОЛЮТНОЙ ПОГРЕШНОСТЬЮ
Для нахождения коэффициента А линейного приближения (3.55)
к функции у — у (х), принадлежащей множеству Qa,6]
вещественных функций, непрерывных вместе с производными на заданном
сегменте [а, Ь], по общей методике, описанной в гл. 3, 1, необходимо
рассмотреть выражение
z(x) = y(x) — A—Wx.
Максимальных значений функция | z (x) | достигает в точках,
для которых z' (х) = у' {х) — W = 0, ив присоединенных к ним
точках х = а, х — Ь.
В зависимости от количества корней в последнем уравнении
применяются различные способы нахождения коэффициента А [65].
В практических вычислениях удобен прием сведения приближения
(3.55) к приближению постоянной [51]. Более общий способ
использования метода понижения для нахождения полиномов наилучшего
приближения приведен в работе [75]. В соответствии с этим методом
г (х) = у {х) — А — Wx = и (х) — А.
Коэффициент А определяется как наилучшее постоянное
приближение функции и (х) на отрезке [а, Ь], т. е.
А ~ -к- \ шах и (х) + min и (х)]. (3.57)
^ Jt€[G,6] ж€[с,Ь]
Абсолютная погрешность приближения (3.55)
\A0\<\y(c)-y-cW\, (3.58)
где с ~— точка альтернанса.
Возможно также
д _ y(a) + y{c)-(a + c)W .
\bo\<\y{a)-A-aW\.
103
Выбирается то выражение для вычисления А, которое
обеспечивает минимальную погрешность на [а, Ь].
Аналогично поступают при большем количестве корней
уравнения для z (х).
ЛИНЕЙНЫЕ ПРИБЛИЖЕНИЯ
С МИНИМАЛЬНОЙ ОТНОСИТЕЛЬНОЙ ПОГРЕШНОСТЬЮ
Пусть, как и ранее, у (х) £ С\а,ьу Предположим, что у (х) Ф О
для всех х £ [а, Ь\. Рассмотрим выражение
z(x) = l-(A + Wx)/y(x).
Как и прежде, необходимо найти минимальное б0 и
соответствующий ему коэффициент А, такой чтобы для всех х £ [а, Ь]
I z (х) |< во.
Функция | z (х) | может достигать своих максимальных
значений в точках, для которых
if (х) г' (х) = (А + Wx) у' (х) — Wy (x) = 0, (3.59)
либо в точках х = а, х = Ь. В зависимости от количества корней
этого уравнения, принадлежащих [а, Ь], коэффициент А и
относительная погрешность б0 будут определяться по-разному:
а) допустим, в сегменте [а, Ь] уравнение (3.59) не имеет
действительных корней. Тогда коэффициент А находится из условия z (a) —
= — г ф), откуда
А ^ 2y(a)y(b) (ay(b) + by(a))W . f3 m)
|боК
A + Wb
(3.61)
1 у (Щ
б) в сегменте [а, Ь] уравнение (3.59) имеет один действительный
корень в точке с £ [a, b]. Коэффициент А находится из условия
г (Ь) = — г (с) или г (а) = —г (с). Из первого условия находим
, _ 2у (с) у (Ь) (су (6) + by (с)) W nfi2,
у(с) + у(Ь) у(с) + у(Ь) * К°^'
Подставляя это выражение в уравнение (3.59), можно определить
численные значения величин с и А. Относительная погрешность
\60\<\l-(A + Wa)/y(a)\. (3.63)
Из второго условия определяем
А 2у (с) у (а) {су (а) + ау (с)) W
У(с) + У (а) У(с)+У (о)
Относительная погрешность в этом случае определяется по
формуле (3.63). В качестве коэффициента А берется то значение,
которое обеспечивает минимум относительной погрешности на [а, Ь].
104
Если в сегменте \а, Ь] уравнение (3.59) имеет более одного
действительного корня, то алгоритм нахождения коэффициента А
аналогичен описанному.
Пример 24. Найдем начальное приближение вида (3.55) при № = — I,
обладающее минимальной относительной погрешностью на [с, 1 ], где 0 < а < 1
для функции у — 1/х.
По формуле (3.60) определяем А = (3 + а2)/(1 + а). Подставляя это
выражение в уравнение (3.59), получаем с = (3 + а2)/(2 (I + а)). Поскольку с > I,
1+а
КВАДРАТИЧНЫЕ ПРИБЛИЖЕНИЯ
С МИНИМАЛЬНОЙ АБСОЛЮТНОЙ ПОГРЕШНОСТЬЮ
Введем в рассмотрение функцию [60]
z(x) = у {х) — А — W(x + В)2.
Для нахождения точек чебышевского альтернанса запишем
выражение
dz (x)/dx = у' (х) — 2W (х + В) = 0. (3.65)
В зависимости от того, сколько корней имеет уравнение (3.65),
способы нахождения коэффициентов будут различными:
а) уравнение (3.65) имеет на [а, Ь] один корень. Пусть точки
чебышевского альтернанса будут х = с, х = а, х = Ь. Тогда
г (й) = z (Ь); z(b) = —z (с);
В = {у(Ъ)--у (a))/(2W (b - а)) - ^±±; (3.66)
А = (у(Ь) + у (с) - W (Ь + Bf + (с + Bf)/2.
Абсолютная погрешность этого приближения
]A0\<\y(b)-A-W{b + Bf\; (3.67)
б) уравнение (3.65) имеет на [а, Ь] два корня: х = dlt x = flV
В этом случае коэффициенты А и В определяюгся с помощью
равенств
z(a) = z(di); z(a) = —z{dl)
или
z(b) = z{dj)r, z(b)=—z(d2).
Так, из первых двух равенств получаем
В = (у Ш - у(аШШ (d2 - а)) - ±±±-; (3.68)
А=(у(а) + у (<у - W ((а + Bf + (fl\ + ВЩ2.
105
Абсолютная погрешность
I Aol <\у Ф) -A-W (а + Bf\. (3.69)
Если | А (а) | > | А ф) |, то вычисления окончены. В
противном случае необходимо в формулах (3.68),(3.69) заменить а на Ь,
a dx на й%.
КВАДРАТИЧНЫЕ ПРИБЛИЖЕНИЯ
G МИНИМАЛЬНОЙ ОТНОСИТЕЛЬНОЙ ПОГРЕШНОСТЬЮ
Рассмотрим функцию [60]
z(X)^l-[A + W(X + Bf]/y{x).
Для нахождения точек чебышевского альтернанса примем
dz (x)ldx = 0, т. е.
у" (х) (А + W (х + В)2) — 2Wy (х) (х + В) = 0. (3.70)
В зависимости от количества корней уравнения (3.70) на [а, Ь]
коэффициенты А а В определяются различными способами:
а) уравнение (3.70) имеет на [а, Ь] один корень х = с. Пусть
точками чебышевского альтернанса являются х = а; х = b; x =
= с (а < с <z b). Из равенств г (а) = z (b); z (b) = — z (с)
определяем
A*=W(£§p + v — В2);
- д ^ % (с) yjb)-W (у (с) (у + 6») + у (Ь) (у + с?)) ,о7П
2W(y(c)(u + b)+y(b)(u + c)) ' \°-.]
г„р ,.-_ Ву(а)-ау(Ь) . Уу (а) - а*у (Ь)
1де и у(Ь)-у(а) ' v у(Ь)-у(а) '
Относительная погрешность этого приближения
160 К /1 - \А + W (Ь + В)2\1у (Ь) |; (3.72)
б) уравнение (3.70) имеет на [а, Ь] два корня: х = du x — d2.
Пусть й<^1<:^г<;Ь^- точки чебышевского альтернанса. Тогда
коэффициенты А и В определяются из равенств z (a) = z (d.,);
z (a) = — z (dx) или z ф) = z (d^; z ф) = — z (d^:
A = W(v — B(2n—B));
R _ 2y (rft) у (a) - W (y (dt) (v + с2) + У (a) (« + 4)) -
2W{y{dl)(u + a)+y(a)(u+dJ) » v*J6>
таг » = ^W-'WW ■ r,__ ^'"'-^^
106
Относительная погрешность
I So I < I 1 - [A + W (a + Bfyy (a) |. (3.74)
Если соотношение | z (a) | ;> | z (b) | выполняется, процесс
вычисления закончен. В противном случае в формулах (3.73), (3.74)
заменяем а на b\ d2 на dlt dl на d.L.
Глава 4
АЛГОРИТМЫ ВЫЧИСЛЕНИЯ
ЭЛЕМЕНТАРНЫХ ФУНКЦИЙ
1. ЁТЕПЕШЫЕ ФУНКЦИИ
Степенной функцией называется функция у = ахп (а Ф О, п Ф
Ф 0; 1). При й>Ои целом, положительном, четном п кривая
симметрична относительно оси у и имеет в начале координат минимум.
При нечетном п кривая симметрична относительно начала
координат и имеет в этой точке перегиб.
Если п — целое и отрицательное, кривая имеет асимптоты ■—
оси координат. При х = О кривая терпит разрыв. При а>0и
четном п функция возрастает от 0 до -f<x> и убывает от +оо до 0.
Если п нечетно, то функция убывает от 0 до — оо и от +со до 0.
При й<0и четном п функция убывает от 0 до —се и возрастает
от —со до 0, а при нечетном п — возрастает от 0 до +со и от —со до 0.
Основные соотношения. Для любых натуральных п и т
справедливо следующее:
При р>0и четном т кривая симметрична относительно оси х.
При четном п кривая симметрична относительно оси у. При четных
пит кривая симметрична относительно начала координат.
При р < 0 кривая имеет асимптоты — оси координат.
Симметрия относительно осей аналогична случаю р > 0. Справедливы
также следующие соотношения:
т, ,, тп,— mfn,— , i/„ пг— п,—
хп/т = ухп; х1/тп = -^х = |/ ^Х\ (Ху)т = УX У у,
(х/у)1/п = 7xi7~y, y^o.
Для любых действительных р, q и х, у > 0 справедливы
соотношения
х~р = 1/хр; хр/х^ = ХР-";
(xyf^xPyP; (x/yf=xP/if.
107
ПРЕОБРАЗОВАНИЕ ИНТЕРВАЛА
Для преобразования интервала используются функциональные
соотношения [47, 105]
Vx = bk VxtF*k =ЬкУ~ВУхЬ-ш+1У'
Yx = bkVxV^ = bkVbVxb^^ ^^^Pv^iF5^,
где b > 0, k — целое.
Для машин с плавающей запятой х = ^р; 1/Л/ < q <Z 1, где
Л/ ■— основание системы счисления; р — порядок, <7 — мантисса.
Для функции у — Ух
I NmYq при четном р;
I Nip+wzV N~*q при нечетном р.
3 —
Для функции ух
Np/3 \fq при р = 0 по mod 3;
дг(р+2)уз ^ЛГ2? при р = 1 по mod 3;
дг(р+1)/з j/ дг-1^ при ^ 2 по mod з.
СТЕПЕННЫЕ РАЗЛОЖЕНИЯ [21]
1. Выражение (а ± х)п преобразованием к виду а" (1 ± xla)n
сводится к нижеприведенным разложениям. Область сходимости
при п > 0 | х | < а, а при п < 0 | х | < с.
2. (1 ±х)" =, 1 + 5 (± If "(»-!)■■■ (»-*+!) д j 15j 23]
я>0, |х|<1.
U±X; lrfc2* 2-4* =t2-4. 6^ 2-4-6.8ДГ±-'
И<1- [15]
, ,i , „ft 1,1 1 • 2 „ , 1 • 2 • 5 „ 1 • 2 • 5 • 8 4 ,
1 1-2 я , 1-2-5 , 1-2-5-8
3 3- 6 ^З- 6- 9 3-6-9-12
|*|<1. 115]
о. U±*J 1±4* 4-8Х ±4-8-12Х 4-8-12-16Ж ±-«
М<-1. . [15]
108
6.(i±*)-"^i-;£(±i)* "("+!>••• ("+*-'> х*,п>0,
И<1. [15,23]
7. (lixr'-lTx + ^T^ + x4^ ---, |«|<1. [15]
8. (1±хГ2=1т2х+Зх2=р4х3 + 5л-4Т ..., |*|<1. [15]
9. (1ч=хГ3 = 1Т142(2-3;с=Р3-4л:2 + 4-5л:Я:Р5-6л;4+ •■•),
И<1. [15]
Ю. (1 ± я)-4 = 1 + х\.ъ (2 • 3 • 4* =F 3 • 4 • 5л:а + 4 • 5 • 6л:3Т
Т5-6-7х4+ ...). 1*|<1- [15]
п. (i±a-)-v°=i=f 4-*+4л- х2:р4^7тх3+
+ г'^.'б'в ^4=F"-. И<1- [151
12. (1±*Г4'»=1^* + 4т^-Шг*3 +
+ 3 - 6 "■ 9 ■ 1" х4 ^ •" ' I^K1- П5]
+ i.'e-'tt-'lB **±"-» М<1- [15]
Н. 4- = -f2(-|-^-1)' x€[1.21. [47]
МНОГОЧЛЕННЫЕ РАЗЛОЖЕНИЯ
1 1
а — Ьх |/-fl2 _ Ь2
(1+22^^)), [47]
Р= —ъ , |Ь|<а, |*|<1,
" ' (1 — P)Va2~ &
'+22 (-l)*9*T*(2r-l)
2- T+J = ~ (fl2 + c)V. ' t4?]
109
Таблица 7
Искомая функция у
Невязка z0
Условие
сходимости
Погрешность ограничения
V~x = Уо(г0 + 1)Уп = у0Х
х/Уо — 1
<1
: (— \)"\П— 1)(2П— 1) •
• • • ((т—1)я—Г)
т\
Vx
L. .= y0(z0 + 1)"
■Vn.
г/оХ
X
(l-i,
1+П-2
xi/S-l
21 /г:
i^o —
<1
:(—l)m(/H-I)(2fH-I)--
•••((m —l)n + l)
ml
— = Уо(г0 + 1Г1 =
;{/o(l—«o + Zo—г§+---)
*Уо — 1
< I
(l+*)"=»o(l—2b)" =
Уо
21
X ZS
)
+ *)Уо-1/п
< 1
:(-l)m(tt+l)(2tt+l)---
■■■((m—1)/г+1)
ml
xB=»o(eb+l)° =
.0(1 + -0 + 5^1»?+
<1
:(—l)ma(a—1)-
••• (a — m+ 1)
a(a—l)(a —2)^3 , V
3i 2o+---j
9 = 2g + I — 2(a2 + a)'\ 0<ж< 1.
p = 3-2V2, x€[l, 2],
- /?„_, = _^_ < з<"+1^2.10-" < \o~l3n-1)f\
ml an
[47]
4.
-3^=2^2 Z{k+l)pWk{3-2x),
Р = 3-2У2, *G[1, 2],
где £/fe (x) — многочлены Чебышева второго рода.
[47}
ПО
5. Для функции у — У~х
<*e* 2k — l
„ 2k—\
fc=0
где уп — приближенное значение У~х; с„ — коэффициенты
разложения многочлена Чебышева Тп (х); х £ [0, 1], /?„_i = .
В табл. 7 приведены степенные разложения для некоторых
функций, выраженные с помощью невязки z0, и их погрешности
ограничения [78, 82]. В табл. 7 и далее приняты следующие обозначения:
г/о — приближенное значение искомой функции на заданном
интервале; 6<т) — относительная погрешность ограничения за счет
удержания m членов ряда; б0 — относительная погрешность
приближения г/о-
БЕСКОНЕЧНЫЕ ПРОИЗВЕДЕНИЯ
= П (1 + zg );
/г=0
J_ .. ГТ ,- . 2*.
X
[45, 741
йП[1 + г02 ],
*=0
где | 20|< 1, 2q = 1 — хг/0.
РАЦИОНАЛЬНЫЕ ПРИБЛИЖЕНИЯ
m,1{X-l)k
fc=0 V
1 (_ lf C<C* . (x- »ft
[471
fc=0 ^m+l
где п — любое действительное число.
2. sr = ^ = j,0(2i)-|-l)-V = ir0(l_±z0 + ±t^2g-...)t(4.1)
где 20=г/"/х— I; |г0|<1.
Относительная ошибка ограничения
6Г«(-1Г С' + Ц^ + Ц — m-Dn + i) 6m m>2
з. y-vx-vo (2_(п_1)гв)Уп -
[78, 82{
IH
n+l „ l_„ /n+ni
= Уо ^ tt: t-r-i , [78. 82]
2(*-»g) . ,^,
ГДег°=(«+1),с" + ("-1)-' ,?0l<1-
Относительную погрешность ограничения можно оценивать, учтя,
что z0 =& б0.
^y^^-ffefn-itt<tt + I)-"(tt + *-1)zS). [78]
fc=i
,I/a
где z0 = 1 —yo'jx; z0< 1. ^
c(m) ^_ / tim a(a+ 1) . . . (a + m— 1) „m
am/n!
РАЗЛОЖЕНИЕ В ЦЕПНЫЕ ДРОБИ
1 /i i *л"_« ! nx (1+n)* (1 — ft) x
1. (l+X) --Г_-Г+ 2 + 3 + •■
(m + n) x (tn — ft) x
+ 2 + 2m+l +
m = l, 2 [96]
(1 —") г0 («г + п) г0 (tn — п) г0 \ R
+ 3 + ••• + 2 + 2m+l + •••/' l J
где z0=l —(1 +x)tft"I/n. '
Здесь и далее т = 1, 2, ...; #0 — приближенное значение
искомой функции. Аналогичные разложения можно получить с
использованием нижеприведенных цепных дробей для функции (1 + х)п:
л _i_х\п л , пх (i — n)x (l+ft)х
(т + rt) х
...
(4-
(tn-
+
-ft2)*2
— п)х
2
+
[96]
+ 2m+i + •■•;
П J- jcV = 1 -U 2"* С - »2) *2
V-Y-*) -f 2 + (l — ft)x — 3(2 + x) — 5(2 + x) — -
(«._„.)*■ ^ [96]
*•■ — (2m+l)(2 + x) — • ••;
П 1 .r>"-1 1 яд: Зя(1-п)х2 5(l + ft)(2-n)x2
V T*) i-y-iji, 6+2(2— ft)* — 30 + 2(8 — n)x — ••
(2m + 1) (2m — 3) (tn + n — 1) (tn — ft) x2
2 (4m2 — 1) + 2 (2m2 — n) x — • • •' ' '
112
/1 _i_ \" _ ' 3ft(l+n)jc» 5(1 —n) (2 +я) л?
U + ^ 1 _ nx + 6 + 2 (2 + n) л; — 30 + 2 (8 + n) x — • • •
(2m — 3)(2m + l)(m — n — l)(/n+n)*a . -
~ ...» L»oJ
2 (4/n2 — 1) + 2 (2m2 + n)x
Учитывая, что у = -\fx = y0 (1 + г0)1/п и z„ = х/г/о — 1, получаем
1841
V *-0o\—_ —j— + g + 3 + ««•
+ 2 + 2/n + l +-••/'
+
( -U (l—LU (l+-U
/*=й\1+—+ 2 + 3
(д-тЬ (т+тЬ V
•••+ 2 + 2/n + l + •••)'
4- Н4ГИ
V^X=f/o 1 +
2 + (l-i-)z0 _ 3(2 + z0) _ ....
(--k)")<
-•■ — (2m + 1) (2 + z0)
Учитывая, что у = j/x = y0 (1 + z0)_I/" и z0 = г/S/x — 1,
получаем [84]
(± ~vz° t'-vb (1+тЬ
V 1 — 1 + 2 + 3
{m—y)z° [m+T*°) V
2 + 2m +1 +•••/'
¥x = y0\ 1 +
2
и
о Г- ~ '0
2+(l + -i-)z0 _ 3(2 + z0) _ ..
••• — (2/n+l) (2 + z0) — ■" /*
8 б-*83 1Г8
Две последние формулы можно использовать для вычисления
функции у = 1/ух с невязкой z0 = ху'* — I, так как в этом
случае 1/1/х = у0 (1 + z0)~1/n-
ИТЕРАТИВНЫЕ ПРОЦЕССЫ
Итерационные формулы для вычисления фикции у — 1/х.
Величина 1/х = lim yt при условии | 1 — xyt | ^ 1 и
/-*-оо
№+i = & (2 — *%); б'+1 ~ б'"> [45, 74]
Jft+i = И 2 (1 — *&■)*; б1+1« 6?+'; (4.2) [78, 82]
fc=0
г/1+1 = & П [ 1 + (1 — хг/,)2 1; б(+1 * б? + . [74]
fc=0
Рекуррентная запись разложения в ряд невязок функции у =
= \1х:
tiki* = ukz0; yk+1 = yk + Uk+u k=\,2,,..;
i/i = "i = J/o. 20 = 1 — *y.
При ] Zq I < llim 24 = l/x. При & = 1, m — 1 относительная
Й-*-со
погрешность ограничения | 6(m) | да бо1.
Запишем начальные приближения для приведенных выше итерационных
формул (функция у = 1/х). Для х £ I —, 11
*о = 4": |бо|<4"; [45'731
#0 = — 1,882353 (х — 1,5); | б0 |< 0,0588; [45, 59, 73]
г/0 = 2,1667 — х; |6о «0,167; [65]
#о = 2,9282 — 2х; |б0|<0,072; [65]
у0 = 2,58586 (л;2 — 2,25х + 1,64062); |б0|< 0,0101; [57]
{/о = 0,45469 + (х—1.71285)2; |б0|<0,0372; [45,60]
{/о = 0,86607 + 2 (х — 1,24123)а; | б0 К 0,0175. [60]
При х£
НИ
20 „ 10
г/о^-рр; IfioK-jj-: [73]
г/0 = — 4,968944 (х — 1,1); | б0 | < 0,503; [59, 73]
г/о = 2,7364 — х; | б0 |<0,736; [65]
г/о = 12,07092 (х2 — 1 ,65х + 0,75562); | б0 |< 0,275; [57]
г/о = — 4,18541 + (х — 3.17012)3; | б0 | < 0,476; [60]
г/о =»+0,61641 + 10 (х—0.90415)2; | б0 К 0,292. [60]
И4
Пр:
■ ^[-i-.i]
32 . 16
у о = —^г; I оо К ■
17 ' ■-"■ - 17 ■
у0 = — 5,8017 (х — 1,0625); | б0 | < 0,637;
у0 = 2,8272 — х; |б0|< 0,827;
у0 = 16,02935 (х2 — 1,59375л: + 0,68188); | б0 |< 0,413;
j,0 = — 6,36775 + (х— 3.59829)2; | б0 |<0,617.
[73]
[59, 73]
[65]
[57]
[60]
Сегментная аппроксимация [69]. В табл. 8 и 9 приведены
сегментные аппроксимации функции у = Их на основе постоянного
начального приближения для заданного
интервала, а в табл. 10 —на основе
экономичного линейного приближения у0=
= W (В + х).
Итерационные формулы для функции
z = у/х.
п—\
1. У1+1 = У; S (1 — Xif, Xl+1 =
Таблица 8
fc=0
n-I
[74]
Значение
аргумента
десятичное
0,5
0,625
0,75
0,875
двоичное
0,100
0,101
0,110
0,111
Не
16
9
16
11
16
13
16
15
»0
1
9
1
11
1
13
1
15
= *£ 2 (1 — Х^, б/+1 яз б".
fc=0
1. L yt+i= уi (2 — л;,-); xt+l = xt (2 — xt),
i = 0, 1,2, ... [67]
Здесь у — делимое; х0 — делитель;
z = lim у,-; 6,-+i « 6?; б0 « 1 — х.
Другая запись этой формулы имеет вид
yi+i = 2yt (l yxi) ; Xl+l = 2*' i1 2" *')'
1.2. yi+l = & (2 — X,); jft+i = xt (2 — *,), г = 0, 1,2,
J/o = J/mo"> x0 = xm0;
[74]
z = lim yt; 6/+I;
: 5*; б0
1 — xmn
Здесь и далее /По — приближенное значение — на заданном
интервале.
2~(k+l)x, если хк<0;
2. xk+l -xk + , __ 2_(fe+,4 если ^ > 0.
I zft, если %+i<0;
z*+> = I Zfc + 2-(ft+,), если х,+1 > 0,
При х0 = j/ = 0, 0< #<* г *= lim zA.
k-*-txt
[45]
/г = 0, 1,
11В
Таблица 9
Таблица 10
Значение
аргумента
десятичное
0,5
0,5626
0,625
0,6875
0,75
0,8125
0,875
0,9375
двоичное
0,1000
0,1001
0,1010
0,1011
0,1100
0,1101
0,1110
0,1111
У»
32
17
32
19
32
21
32
i ~23~
32
25
32
27
32
"29"
32
~зГ
бо
1
17
1
19
1
21
1
23
1
25
1
27
1
29
1
"зТ
Значение
аргумента
десятичное
0,5
0,5625
0,625
0,6875
0,75
0,8125
0,875
0,9375
двоичное
0,1000
0,1001
0,1010
0,1011
0,1100
0,1101
0,1110
0,1111
™ л
w4
—I
—2
—1
—2
—1
—2
—1
—2
—1
—2
—1
—2
—1
—2
—1
—2
V г.
Г в
—2,41544
—1,47426
—2,27961
—1,4375
—2,18155
—1,41964
—2.08667
—1,41548
—2,0625
—1,4225
—2,03009
—1,4375
—2,01078
—1,45905
—2,00202
—1,48589
lCol
0,0423
0,0264
0,0341
0,0156
0,0271
0,007
0,0381
0,0018
0,0156
0.0087
0,0107
0,0156
0,0062
0,0221
0,002
0,0282
п—1
п-1
8- У1+\ = Vi 2j (1 —ху{); x[+i = Х[ 2 (1 — xyfc
у{ = ут0; хс = хт0\ z0 = lim yc;
х,-*-1
[69]
б/+1 s=; б"; б0 » 1 — хт0.
4. yi+l = у. П [1 + (1 _ xf}- Xi+1 = х( Л" [1 + (1 - xf\; [74]
k=0
k=0
t/o — делимое; x0 — делитель; z = lim yt;
X.— I
Sf-
:+!■
я2"4"1, я
: Oi , 00
5. m+l = у. П [1 -}- (1 —Xif l; xl+i = xt П [1 -(1
yn = xm0; x0 = xm0;
§l+i =к б j ; 60 «s 1 — j>cm0.
6. xi+i = x£ + 2"^"*,; yi+l = й + 2"mi/,.
■xf]; [74]
[136|
Для 1/2 < x <; 1 берем т = I + p, где /t? — число левых нулей
в выражении 1 — х{. При этом z = lim уг. Процесс может быть
д^1
116
завершен по формуле (4.2) для вычисления у-ь.
7. yi+i = — уft + yt; ci+l = — cf, [87]
Уе = У> с0=х— 1; z=lim#t..
Эта формула выводится по методу бесконечных произведений.
Возможен такой вариант:
Ы+1 = Ус + c£yf; ci+i = cf;
i [74]
Для машин с фиксированной запятой можно использовать
следующие формулы.
1. Итерационная формула второго порядка [87] для вычисления
ФУНКЦИИ t/= 1— rj.
yt+i = У{ — Ci+Wt + °i+u ci+i = ytx + X—1. (4.3) [87]
Эта формула основывается на выражении (4.2). Начальные
приближения для формулы (4.3) при -g- < х < 1 [74]:
_ 1 . - 1 .
Уо — ~з" » °о "^ "у'
Уо
9/ 16 31 \ „ 1
-ЧТГ* 34Г °0<- 17 '
t/0 = 2 [0,272655 — 2 (0,856425 — 0,5x)2];
80 < 0,037.
2. у1+1 = 2% (1 — ху); -±- = lim %; [741
6/+1 « б/.
3. №+1 = 2% [з (-L - х&) + 2 (ху,.)2]; [74]
-_— = lim yt; 6/+I » б?.
4, j/,+1=8j/,. [4-+(4— *&) ] [4-+(4 - *и Л; i74^
~=\imyc] |$ц_,|даб?.
Б. №+I =2"+I (ЙП[ ^Л_ + (4-_ху,-)2)]; [74]
I6fi«lfi,r.
117
Начальные приближения для этих формул при 1/2 < х <; 1 [74]:
2 , _1_
3 ' «"^ 3
__ 2 . я J_.
^ = 2(лт- ГГ*); 6о<ТГ;
t/0 = 0,227345 + 2 (0,856425 — 0,5х)2; б0 < 0,037.
Итерационные формулы для функции у = у^лг.
1. Уш = № (l + ^1(1-")--0 — (*-1))^ £ [78, «г,
Imy^Vx; l^l^^-^2"-^-,-^-1^^, где z,=
- 4— L- |z,*|<l. ' = 0, 1, 2, .... m = 1 V 2 V •••;
t/0 — начальное приближение функции у = \/ х на заданном
интервале.
При тп — 1 получаем правило Ньютона [47. 78]:
у.+.=4-[(п-1)^+^р-];
s И — 1 с2
Otfi«—2—6<*
При m = 2 и п = 2 получаем итерационную формулу Герона
Ус+\ = -g- (j/,: + -|-) ; 6/+, sss — 8f.
Рекуррентная запись разложения в ряд невязок [80]:
1 — (k — 1) п , «.to
Uk+i = uk ^ z0; yk+\ = yk + uk+i, к = 1, г, ,..;
(4.4)
"i = j/i = j/o; z0=x/y" — i.
Для \z0\ < 1 lim yk = ]/jc. Для fe = 1, m — 1
ft-t-oo
1ХИ|^ (n — 1) (2ft — 1) . . . ((/n — 1) n — 1) cm
|0 | _ O0.
[78,82]
% = 1 §-. k|<I, « = 0,1,2, .... m = l V2V -.;
lim yt = Yx\ | 6Ж I» (Д+1)(2я+1) ••■ (ЯИ4-1) gm+i
*-*«• (/n +1)1 "
118
При т = 1 [47, 74]
s n-+- i *•
°H-i« —^— б/
«+_1 д2
2
При m == 1 и п = 2 [47, 74]
уж = & ^ —2FJ; 6<+> ~ тб£-
Рекуррентная запись разложения формулы # = У^лс в ряд
невязок [80] отличается от выражения (4.4) только тем, что г0 = 1 —
— уо/х. При \ z0 | < 1 lim yk = i^*. При Л = 1, т — 1
А-+оо
I s(m) , (tt+l)(tt + 2) • • ■ ((/П —l)n+l) cm
|o | л o0.
m
j , у (ft + i)ft(i-„) ... (l-n(fe-l)) ft
3. №+i=ft ^ : ; [78,82]
, , V ,_ ..k(n+ if (1 + n) .. . (1 + n(k- 1)) k
+ £{ ' 2kk\nk Z(
В частности [28,78], t/£+1 = yt(l + z£); yt+, = у [l + z£ +
Частные случаи итерационных формул для вычисления Ух и
llVx [84]:
x — ifi x — yf x — yf
4. J/i+i = у,- +
2j/£ + 2t/(- _|_ ... _|_ 2#,-
B данной цепной дроби m звеньев. При т = 1 получаем
итерационную формулу Герона. В общем случае получаем процесс,
соответствующий методу Доморяда [281:
y?+C*mV?-2x + Cimy?-ix* +
<ЫГ1 + C3mVf~h + C5mV?-5x* + • - -
°- #+I = ^1 .m-\ , ^3 .m-3.. , „5 ..m-5.., , Г «m.
где Аг — абсолютная погрешность приближения yf.
119
При т = 3 [28]
Jfcfi = Vi Ол + Зх)/(3у? + х); 6£+1 » l/46f.
6- t//+, =* у, 2" #А". г<+' = "Г ^ tz/ — 3); [471
у0 = х; ze = л: — 1; Vx = lim #г.
zt--vO
7. f,+i = x£ + 2~mx;, xl+i =■ *£ + 2~mtr, [136]
#Ж = Ус + 2~ту{; Уо = x; xt = x; Vx = lim yt. (4.5)
Для интервала [1/4, 1] m = 2 + p, где р — число левых нулей
в выражении I — х{. Процесс может быть завершен по итерационной
формуле для вычисления у = \lY х. При этом xt = jCf+i; yt =
= j/(+i (■%+!» #4-i ~~ значения, полученные по итерационной
формуле (4.5)). Взяв у0 — 1, получим итерационные формулы для
вычисления t/ = l/Vx-
8. j/^ ^ S ft - 10-''. [120]
Начальные условия 2о0) = у; Хо0) = х. Рекуррентные выражения
для каждого /:
Z*+I = Z\ — Xk ,
*$-i = 4Л + * • КГ'', * = 0, 1, ..., qt.
Процесс повторяется до тех пор, пока
Начальными условиями для вычисления <7/+ь когда ft найдено,
являются равенства
(Ж) __ _(д
о, = гч.
4+'> яЛ,._х. КГ'' + х • КГ''-1.
*/
Для функции у = |/д; [45]
9. хк = 21яг*_, - (уй_, + 2-ft) sgn xft_, + 2- №+,)I;
j Dk> если xs<0;
y^l = \yk +2-№+1>, если %>0;
f 1, если x >■ 0;
Si?JH X — i
I—1, если х<;0, & =0, 1, ,„•
При 0<д;< 1; д;в =д;; у0 = 0 у = lim bk.
ft-юо
120
Для машин с фиксированной запятой 1х £ -к-, 1 ) формула Ге-
рона преобразовывается к виду [451
х
и- 2
10. yi+i = -|J- + —— ^ где начальное приближение у0 =
= 0,5713д: + 0,4287; | б01'< 0,012.
Частные случаи для вычисления-\Гх и ух [113]:
1
11. yi+i =~У1 +
1 , + 2
12. yi+i=*yr
Щ + xy't
3 о
№+i -*■ Vx; | б£+, | < — | б,-13.
У1 • Vt
2(»<+iH'
5 а-
yi+i -»- fr, | б,+, |< 2 | б£ |3.
Итерационные формулы для функции у = \l\fx.
„ _ „ (1 4_ V '("+')■■■ (1+я(й-1)) Л . f7R R9I
уш -ytyi + Z ^ zt J . [78.82J
z^l—xyl; |z,|<l, 1=0,1,2 ffl = lV2\/...;
litn „ — _J_ • I Л ' -■ (я+')(2п+1) ••- (ffw + D ■ «. ,m+i
^Й~ТГ' ' +l1 ^+T)i 16'l+-
Для извлечения корня n-й степени без деления можно
воспользоваться тождеством -\fx ss у"- л;, где у = ——-„
/ж
При я = 2иш=1 [47]
3 1 2 с 3-2
№+1 =-^Ш Г *^'; '+' ^ "2" 6''
Для машин с фиксированной запятой в интервале х £ -^-, 11
вычисляется функция у = —-=- - В этом случае итерационные
формулы преобразовываются [74]:
yi+i = Vi + yt \-\ 2xyt):
fi/+,s»-|-6l; j-^ 2л#? |< 1;
= hm У1
2Vx
121.
или
yi+i = 2Уь [-Ц- + Зх$f ху? — it)] ;
б<+1 = -тг $; -^— 2*#<?
<i.
2 " I 2
Начальное приближение у0 = •— 0,40500л; + 0,89386; | б0 | <
< 0,022.
Рекуррентная запись разложения в ряд невязок функции у ==
- МУх [80]:
1 + (гс — \)k
«ft+i = «fc ^ z0;
йИ-i = Ук + ы*+ь k = \,2, ...»;
Щ. = У1=Уо> z0=l —xyt
При | z01 < 1 lim t/ft = n __ . При й = 1, m — 1
ig(m) | ^ (n + l)(2n+l) ••• ((m—l)n+t) gm
Начальные приближения для вычисления функции {/ = }Лх:. При х £ -^-,
г/о = $п'2\ [47]
где h'— порядок числа; [и/2] — целая часть числа п/2.
И> = 2/(1 + У2), |60 К 0,172; [73]
у0 = 0,590162 (х + 0,707107), | 60 К 0,00747; [59,73]
г/0 = 0,47501 + 0,5л:, | 60 К 0,025; [65]
г/о = — 0,20441 (Xs — 4,35504л; — 1,53404), |80 | < 0,00064; [57]
г/0 •= 1,20937 — 0,25 (л — 1.91932)2, | 60 К 0,0019; [60]
— **%£??■ м-"~- . 1№>
При д£ [1/4, 1] у0 = 2/3, | во | < 1/3; [73]
{/о = 0,686291 (х + 0,5), | 60 К 0,0294; [59,73]
г/0 = 0,41789 + 0,5л, |60|< 0,086; [65]
г/0 = 0,16667 +л, |60|< 0,167; [65]
г/о = — 0,31632 (л2 — 3,3258% — 0,81967), 160 К 0,005; [57]
г/0 = 1.01949 —0,5(л— 1.27876)2, |60|<0,0194; [60]
2,1851954л+ 0,35356163 2.6. Мо51
№в *+ 1,5451854 .16оКЮ , 1105]
0,3432197895л:2 + 1,071300909л + 0,0858052283 , » , ^ ,„_з,бб ,lftKl
№ * + 0,5000008387 . 1 ft» 1 < Ю • 1105]
122
При л: G [1/10,1]
Уо = 2/(1 + УТО), | «ь| < 0,519; [73]
{/„ = 0,819366 (x + 0,316228), |60|< 0,0785; [59,73]
2/o = 0,17157+*, | 60 |< 0,172; [65]
ya = — 0,52022 (xz — 2,49943a: — 0,38112), 160 |< 0,0217; [57]
{/„ = 1,02694 — 0,5 (*—1,28618)*, | 60 |< 0,0228; [60]
1,827694л;+ 0,177818 |e(<10-i,96. f]051
y°~ x+ 1,027851 -lObKlO ■ l105l
0,410314625л:2 + 0,866915727л: + 0,041031974 , . , _ ,n_2 81 ,,„c,
*>=■ * +0,316229818 . |воКЮ '• |10Б]
При x£ [1/16, 1]
{/o=0,4, | 60 К 0,6; [73]
{/о = 0,888889 (x + 0,25), |60|<0,1П; [59,73]
y0=> — 0,65002 (л2 — 2,21855л: — 0,26385), |60 | < 0,0364; [57]
{/0 = 0,92498 — (x — 0,897)2, | 60 |< 0,0856; [60]
{/o = 1,08178 — 0,5 (x — 1,34335)2, | 60 |< 0,046; [60]
0 139321
y0 _ 0,66874 + 0,445827* =——— , | б0 | < 2~17-66; [108]
x + 0,25
1,289774 ,„ 12.
{/0=1.682126-^^^, |60| <2-12'5. [108,
з —
Начальные приближения для вычисления функции у = yfx. При х £ [1/2, 1]
{/о = 2/(1 + fa), | 60 К 0.П5; [73]
{/о = 0,415338 (х + 1,423661), | 60 |< 0,00664; [59,73]
{/о = 0,52477 + 0,5л:, | 60 | ^ °.024; [65]
у0 = — 0,1915 (х2 — 3,64262л; — 2,57592), | 60 |< 0,00064; [57]
{/о = 1,07992 — 0,25 (х — 1,57334)*, | fi0 К 0.0023; [60]
- - -М299605 + 1,7907071л ^ш< ]()_з,59> [т]
т 1,4212855 +л:
Приж^ [1/10, 1]
{/о = 2/(1 + т/щ, | во| < 0,366; [73]
{/0 = 0,636852 (л + 0,679602), | 60 |< 0,0697; [59,73]
{/0 = 0,46214 + 0,5л, | 60 К °.ЮЗ; [65]
Уо = _ 0,53045 (л2 — 2,15739л: — 0,68784), | 60 К 0,0212; [57]
у0 = 0,9969 — 0,5 (л — 1,12203)2, | 60 К 0,0226; [60]
.. _ 0,215436 + 1,437142* _ ( ^ (< ш_2.06> []05]
ио 0,667089 + л
При л: £[1/16,1]
М> = 2/(1 + ^Тб), | во | < 0,432; [73]
123
?/„ = 0,706799 {x + 0,55434), |60|< 0,0986; [59,73]
i/0 = 0,42563 + 0,5*, | 60 К 0,161; [65]
j/0 = — 0,6737 (xa — 1,93916л- — 0,49262), | 60 I < 0,0354. [60]
Начальные приближения для вычисления функции у = -\Гх. При х £ [1/2,1}
г/о = 2/(1 + у*!), | 60 К 0,069; [73]
г/в = 0,260136(ж + 2,862512), | 60 |< 0,00478; [59,73}
г/0 = 0,75084 + 0,25л:, |60|<0,061; [65]
г/0 = 1,07796 — 0,125 (х — 1,78583)2, | 6„ |< 0,00085. [60]
При х £ [1/10, 1]
г/о = 2/(1 + уТО). | 60 |< 0,226; [73]
г/0 = 0,430546 (х + 1,438742), | 60 |< 0,05; [59,73]
г/„ =*0,97925 — 0,5 (л; — 0.93594)2, | 60 I < 0,0228. [60]
При «£[1/16, 1]
г/о = 2/(1+ тПв). | 60 | < 0,27; [73]
г/0 = 0,486134 (х + 1,20251), | 60 I < 0,0707; [59,73}
г/0 = 0,99087 — 0,5 (х — 0.95681)2, | 60 К 0,0289. [60}
Начальные приближения для вычисления функции у. = 1 \^х. При х £
СНА 1]
г/0 = 2 У2/(1 +VZ), | во | < 0,172; [73]
г/о = — 0,809987(х — 2,207107), | 60 |< 0,0223; [59,73]
г/0 = 1,9511 — х, | 60 | < 0,049; [65]
г/0 = 0,83545 (х2 — 2,47317л: + 2,67395), | б0 |< 0,0032; [57]
г/0 = 0,9791 + (л: — 1,16448)2, | бо |< 0,0062. [60]
При х £[1/4, 1]
г/0 = 4/з, |б0К 1/3; [73]
г/в = 1,218727 (л: — 1,75), | 60 К 0,0859; [59,73]
г/о = 2,0275—ж, |60 К 0,111; - [65]
г/0 = 1,63857 (л2 — 2,00502л; + 1,62998), | 6„ |< 0,024; [57]
г/о = 0,88877+ (л: — 1.26396)2, | 60 К 0,0416. [60]
При л: £[1/10, 1]
i/o=2 уТ0/(1 + УТО), | во | < 0,519; [73]
г/0 = — 1,878051 (л:— 1,416228), |60К0,218; [59,73]
г/0 = 3,33499 (л2 — 1,68635л: + 1,01519), | 60 К 0,0967; [57]
г/0 = 053046+ (х— 1.54808)2, |60К0,169. [60]
При х £[1/16, 1]
г/о = 1,6, | во К 0,6; [73]
г/0 = —2,244019 (л:—1,3125), | 60 |< 0,299; [59,73]
г/0 = 4,47258 (л2 — 1,59364* + 0,85179), | 60 |< 0,155; [57]
г/о = 0,93538 + 4(х — 0.83941)2, 16„ |< 0,163. [60]
124
Начальные приближения для вычисления функции у = -=— . При х £ [1/2, 1 ]
{/0 = 2 \ГЩ\ + У%, | б0 | < 0,115;' [73]
у0 = — 0,512971 (л: — 2,923661), \ б0 |< 0,0132; [59,73]
{/о = 1,4916 — 0,5л:, | б0 К 0,015; [65]
{/о = 0,4707 (*2 — 2,58744* + 3,71571), | 60 I < 0,0018; [57]
г/0 = 0,96714 + 0,5 (х — 1,26507)3, | 60 |< 0,0023. [60]
При х£ [1/4, 1]
г/о = 2?/4Л 1 + уТ). | 60 К 0,227; [73]
ув = — 0,742946 (х — 2,276811), \ 60 |< 0,0514; [59,73]
г/0 = 1,8933 — *, 1 60 I < 0.Ю7; [65]
г/0 = 0,89015 (х* — 2,07777* + 2,21627), | 60 I < 0,0134; [57]
г/0 = 1,01771 + (х— 1.00236)2, |60 К 0,0177. [60]
При х £[1/10, 1]
г/о = 2 у^1о/( 1 + уПЬ"), | «о К 0,366; [73]
у0 = — 1,112026 (ж — 1,779602), | 60 | < 0,133; [59,73]
г/о = 1.9422 — х, | б0 |< 0,145; [65]
г/0 = 1,76169(дта— 1,71868*+ 1,31754), | 60 К 0,055; [57]
i/o = 0,90189 + (* — 1,14122)2, | 60 |< 0,0782. [60]
При *G[1/16, 1]
г/о = 2 5/16/(1 +Ущ. \ во I < 0,432; [73]
г/о = — 1,321495 (* — 1,61684), |60|< 0,185; [59,73]
г/0 = 2,0334 — *, |60|< 0,217; [65]
г/0 = 2,34876 (ж2 — 1,61027* + 1,07397), | 60 К 0,0891; [57]
г/0 = 0,9647 +2 (* —0,87232)а, |б0|< 0,0966. [60]
2. ПОКАЗАТЕЛЬНАЯ ФУНКЦИЯ
Показательной функцией называется функция у = ах (а > О,
а =#= 1)- Показательная функция непрерывна и определена для всех
х £ (— оо, оо). Она монотонно возрастает при а >- 1 (у' (л;) >■ 0)
и монотонно убывает при а < 1 (г/' (х) < 0).
При а > 1 функция у = ах растет быстрее любой степенной
функции ха, т. е. lim ахх~а = оо. При этом функция у = а*
для х £ (— оо, оо) возрастает от 0 до оо, а при а <Г 1 убывает от со
до 0 (исключая точку у = 0). Функция у = ах выпукла книзу
W (х) > 0 Для х £ (— °°. °°)1-
Основные соотношения:
ах = ех1па; (ах)1п) = a* (In а)п; (*V* ~ **;
125
ахау^ах+у; ах/ав = ах~у; {ах)у = а"; (ах)1,в - а*";
l + th-J- ch^- + sh^-
l_th-|- ch-|~sh-|-
ПРЕ0БРА30ВАНИЕ ИНТЕРВАЛА
Число х можно записать как х = k + yt k = Ы, у = {л;}.
Тогда 0 < у < 1 иа' = cV.
Этот процесс можно продолжить [47, 105], т. е.
ау = (aj/-2-m)2m ==((... (ar-r-yf .. ,)2,
где /я — целое й больше нуля. При этом диапазон изменения у
уменьшается до интервала
0<у<1/2т.
Исходя из соотношения ех = bx/lnb, можно записать [113]:
ех = Nx/lnN = NniNy,
где N — основание системы счисления; пг = [xl\n N]; у = {л;/1п N].
Тогда 0 <! у <С 1. Этот процесс можно продолжить, если положить
Ь = N1,N. Тогда справедливо преобразование [105]
ех __ [)Nx/ln N __ frntN+nt+y
где п1? п.2 — целые; 0 < n2 < Af; 0 <. г/ < 1. При этом
е* = NniN"',N Ny/N.
Имея в машине N — 1 констант iVftyW (Л = 1, W — 1), можно
аппроксимировать функцию N2, где 0 < г < UN. Здесь так же,
как и в предыдущем случае, можно достичь диапазона изменения
О <; г < IINm, полагая Ь = N^Nm. Количество констант,
хранимых в машине, возрастает до mN.
В случае вычисления функции у = ё~х при Ы2 < х •< Ь
преобразование интервала включает дополнительный шаг [105]
ех = NniN4*Ny,
где — 1/2 < у < 1/2; п, + 1/2 + г/ = х In #.
Для преобразования интервала можно пользоваться выражением
[72]
а* = [фах'2 + t) — 2t {Ьах'2 +1) + *2]/Ьг,
где b,t — произвольные параметры, причем b Ф0, либо
выражением
где а — константа.
126
Если все части равенства [21]
]\j{xflnN} __ g{*/ln W}ln N __ ev
где | v | <; In N, умножить и разделить на V~N, получим
VNev~lnNIN = euVN,
где и = {x/ln N}\n N — In iV/iV; | и | < In tf/tf.
СТЕПЕННЫЕ РАЗЛОЖЕНИЯ
00 ft
2. a* = a*/i" «alo^° = #0 J -J-,
(4.6) [23]
(4.7) [78]
где | z0 I < 00; z0 = (л; — log„*/0) In a; y0 — приближенное значение
функции у = ах.
Относительная погрешность ограничения от удержания т
членов
где б0 — относительная погрешность приближения у0. При у0 =* 1
получаем разложение (4.6).
fc=0
[78]
z0=x— !ny0; |z0|<oo.
Погрешность ограничения в данном случае совпадает с
погрешностью разложения (4.7).
МНОГОЧЛЕННЫЕ РАЗЛОЖЕНИЯ
1. *»=-/„ (а)+ 2 2 Ik(a)Tk{x), |xl<l;
|/?„_i(a,x)|<
2/„ (а)
(n+lp'e
'и!'
[112]
где /д, — бесселевы функции мнимого аргумента.
2. е* = е1/.
оо
Io{i)+2^lk{i)Tk(2x-l)
, *€[0, 1]. [45]
127
3. ex = (e*/2)2 = e1/*
/.(4-)+22/*(-г)7,*(4*-1) -
*e[o,-i-].
4. При у = ex — lim #„.
[45]
4-1. ft,
f . to*8k (X)
fc=0
[44]
где sA (x) = ^ —j-; Cn — коэффициенты разложения многочлена
Чебышева Tk(2x—1), или
2 ^nsk(4)
4.2. yn
fc=0
(-ir+I+2*ES
ft=0
[44]
где cn — коэффициенты разложения многочлена Чебышева Un (2x —
— 1) по степеням х. Максимальная ошибка не превосходит обратной
величины знаменателя.
5. ех = 2 аьх", x£[—h, ft],
fc=0
[27]
нч
где
«._-1~*ЦЬй. 2 (-„Jfc^a-fi)-4^.*-^
т„ =
n+1
2
/<»-/)! f 2 ,»+|-!'
gc-'H^fM-fl
—1
Абсолютная погрешность Д =- т„
Tn+1(-^)+\e*--<Tn+\-L)dt
Для улучшения сходимости записанного многочлена (обозначим его
Рп (л;)) необходимо выполнить преобразования:
Р'п{х)=~^-, /we[-1.1I;
, 1_(B+lr»ft.
128
Тп
(n +
^IF{(n + l)sm(n + l)i[l + 7i^r] +
+ Acos<n+l)-J-[l+ -£=£-]}.
Тогда j| &* _ Pn (Ax) || cr-i,i] = |]e* - ^n (*) fla-M] =
= |i + oy]£„n
где £„ (e *) — величина наилучшего равномерного приближения
функции е х на сегменте [— 1,1] полиномами степени п.
6. 2* = 2,/е
7. 2* = 2
оо "It
/0 (4- Ш 2) + 2 24 ("Г 1п 2К(4*- 1)
00 -1
/0(4-1п2) + 2 2'*(4-]п2)Г*<2*-1) '
[45]
*€[0, 1].
8. 10*/4 = e""1 = -f- + J, afeTfc(*), Ix|< 1,
[45]
fc=i
где aft = 2/fc (-4^-) ; M = Ige;
#„< —
;n+l
°n+2
[47]
an+l
Ниже приведены численные значения коэффициентов [1051 полинома
наилучшего приближения функций 2* и 10*. Для функции 2* = Р (х) при ж £[0,1],
— lg 6 = 10,39
а0 0,999 999 999 959 788 989 223;
аг 0,693 147 186 083 889 076 258;
as 0,240 226 384 617 999 501 999;
a„ 0,555 051 268 595 571 008 73 • 1СГ1;
а4 0,961 401 701 1874339942 - 10'
г-2.
аъ 0,134 226 348 241 558 7789 • 10~2;
at 0,143 523 140 355 989426 • Ю-3;
а, 0,214 987 6361973 929 33 • Ю~4
При х £ [0, 1/2], — }g 6 = 5,32
a0 0,999995309 286;
% 0,693 465 364 856;
9 6-493
129-
cg 0,236 962 325 118;
as 0,659 068 4566- 10~'.
При x £ [0, 1/2], — lgfi = 10,83
o0 0,100 000 000 001 453 419 78 • 10+,i
«4 0,693 147 177 596 419 470 12;
a2 0,240 226 604 484 390 548 86;
a3 0,555 029 156 907 419 6475 • 10_I;
at 0,962 502 261 0C2 979 33 - 10-2;
fig 0,131310 538 528 088 71 ■ 10~2;
as 0,183 008 060 120 550 5 ■ Ю-3.
Прн x£[0, 1], — lg6 = 5,58
a0 0,100 000 259 337 • 10+1;
% 0,693 003 834 4595:
Щ, 0,241442 756 9428;
♦ ft, 0,520 114 605 441 - 10~';
a4 0,135 341679 432 ■ Ю-1.
Для функции 10* = P (x) при x £ [0; 0,1 ], — lg б = 6,03
a0 0,999 999 C85 441;
% 0,230 288 930 43- 1C+1;
0,5 0,263 548 1017 - 10+';
a3 0,228 143 438- 10+'.
При *£[0; 0,1], — Ig6 = 9,99
o0 0,999 999999 898 9688;
«! 0,230 258 516 791 88 - 10+1;
fla 0,265094 014 39708 • 10+1;
a3 0,203 506 317 839 ■ 10+1;.
e4 0,116 381246315 • 10+1;
cu, 0,604 911 17125.
РАЦИОНАЛЬНЫЕ ПРИБЛИЖЕНИЯ
2
п\Гп
n=0 m^m+k
n=0 n!cm+ft
При m=sk
п=0
(2ft-n)l -
(ft— n)\n\
2
(2ft— n)\
[44]
,3 <— !)"(*—n)im
Численные значения коэффициентов наилучших рациональных приближений
[105] следующие. Для функции
2* =
Q (х2) + 0,867 783 882 79 • 10+1л:
Q (х2) ■
Для функции
2* =
• *е[о.4-].-
■ 0,867 783 882 79 • 10+1л:
д0 0,250 391 066 503 ■ 10+2;
ft 0,1 - 10+1.
Q(x*) + xP(x>) Г J_] .
p0 0,721528 915114 93- 10+1;
Pi 0,576 900 723 731 • 10_1;
g0 0,208 189 237 930 062 • 10+2;
ft 0,1 • 10+1.
Ig б .= 6,36
10,03
Для функции
io«-gf?3+gfl.«e[o.
Q (x2) — хЯ (л:2)
p0 0,217 779 158 25- 10+1;
px 0,189 264 1058;
<7„ 0,189 161047 82 ■ 10+1;
ft 0,1 - 10+1.
■ lg 6 = 6,88
Для функции
10* =
Q (x2) + xP (x2)
, *G
0,
i]-
Q(x*) — xp(x*)
p0 0,414 374 355 942 044 8307 ■ 10+2;
рг 0,609 462 087 043 507 08 • 10+1;
p2 0,763 309 763 832 166 - 10_1;
. q0 0,359 920 992 457 256 1042 • 10+2;
ft 0,211 959 239 959 794 679 • 10+2;
ft 0,1 -10+1.
lg б = 12,33
131
РАЗЛОЖЕНИЕ В ЦЕПНЫЕ ДРОБИ
1. «.-i + JL^-iL _j_.iL JL + _£_ [96]
т =» 1, 2, ...;
2# jc2 jc3 xa
2. «*-i+ 2^n +-6-+ПЩ-+ — +17^+'1Г+ ••••[96]
/71 = 1, 2, ...
Обе дроби сходятся на всей плоскости комплексного переменного х.
3. е* = у»*. = 0„ (1 + -3L _■£ + -!-
20
--Г+-2^+Г )• [841
Здесь и далее #0 — приближенное значение функции у = ех; т =•
= 1,2, ...; z0 = * — ln#0.
л ^ , /i 2г0 ^
4. e. = ^. = i,0^l_-j-JL_ + _+ _
.... + 2(2/в+1) + — /* [841
5. е,=н_1 + ^-_.£- + ^.+ _ + 2(2*'+1) + .... [47]
6. e*»yoe«.=3y0(_l+-2._i
«g
4 \
1+1) + .../
+ 6 + ...
... + 2(2m+n J .Г f84l
7 р* = — Х Х Х* TQfil
1 — 2 + х + 6 + 10 + — + 2(2m+l) + •••.lWD|
8. t*-y0f = y0L±-_ ^
2 + г0 + 6 +
[84]
-)■
... + 2 (2/и + 1) + -
9 е«-,1 I JK+ ^ __^!__
(2и+1)(2т —3)х* ffl81
•-• + 2 ((2m — i)(2m+l) — x) + •«•. l J
10. C = ^o=^0 l+z04
Зг0 5zi
2(3— z0) + 2(15—г0) + ...
(2m + 1) (2m _ 3) zg \
• * « /
... + 2((2m—l)(2m+I) — z0) +
432
-- x - , 12х 7x* 33л:4
11. e «=1+ б(2—х) + л« — 10 (42x + x*)—18(154 + *?) — ...
(4m — l)(4m — 9) л:4
... — 2 (4m — 3)[2(4m — 5) (4m— 1)+.x2) -—.-•• f98l
12.. e* = (u + x)l(u — x), [47]
гден-2+j +-щ"+ ... + 2(2m+i) + -•••
13. e*=#0<*. = #0-J±J-, [84]
где « = 2 + 4 * *
6 + 10 + ... + 2(2m+l) -f ....
ИТЕРАТИВНЫЕ ПРОЦЕССЫ
1. Модифицированный метод Бригга для вычисления 2х,
х €(0,1). Начальное значение Хо = х. Если xt < logs (1 + 2-(,+1)),
то xi+\ — л:,; щ+х = 0 [112]. Если я,- > log2 (1 + 2~('+1)), то xi+l =.
= xt — log2 (1 + 2"'); C.+1 = 1. Тогда
2х - П (1 + 2-/)а,:-
2. Вычисление функции ех на машинах с двоичной системой
счисления. При начальных значениях у0 = 1; х0 = х
Xk+i=xk-ln(l + 2-m); yk+1=yk + 2~myk. [136]
Для интервала [0, In 2] берем т=1 +р, гдер- число левых
нулей в xk. При этом lim yk = ех. Процесс можно завершить
xk-*l
по формуле
т—1 о т
^ = №+.2^.|в(И)К^- [78]
3. zm^=±zsm--fzm + -^ + t, (4.8) [72]
где zm s= be*/2'" + £; fc и ^ — произвольные постоянные; ах = (г0 —
-t)lb.
Абсолютная погрешность этой рекуррентной формулы является
инвариантной, с точностью до величины А2т, относительно
параметров Ь H.t. В качестве начального приближения zm„ берется несколько
членов разложения функции zm в ряд Тейлора — Маклорена.
При Ь =* 1, * = — 1 [12, 72]zm_1 = zm (zm +2); zm = a*Vm - 1;
ax = Zq -|- 1. Оценка абсолютной погрешности рекуррентной
133
формулы
Дт_, < 2a*vmbm,
откуда Д0<2тй*<1-1/2т+1>Дт.
Взяв в качестве начального приближения zm„ = x In a/2m,
получим для *£ [0, 1] | А01 < a (In a)2/2m+\.
п xlna (, , л: In а \ . А . _ а (1п а)2
ПРИ ^я. - -уГ- (* + -^+г) 1А» К ^«H-i
/ xlna /J_ xlna \\
^ I- 2ш [ 2 ■+■ з . 2m+l J)
23/П+4
Исходя из полученных оценок, можно выбрать величину т для
достижения необходимой точности. Следует отметить, что в процессе
счета по рекуррентной формуле (4.8) происходит накопление
погрешности. Для ослабления влияния этого процесса необходимо
производить вычисления с дополнительными разрядами данных.
В работах [10, 87] формула (4.8) используется с нормирующим
множителем. Процесс имеет вид:
**= 10^-1(1+0,);
yt-i = to + f/?/2'+1, i = n,n — l, ..... 1;
y„ = {x\ga}\nlO,
где и >• 3,3m + 0,058; m — число десятичных разрядов.
4. Рекуррентная запись степенного разложения функции у =
- ах [80]:
л: In a .
Uk+1 = Uk —£— .
Уь+i = Jk + "ft+ь & = 1, 2, ... ;
#i = "i = I-
Для | x | < oo, с > 0 lim yk — ax. При & = 0, m абсолютная
погрешность ограничения Дт < | ит \ для 0 < | х | In a < т/2.
Для функции у = ех [80]
Uft-f-i = «*.#/&, & = 1, 2 ... ;
#ft+i = У* + uk+i; y1 = u1 = l.
Для | л: | < oo lim yfe == e*. При & = I, m абсолютная по-
грешность ограничения A(m) < | um | для 0 < x < m/2.
5. Рекуррентная запись разложения в ряд невязок функции
134
y = ax [801:
uk+i = u^Jk;
- yk+i =yk+ «ft+i. £ = 1,2, ,..;
0i = "i = 0O; zo = (* — !о& #0) In c,
где #0 — начальное приближение функции у = ах.
Для 1 z0 \ < оо, а > 0 lim yk = a . При k = 0, т абсолютная
погрешность ограничения Л(т) < ( ит \ для 0 < 1 г01 <. т!2.
Для функции у = # [80]
Ufe-(.I —UkZ0lk\
Ук+j = Уь + Hft+it /s = 1, 2, ,.. ;
Й = «1 = 0о; г0 = ж — In #0,
где #0 — начальное приближение функции у = ех-
Для | г0 1 < оо, а > 0 lim yk = е\
fe-*-oo
При k = 0, т абсолютная погрешность ограничения А(т> <;
< | ит 1 для 0 < | z01< т/2.
6. Для функции у = с? [78, 82]
m ^
fc=0
zi = (x—\ogayi)\na, 1 = 0,1,2,...; m = l\/2\/,..,
где у0 — начальное приближение функции у = а* в заданном
интервале. При этом lim yt = a*.
Z£-»-0
Относительная погрешность итерационной формулы
Для функции у = ех [78, 82]
0
'«'+1 = & i й '-
ft=0
zt = л: — In у,., t = 0, 1, 2, .. . , лг = 1 у 2 V • • •.
где #0 — начальное приближение функции у = е* в заданном
интервале. При этом Игл ^ = ех.
Относительная погрешность итерационной формулы
gm+l
б'+! ^ (Я+1)1 *
135
3. ЛОГАРИФМИЧЕСКАЯ ФУНКЦИЯ
Функция у = log,, х (а > 0, а ^ 1) называется
логарифмической. Логарифмическая функция — обратная показательной, т. е.
Glog«* = *; log, а* = У-
Функция у — loga х определена и непрерывна для всех х £ (О,
оо). При а > 1 логарифмическая функция монотонно возрастает
от — оо до оо, а при й < 1 — монотонно убывает от оо до — со
для всех х £ (0, оо). Функция у = loga х при а > 1 вьтукла
кверху (у" (х) < 0), а при a < 1 выпукла книзу (у" (х) >■ 0).
Логарифм растет медленнее любой степенной функции ха, т. е.
lim ((log,, х) xa) = 0.
«-►0
Основные соотношения:
log6 a = 1 /loga Ь\ loga л: = — 1о&/„ ж; logc 1=0; loga a = 1;
(loga *)<"> = (- 1)- J2£L . _L_: (Щ *)<«> = (_ I)-1 Jt=!L;
loga (*y) = loga x + loga #; log -j- = loga л: — log^ y;
loga x" = n loga x; loga x = log6 л: loga b = logu je/logj a;
In (x + Vx2 + 1) = Arsh x; In (x + Vx2— I) = Arch x;
iln(j±^) = Arthx.
ПРЕОБРАЗОВАНИЕ ИНТЕРВАЛА
При нахождении logax интервал можно преобразовать к [1, а]
либо к —, I [47]. Поскольку для х>0 a"<x<a"+1, где
п = [logaх], то х = а"#; 1 < # <. с; logax = п + loga#, либо х =
= й"+^; -L < у< I, loga х = п + I + \ogay.
В частности, используя функциональные соотношения
loga x= loga N logN x\ log (anx) = п + logax,
где Л/ — основание системы счисления, и принимая х = qNp\
UN ^ q < 1, где р — целое, получаем [105]
logw х = р + logw 9 либо In л: = р In Л/ -f In q.
Если разбить весь интервал изменения q на 2т интервала [N~i/2 ,
^'"'^J, то [105]
logw х = р + -i^i- + logw d, (4.9)
rRed = N^'2m-N-l'2m^d<l.
136
Для разбивки на подынтервалы можно также использовать
преобразование [113] lg q = In [itq — In p.,..
Сделав в формуле (4.9) подстановку [105] и = q V~N, где
и £ [ 1/VN, Т/ЛП, получим
logAr х = р i- + logAr и;
In* = (р — 1/2) InN + In u.
Возможно также преобразование интервала с помощью
выражения In х = — in a + In xa.
СТЕПЕННЫЕ РАЗЛОЖЕНИЯ
1
bln*=2 2ijtr(-7ffp\ х^О. [23]
2. In * = 2 (~ 1)A+1 {X~klf ' * € №• 2>- l47l
oo
3, 1п* = 21(-^-), *>4-. [23]
fe=i
2Й
4. In x = y0 - In (I + z0) = y0 - 2 (- l)fc+1 -f • [78,82]
zo = ——i; — i<z0<i,
где y0 — приближенное значение функции у = In x. Абсолютная
погрешность ограничения за счет удержания т членов ряда
Дм»(—ly-'AZVm,
где А0 — абсолютная погрешность приближения у0.
5. ln* = #0 + ln(l — z0)=y0 — 2-f "• [78,82]
6. ых = г/о + 1п-|Й"= Уо + 22ifcrr; l78»82l
Zb_7+^': |Z0l"-1; A ~ 22(m-l)(2m_1)"
7. ln(l+x) = 2(-l)*fl4-' -К^^Ь [23]
137
А=1
[23]
со
9, lnj±£ = 2Arth* = 2 2-2F~T*2*-1' l*l<L l23]
k=i
[23]
10. in^±|==2Arcthx = 2j-^-1L7_, ,,,>L
CO
"■ta-rb-e2-i-' '*i>L [23]
£5 fa'
12. In|sin*^= In|л:|
n (2«)!
13- In cos л:
X2 л:4 д*
6 180 2835
|*|€(0,я). [15]
x* xe
2 12 45
22"-' pj» - 1) BnJCg"
14. ln|tg*| = ln|*| + 4-x2 + -^-x*+ --.
-+-^^^"+- m
Численные значения коэффициентов наилучших многочленных
приближений [105]: для функции 1п х = Р (х) при х £ [1/2, 1 ], — lg Д = 5,06
а0 —0,263 422 7767- 10+1;
О! 0,705 872 4224-10+1;
аг —0,984 520 5988- 10+1;
л, 0,904 544 3155 • 10+1;
с4 — 0,462 013 0503 • 10+1;
с6 0,995 405 57.
Для функции log2 (*) = Р (*) ПРИ х £ [1/2, 1], — Ig A =■ 5,73
а0 — 0,404 006 533 94 . 10+1;
Ci 0,122 261390 648- 10+2;
а2 — 0,213 686 992 853 - 10.+2;
а, 0,262 935 929 532 • 10+2;
с4 — 0,202 720 803 817 - 10+2 j
аъ 0,880 550 508 64-I0+1;
а„ —0,164 439 394 34- 10+1.
138
МНОГОЧЛЕННЫЕ РАЗЛОЖЕНИЯ
P = f|^7'^[l, 2]; #»_,< (2w+/;)(i-p2) ' [47]
P=||^-. ^[1/2, 1]; *„-,< (2b+4C-p-) ' [47]
CO
3. lg^ + ^)-lg^--21g(l-y)-2g <-у^ Г»(*±1);
9 = 2a+l-2(a2 + a)v% x£[0, 1]; /?„ = (n+4 j^ g, ■ [117]
РАЦИОНАЛЬНЫЕ ПРИБЛИЖЕНИЯ
Численные значения коэффициентов наилучших рациональных
приближений [105]: для функции 1п х = Р (x)/Q (х) при х £ [1/2, 1], — lg Д = 5,76
рй — 0,168 059 6308 • 10+1;
Pj —0,987 7464896;
р2 0,266 833 5341 • 10+1;
% 0,499 938 8118;
qx 0,284 952 8934-10+1;
9. 0,1 • 10+1.
Для функции In х = Рг (г2) при г = ——j- • х £ I —— • у2 ' ~IgA"3"
= 5,41
а0 0,199 988 804 • 10+1; ^ 0,681 7342.
Для функции In х = Pt (z) при г = —-—- > х £\ ——- , у% . — lg А =
=» 12,13
Ор 0,200 000 000 004 6727 - Ю+1;
at 0,666 666 635 059 382;
a2 0,400 005 979 4795;
a3 0,285 253 814 98;
a4 0,237 624 5609.
139
Для функции log, (х)
Р(х)
при
Q(X)
р0 — 0,242 458 7572 ■ 10+1
Pl —0,142 5017214 ■ Ю+1
р2 0,384 959 4028 - 10+1
q0 0,499 938 7184;
q1 0,284 952 8665 ■ 10+1 ;
q, 0,1 • 10+1 .
*Ч~Г ' 11' ~"IgA "5,в
Для функции lg (х) = Р (x)/Q {х) при х£ — . 1 . —IgA = 6,26
р0 —0,683 690 461 • 10-1;
Pl —0,960 448 3743;
р2 —0,133 244 282;
р3 0,116 203 3588- 10+1;
q0 0,316 225 152 • Ю-1;
q1 0,100 258 1787- 10+1;
q2 0,317 044 8795- 10+1;
% 0,1 • 10+1.
РАЗЛОЖЕНИЕ В ЦЕПНЫЕ ДРОБИ
ххх тх
U Щ1+х) = -Т+^- + -Т+ ... +-
тх
+ 2т+1 +
[96]
Дробь сходится на плоскости комплексного переменного х,
разрезанной по действительной оси от# = — оо до л: = — 1. Здесь
и далее т = 1, 2, ...
2. In (1 + х) = 2 + х _ з (2 + х) — 5 (2 + х) — - • •
(2т + 1) (2 + х) —
[96]
4х3
3. 1п(1 + *) = *--^ + т^
27х2
Зх)
5(12+7х) — •*•
(m2 _ J)3 Х2
• — (2т + 1) (2m (m + 1) + (т2 + /л + 1) х) —
4. Ы(1+х)=х- Зх' Юх*
126х2
6 + 4х — 30 + 1бх — 70 + 36х
т (т— 1) (2т — 3) (2т + 1) *2
— 2 (4/л2 — 1) + 4/я2х —
[98]
[98]
140
«о
Б. ln* = #0-1n(l+z0)-*/0 *f- + -£- + ^L.+ _
••• +^Г+ 2/Л+1 * Z°~ х Ь l84J
Здесь и далее t/0 — приближенное значение функции у = In я.
6. \пх = у0: 2+17— 3(2+г0) — ..- — (2т+1)(2 + г0) + ...;
2о - -V - 1. [84]
7. lnx = y0 + ln(l-z0) = y0- 4-
1 — 2 — 3 —
ft * *
.; zo = l--Fr- [84]
... 2 — 2m+1 — ...' - ei
2z0 4
8. In л: = y0 + In (1 — z0) == «/o —
2 —z0 _ 3(2 —z0) _
4*0 т2г0 , *
— 5 (2 — z0) — ... — (2m + 1) (2 — z0) — ...
[84]
О 1 1 + * _ 2x jf_ Ax* 9л3 пЧ2
У' In 1 _ x ~ 1 — 3 — 5 — 7 — ... — 2n + 1 '
|*| <1. [Ю5]
ИТЕРАТИВНЫЕ ПРОЦЕССЫ
Рекуррентная запись степенных разложений функции у = In х
[801:
г2 (2k — 1) ж — 1
1. Uft+i = ий —gfe+1 ; г — ж+1 ; УкмУк — "ft+i. ft =
■= it a, ...
При й = и1 = гих<0 lim (2#fc) = In x.
fc-юо
Абсолютная погрешность ограничения для ft = 1, m Д(т> <
< 1/4 «m+i.
zft
2. ufc+i = — uk-k x ; z = x—1; yk+\ = yk + uk+u ft =■ 1,2,...
При «/! = их = г и л; £ (0, 2) lim t/ft = In х. Для ft = 1, т
Д(т) = О (ит+1).
о Zfe X — 1 . .
3. uft+i — ик k х ; г = -r—j— » Ук+i = #fe + «fc+i.
141
При дг^их*=г и jc>I/aHmyife *=-1пл. Для k = 1, m Л(т) =t
= О (um+i).
4. ufc+1 = — uk-j^-j- ; z0 = — 1; yk+\ = yk + «t+i.
fc*= 1, 2, ...
При % = — z0, yx = «/o — Zo и — 1< z0 < 1 lim#4 = In x.
Для k = 1, m Д(т) = 0 («m+i).
5. ttfc+i = uk k^_l ; z0 = 1 — ; yk+l = gk — Uft+i,
/v ' 1. j J-ij * * * rf
При их = + z0, y0 = уг — z0 и — 1 < z0 < 1 lim ^ = In x.
Для £ = 1, m Д(т) = 0 (um+i).
zl(2k— 1) x—eBo
При иг = й = г0 и | г01 < 1 у0 + 2 lim t/A = In х. Для k =«
= ТТ^Г Д(т) = О (um+I).
Для функции у = log2 х при 1 < х < 2 значение у ищется в
двоичной системе:
( О
# = 0, ага2 - •• - ап ... , at = | }
(/= 1, 2, ...)•
Процесс последовательного определения at сводится к
следующему: если л? < 2, то аг = 0; Xi+i = х\\ если х? > 2, то а, = 1;
д%+1 — 2_ Xi, / = 1,2, ..., л^ = л;. После п шагов log2 х « 0, аха2...
Для функции */ = !og2 х при — < х < 1 {45]
( х„ если хг > 2-2_(г+1);
Ь *+. = J 2^+1,^ если Х(< 2_2-(Ж).
| Ь„ если х, > 2-2_(£+1);
6г+1 " ( bl + 2-{l+l\ если Xl < 2-2-('"+,), * = 0, 1, ...;
х0 = х; Ъ0 = 0; log2 х = — bt + log2 xt;
— 2~l < log2 хг < 0, т. е. !og2 x « — Ьг.
\ xl, если x^1/*
I 2xi, если xf < V2;
142
j bc, если xt+i > %;
если Xi+i < Va» ? = 0, 1, ...;
x0 = x; fc0 = 0; ''m bt = Iog2 x.
l-*-oo
Функцию 2 = «/ + In x можно преобразовать к виду [136]
xft+, = xkak, yk+\ = yk—\n ak.
Взяв ak+\ = 1 + 2~m, получим
xk+i = xk + 2~mxk;
yk+l = yk — In (1 + 2-m), * = 0, 1, ...
Для 1/2 < x < 1 берем m — I -\- p, где р ■— число левых
нулей в выражении (1 — xk).
При у0 = 0, х0 = л;, lim xfe = 1 получаем lim gk = In je.
Завершить процесс можно по одной из следующих формул [78]:
а) Ук+2 = Ук+i — 2 —Т~ :
п=1
Zfe-H =1 — -fft+b
m
д(т) ^ _ 2fe+l .
т '
ш—1 п
б)^+2 = №+1- >..(-l)"+1-±tL; zk=-± 1;
гс=1 " *ft+l
д(m) , , / i \m—1 *fe+l .
Возможно также преобразование [120]
l + -f- =S 9/ln(l +10-').
* / /=o
Для каждого /
Zi\\ = Zl —■ Xi , Xi+l = Xi -f- 1U Xt , Zq = J/, Ло == Л.
Величина q/ определяется из условия zq. >• 0 > 4'1ц- Когда
qf найдено, начальные условия для вычисления <#+! будут такими:
,,(/+1) = Юйт • v#+1) — vw
Xa: -
1
Учитывая, что у — In х = 2 Arth z, где z = f и приняв
JCi1J =ч 1; yj1' =ч г; фР = 0, можно записать следующие рекуррентные
143
соотношения для вычисления Arth z:
<P$-i = ф!л + sgn yjpfr,
где / = 1, 2, ..., k — 1, s, s — константа, зависящая от системы
счисления; N — основание системы счисления; Р/ == Arth N~';
у™ « Arth г.
Рассмотрим итеративный процесс для разложения в цепную
дробь функции у = \ogjc [47]. Для а ;> х > 1
*=а пх + пг + щ +
где щ — целые положительные числа, определяемые из
соотношений
Ь"1< Ь,_,< bti+1 ; Ьж = -%- , i = 1, 2, ...;
60 = а\. Ъг — х.
Для функции у = In х [78, 82]
m _ft у.
1- gi+i = Л - 2 (- l)*1 -f ; z,=-^--l; |г,|<1,
fe=i R *
i = 0, 1,2, .... m = 1 V 2 V • • *; lim У{ — lnx.
дт+1
Абсолютная погрешность итерационной формулы | Дг+i | -
m „ft
2. 1/^ = ^—2-^-; z, = l—^; |z,|<l,/ = 0, 1,2,
дт+1
ft=i * ' f J"
m = 1 V 2 \/ • •.; lim t/£ = lnx; | A*+i |
fe=i x -f- e '
= 0, 1, 2, ....; /n = l \/2 V •--;
д2т+1
■lim^.^lnx; tAt-+1|^ 22(m+1);2№+1)
144
4. ТРИГОНОМЕТРИЧЕСКИЕ ФУНКЦИИ
Тригонометрические функции могут быть определены как решения
дифференциальных уравнений, при помощи степенных рядов, как
решения функциональных уравнений и с помощью геометрических
терминов.
Тригонометрические функции являются периодическими.
Функции у = sin х и у = cos х определены на множестве всех
действительных чисел, т. е. х £ (оо, — оо). При этом у £ [— 1, 1], т. е.
область значений этих функций ограничена величинами 1, —1.
Функция у = sin х является нечетной, а функция у = cos x —
четной, т. е. sin (— х) = ■— sin x; cos (— х) = cos x. Функции
у = sin х, у = cos х имеют период 2я, т. е. sin (x + 2kn) = sin x;
cos (x + 2kn) = cos x, k = 0; ± 1; ±2; ... Отметим, что sin fert = 0,
cos (ft -f -jj-J n — 0 для всех целых k.
Если функции и (х) — sin x, v (x) — cos x положительны на
сегменте 0, -^- и и \-~-J = 1,о 1-^-] = 0, они являются
единственным и непрерывным решением уравнения и (х + у) — и (х) v (у) +
+ u(y)v (х).
Функции sin х и cos х дифференцируемы неограниченное
количество раз. Производные высших порядков от функций sin x и
cos х можно определить, пользуясь следующими равенствами:
sin* ' х = sin \х -\ —! . cos™ х = cos lx -\ й"-)'
Функция у = tg х определена на множестве всех действительных
чисел, за исключением точек х = -— -f kn, k = 0; ±1, ±2; ...,
где она обращается в ± с».
Функция у — ctg х определена на множестве всех
действительных чисел, за исключением точек х = kn, k = 0; ±1; ±2, ..., где
она обращается в ± <х>. Функции у = tg х и у — ctg x — нечетные,
т. е. tg (— х) = — tg x\ ctg (— х) — — ctg х, и имеют период п,
т. е. tg (х 4- kn) = tgx; ctg (x -\-kn) = ctg x для k = 0; ±1; ±2; ...
Если функция и (х) = tg х положительна для х £ 0, -—- и
«I—?-) = 1. то и (х) является единственным непрерывным
решением уравнения
и ■-= (х 4- и) = "М+Ы(у) -
и — (х -г у) — 1_и(1с)и{у)
Производные первого порядка функций tg x и ctg x ■•.
ются из следующих равенств:
(tg х)' = 1/cos2 x; (ctg х)' = — 1/sin2 x.
IQ: 6-493
145
Основные соотношения:
• о » , , sin х , cos х
sin2x + cos2 x = 1; tg x = ——- ; ctg x =
sin ж
1
sec x = ; cosec x
cos x sin x
Теоремы сложения и некоторые формулы, вытекающие из них:
sin (х ± у) = sin х cos у ± cos x sin у;
cos (х ± у) = cos х cos у + sin x sin t/;
6 ч w/ 1 T tgx tg{/ *>*—»/ ctg # ± ctg x
2 sinx sin t/ = cos (x —y) — cos (x + y);
2 cos x cos у = cos (x — y) + cos (x + y);
2 sin x cos # = sin (x — y) + sin (x + t/);
n - x ± у x ^ у
sin x ± sin у = 2 sin —=-2- cos —j-2- ;
v 2 2
COS'X + COS у = 2 COS |r-^- COS ■
2 2
COS X — COS у = — 2 Sin ■ jr-?— Sin 2"^- I
i- i t sjn (x ± y)
tg x ± tg у = ■ ^ y/ ;
e e J cos я cos #
, , , sin (x + u)
ctg x + ctg у = —. T ^ - ;
° & J sin x sin//
di- sin (x — y)
g x — ctg и = ^—r-^1- •
a ° J sin ж sm у
Формулы умножения:
sin 2x = 2 sin x cos x; sin 3x = 3 sin x — 4 sin8 x;
sinnx= 2 (- 1)* C2A+1 sin2ft+1 x • cos"""-1* -
fc=0
= sin х£/„_! (cosx) = H{n (cos x, sin x);
sin (2« + 1) x = (— 1)" rSn+i (sin x); cos (2n + 1) x = (— l)n+1 x
X cos xU2n (sin x);
И
cos nx = S (— 1)* C2fc sin2* x cos"_2ft x = T„ (cos x) =
= flj? (cos x, sin x);
146
tg/w = ft=°
[V]
V (_l)ftC2fc+1 tg2*+'x ,,.
2 (-l)kCftu2kx
k=0
[t]
cwx = _^ - ft" (ctg*'1}
[.!Lpl| Я™ (ctg x, I)
2 (- 1)* cfH ctg""2*-1 x
Здесь Я^0) (х, t/), H^ (x, у) — гармонические многочлены;
Un (x) — многочлены Чебышева второго рода.
Формулы деления:
sm
+ cos л;
2
■„ х , I / 1 — cos х х . -ш Г 1
л jc_ -I /" 1 — cos х sin л: __ I — cos x
° 2 — г 1 -|- cos x 1+ cosx ~~ sin x '
* х , i/" 1 + cos x sin x 1 + cos x
ь 2 — r I — cos x I — cos x sm x
Выражение одной функции через другую:
2t^ '-У-Г . 2*«тг
sin x = : cos x = ; tg x =
l + tg'-f- , + tg2-F l~W-T
ix = ±1/1— cos2x = Ji* = r l ;
±^l+tg*JC i/l+Ctg»*
cos x = ± ]/l — sin2 x = —- ctg*
tgx =
± К 1 + tg2 x ± К 1 + ctg2 x
sin x ± V1 — cos2 x I
I I — sin2 x
, ± ]Л — sin2x
ctg X = -J=-J-—=
sin x f | 1- cos2 x tg *
Знак «+» или «—» перед знаком радикала зависит от того, в
какой четверти находится угол.
10* 147
ПРЕОБРАЗОВАНИЕ ИНТЕРВАЛА
п
Т
1. Производя замену х =-^- и для х£[—я/2, я/2],
переходим к интервалу [ — 1, 1].
Для приведения sin — и к интервалу [^-1, 1] при произвольном
действительном и можно использовать равенство [45]
z = Ц-L (и _ 1) j 14 — 21 — 1, и = 2х/я.
В этом случае sin х — sin —^- z = sin —^- и. Для вычисления
cos х = sin -^- z при | z | < 1 полагаем и = 1 — 2х/я либо г =
-|{4-«}|4-'2|-1.
2. В работе [48] приведен другой метод преобразования к
интервалу [— л/2, л/2]:
sin х = (— l)w sin z,
где z = x — Nnr, N= [x/n]\ [ ] — ближайшее целое; | z | < л/2.
Для вычисления sin x = sin -5- z на ЭВМ с фиксированной
запятой [71]
2 = 4(и—rl-T-h-f)' izi<1;
для вычисления cos х = sin —^- z
3. Приведение tg х к интервалу (— л/4, л/4) [45]
«-{-г—rb °-1«1-т;
-м-5-|{^—S-}|-4-|-T-w<-J-=
[ tg яг, если «г» >■ 0;
1 l/(tg nz), если uv<.0.
4. Приведение tg х к интервалу (— л/2, я/2) [45J:
2 = л{^- + 4}—Г"; 4е* = ^г-
Для изменения интервала можно использовать следующие
функциональные соотношения:
5. sin , - 4 (_ 1)* cm sin-" -^ (l - sin* ^Г -
148
X
sin -^
Для п = 1 sin x = (3 — 4 sin2 -|-j
fil
L 2 J / ift
6. cosx = 21 (— 1)* Cf cos"-2ft — 1 —cos2 — I ; cos x =
ft=o n \ n I
= 2cos2 J-—1.
7. cos x = 1 — 2 sin2 -|-»
8. cosx = -i- (2 (bcos -y +t) — 4t (bcos -|- + t) + 2*2 —
— f)+t, [721
где b, t — произвольные параметры; b Ф 0.
y, (- if cf+l tg2^1 JL
9. tgx = fe=° -, —; [23]
m
2 (- i)ft c*fe tg2* jl
2tgf
tgje = [105]
10. tg x = —- • [105]
*H—)
,»•**- .-•J.yt.~t. ■ !I051
СТЕПЕННЫЕ РАЗЛОЖЕНИЯ
^^С1-1^- [471
00 2ft
2. cos*= 2 (-l)fc-7^T-- [47]
fc=0
(2ft)
3. sinx = &0(l + |(-l)ft1|r)->/l-^|o(-l)fcX
X —5 , [78]
* (2ft + 1)1 l J
149
. где у0 — приближенное значение функции у — sin x на заданном
интервале; г0 = arcsin у0 ~ х.
При | у0 | <^ 1 z0 «=! Д0/|/ 1 yl, где Д0 — абсолютная погрешность
приближения у0.
4. cos х = */0 ^1 + ^ (- l)fe -щу-j +Vl-Vo Xo (- l)fc X
х -psW' [78]
где у0 — приближенное значение функции у— cos х на заданном
интервале; z0 = arccos y0 — х. При | у0 | < 1 z0 да —A0/Kl — f/i
оо
5. sin nx = 2 -^г Iх V - W • [471
rffr—' (1 _ Х)~к зх cos ЯЛ;
где Ak
d>f--
о2* /02*
-1 •
Jx=0
6- tg^-g адГ" \B*\x2k-\ |*|<-=- . [23]
где £2/г — числа Бернулли;
tgx = *+-J-^+-B-*,+ -S-*' + ^rx4- ••• [15]
оо
7. ctgx=4~2 wrl^l*2*-'. 0<|*|<я; [23]
S + 45 + 945 + 4725 + ' "J *
0<|л;|<я. [15]
ctg x = —
8. sec x = 2 -T^r *2*' I*l < "T" ' t23l
где £г* ■— числа Эйлера;
оо
9. cosec х = 4 + 2 ^^Г^ I в*1 **"' , |*|<я; [23]
cosec= i_ + ^x+_7_x. + _^_^+ ... ц5]
150
БЕСКОНЕЧНЫЕ ПРОИЗВЕДЕНИЯ
оо оо
sinx=*n(l ьЁл-); sin* = хП cos — , Ы<1; [231
оо
МНОГОЧЛЕННЫЕ ПРИБЛИЖЕНИЯ
1. sin ex = 2 i (— If J2k+\ (a) T2k+1 (x), \x\ < 1. [43, 45, 49]
\ fc=o
(М2т+,(1+_0
Для a = — \Rm (x)|< (2m + щ
оо
2. cos ax = 70(a) + 22 (— 1)* /»(о)Та(х), |*|< 1.
[43, 45, 49]
Для a--f |/U*)|< ^роД»)]. '
3. sin hi = Xi a2k-ixu~l , (4.10) [27]
где /г > 0; n — целое, нечетное; х £ Г— 1, II;
_ (- 1)*+Чп (я + 2) ^ 1 (я+1-Д ofi-M-2/.
"~2Л— (и — 2ft)! ^ h2k+2-2i ' jl *
ь = о 1 J^lL •
T _ / П~1~ V« " + 2 (li+l-fli pn+l-2/l .
Абсолютная погрешность
x
Д = т„ [7\,+2 (*) — h \ s'mh (х — 0 Тп+ъ (0 Л].
Обозначим многочлен (4.10) через Р° (/г%). Для ускорения
сходимости многочлена Р„ (hx) необходимо выполнить преобразование
. р;(^) = _^_, хе[_1, ц; T;=_IiaL_, (4.П)
151
Тогда 1 sin hx — P*n{hx) lc[-i,i] =1 + 0 \-^-\IEn(sinhx), где Еп х
X (sin /гх) — величина наилучшего равномерного приближения на
сегменте [—1, 1] многочленами степени п.
п/2
4. cos hx = 2 V2kX2k , (4.12) [27]
fc=0
где h z> 0; n — целое, четное, л: £ [—1, 1]; an-2fe =■
e T (~ l)fc+1 (« + 2) ^ Jn +J_ —Л j_ 9п+1-2/ .
\—1
(n-2A)! £j ^*+2-2/;1
-n=((-i)"r+1(« + 2) 2 (;+1д>' 2-^}"
Абсолютная погрешность A = т„ [7Vf2 (x) — h\ sin h (x — t) x
о
X T„4_2 (0 di]. Обозначим многочлен (4.12) через P"(/uc). Для
ускорения сходимости многочлена Р" (hx) необходимо выполнить
преобразования (4.11) с той разницей, что
Тп " (« + 2)s L (« + 2)2 J
Тогда |] cos hx — /^ (их) Цс[-м] = U + о (-^-] £„ (cos hx), где
£■„ (cos hx) — величина наилучшего равномерного приближения
на сегменте [—1, 13 полиномами степени п.
Численные значения коэффициентов наилучших многочленных приближе-
in -J- х — хР (Xs) при х £
а0 0,785 398163 393 874;
ний [105]: для функции sin -j— x — хР (х2) при х £ [0,1], —lg б = 11,34
% — 0,807 455 120 127 93 - Ю-1;
с2 0,249 039 318 2533 • Ю-2;
с3 — 0,365 723 485 49 • Ю-4;
й4 0,308 974 697 • 10
,-6
Для функции sin х — хР (х2) при х £ [0, 1], — lg 6 = 6,03
а„ 0,157 079 4851 • 10+1;
йх — 0,645 920 9764;
й2 0,794 876 547 ■ Ю-1;
щ —0,436,2469 ■ Ю-2.
152
л
Для функции sin ■ х — хРь {)?) при х£ [0, 1], — 1g8 = 10,67
а0 0,157 079 632 676 16 ■ I0+1;
ах —0,645 964 095264 46;
а2 0,796 926 012 5988 - Ю-1;
с3 — 0,468 165 101 634 • Ю-2;
й4 0,160 247 028 83. Ю-3;
аъ — 0,342 879 073 - 10~5.
л
Для функции sin —— х = хР (х2) при х £ [О, I], — lg Д = 6,23
а0 0,157 0791011 - 10+';
аг — 0,645 892 8493;
а3 0,794 343 442 ■ Ю-1;
й3 —0,433 3095- Ю-2.
_ л
Для функции sin —— х = хРъ (х2) при х£ J0, 1], — lg Д = 10,88
йо 0,157 079 632 662 187-10+';
аг — 0,645 964 092 652 696;
й2 0,796 925 873 350 23 ■ Ю-1;
с3 —0,468 162 035 0771 - Ю-2;
й4 0,160 217 246 309- Ю-3;
аъ —0,3418213039- 10~5.
_ л
Для функции tg -— х — хР (х2) при х£ [О, I], — lg Д = 5,82
Оо 0,785414 378 29;
сх 0,161 182 681 34;
а2 0,414 719 5581 • Ю-1;
й3 0,654 219 177-Ю-2;
at 0,538 728 189- Ю~2.
Для функции tg —— = хР (х2) при х£ [О, I], — lg Д = 10,4
а0 0,785 398 164 149 479;
% 0,161490 980 527 685;
щ, 0,398 470 617 821 02 ■ Ю-1;
й3 0,994 293 953 9804 - Ю-2;
ал 0,251 091 357 7859 - Ю-2;
аь 0,563 555 253 95 • 10~3;
й6 0,238 539 178 732 ■ 10~3;
а, — 0,287 999 663 05 • 10~4;
Og 0,366 459 165 43 • Ю-4 .
РАЦИОНАЛЬНЫЕ ПРИБЛИЖЕНИЯ
СО
CO
* -т-таи^Л"'^ • i231
. 1 , 2x ^ (— l)fc
4. cosec ял; = 7, ~—^ =
* k=l
x„ - & (2Ш la2ft|2oft
й- tg2„ _ k=l V ''
00"
Ъ. tgx = ,Уо, Т*1 = — . [78J
'+*Z * 22fe)r} l*»^
тде | 20 | <C л/2; г/0 — приближенное значение функции у = tg% на
заданном интервале; г0 = arctg у0 — х. '
Для оценки погрешности при значениях у0, достаточно близких
ж функции у = tg х, получим 20 £» Д0/(1 + г/2 + г/А0), где Д0 —
-абсолютная погрешность приближения у0.
6. ctg*- ^г°+1 - l ° й } '
ctg г., — у0 _^_ o2fc
г0 ^ (2*)!
[781
где | г0 I < я; z/0 — приближенное значение функции у = ctg x
«а заданном интервале; г0 = arcctg у0 — х.
7. 2tg -f = , * , ,<-f . [47]
, _ У I B2fc I ^
2/г1
Численные значения коэффициентов наилучших рациональных
приблизь Р (х2)
жений £ 105]: для функции sin х = х — при х £ [0, 1], —lg 6 =
4 (^ [X")
= 11,36
р0 0,449 122 605 026 504 393 - I0+4;
Рг — 0,370 315 478 482 277 14 • 10+3;
р.2 0,562 771 7 8 480 016 • I0+1;
q0 0,571 840 661 156 734 823 ■ I0+4;
ft 0,116 399 802 741 020 51 • 10+3;
ft 0,1 ■ I0+1.
я Р(х2)
Для функции sin —— х = х——— при х£ [0, 1], — lg6 = 6,17
* Q (х")
р0 0,254 027 9288-10+2;
рг — 0,887 619 4799- Ю+1;
ра 0,645 322 824;
д0 0,161719 09166- 10+2;
ft 0,1 • I0+1.
При — ]g 6 = 10,94
р0 0,153 629 395 927 556 809 • 10+4;
pt — 0,552 425 811 777 397 64 • 10+3;
p3 0,468 816 906 659 519 5 • IC+2;
p3 —0,119910480775 343- 10+1;
q0 0,978 035 110 654 897 58 • I0+3;
ft 0,505 156 227 132 561 9 '■ 10+2;
qa 0,1 • 10+1.
При — lg Д = 11,25
рй 0,685 251 570 748 3011 • 10+2;
p, —0,266 090 450 891 5047 • I0+2;
p2 0,283 C58 520 301 831 - 10+';
p3 —0,124 548 924 025 29;
p4 0,232 163 197 3622 - 10-2;
qn 0,436 244 698 963 9565 • 10+2;
ft 0,1 ■- 10+'.
n xP (x2)
Для функции tg —— x = при х £ [0, 1], — lg Д = 5,59
pti — 0,316 783 0327 • 10+1;
155
рг 0,134 516 1237;
q0 —0,403 332 1984 ■ 10+1;
q1 0,1 • 10+1.
л P (x2)
Для функции tg-^— x = x——— при x£[0, 1], — IgA = 11,01
4 Q (x2)
p0 0,129 133 604 052 918 903 • I0+3;
рг —0,887 275 933 025 7108- 10+1;
p% 0,529 203 435 468 086 ■ Ю-1;
q0 0,164 418 Oil 213 073 892 - 10+3;
qt — 0,451 042 461 456 901 29 • 10+2;
q2 0,1 • 10+1.
РАЗЛОЖЕНИЕ В ЦЕПНЫЕ ДРОБИ
х2 xs
1. tg* = ^-_^3-_-^- З^гу-. m=\, 2, ... [96]
л i I 1Oa X У л
gX = X"t 15 —7 x2 -f-~T"+ 315 —28x2 -f ...
/d™ _I_ H v-2 /и», _^l «2
[96]
. -^ (4m — 3)(4m— l)(4m+ I)— 4 (4m— I) x2 4. I 4-
„ , _ , 5л:3 9s*
d. tgX —*4" i5_^6x2 __ 315 —14x2 _ ...
(4m + I) (4m — 7)x*
[98]
[98]
.. . _ (4m — 3) (4m — 1) (4m + 1) — 2 (4m — I) x2 '
4 t — 3* 7 33a.-4
4. tgX — 3_^2 _ 105_,0x2 _ 693_18x2 _ ...
(4m — 9) (4m— 1) x* .
... _ (4m — 5) (4m — 3) (4m — 1) — 2 (4m — 3) x2 '
■»»-"«*-+_4-_4- w-...= -1"
2, ... ; 20 = arctg«/0 —%.
я3 З*2 Ш2 25x2 121x2
Sin X = x -
6 -f 10" _ 42 + 66 — 150 -f
18 361x2
4- 34 606 ...
7. smx = — ** 7*2 u*2 551*2 847*2
[96,98]
1 4- 1Г _ "TO"" 4- ~98~ _ "198~~ 4- 1102 —
479 249x2
— 34 606 4- ... [96,98]
156
2x
8. sin x = ——p „——, [98]
\ я — x n-\- x !
p _ i i * (я — x) (2я — л:) 2я2
где fx — + 2и_х _(_ Зя —х _f- 4я —л: + • • -
(гея—л:)[(и+1)я — х] га (га + 1) я2
... 4" (2га+ 1)я —л: -J- 2 (га+1) it — х J_ ., .'•
О — 1 л: (я + х) (2я + х) 2я2
1 2я 4- х 4~ Зя + х 4г4я-|-л:4г..-
(гая + л:) [(га + I) я + х] п (га -f- 1) я2
-•• + (2я+ 1)я + х 4~ 2(га+ 1)я + х 4- . . •
ИЛИ Р =— * 2л" (я-х)(2я-Др
1 1 — 2я — л:4г3я — х 4~ 4я — х 4- • -•
га(и+1)я2 (гея — л:) [я(га+ 1) —л:]
... 4- (2га + 1)я — х 4- (2ге + 2) я — х + -..'
Л — — х 2я2 (я + х) (2ге + ■«:)
"* — 14г2я + л:4г Зя + х^- 4я 4~ * _(_.-.
га (га + 1) я2 (пя + х) [я (ге + 1) + х\
...-)- (2ге+ 1)я + х 4" (2ге + 2) я + х 4- • • ■
Q _ 1 __£L _?lL _Ё£1 >3х2 59х2 127х2
У. COSX — 2 ^_ -g- _ ,0 _^_ 126 — 26 + 1298
[96,98[
1П — _L _^_ 5х2 Зх2 313х2 295ха
COSX— j ^_—_ 6 + 50 — 126 •-}- 626
14 615х2
1298 + ••*"
П. COSX = 2 [(л 4-2х) Sx 4-(я — 2х) Ti]'
я — 2х (Зя — 2х)2 4я2
[96,98]
[981
„ - Я—'IX [6П — ZX)° ЦП"
где ^ — зя —2х 4- 5я —2х 4- 7я — 2х 4- • • *
[(2п+ 1)я —2х]2 4я2га2 ~ i _,л + 2х
.-•4- (4ге4-1)я — 2х 4-(4п + 3)31- 2х + ***; * Зя 4-2x4-
(Зя 4- 2х)2 4я2 [(2п4- 1)я4-2*]г
4- 5п + 2х 4- 7я4-2х 4~ * • - + (4п4-1) гс4-2х -+■
4п2п2
4- (4ге 4- 3) я 4- 2л: 4- ■••.
157
ИТЕРАТИВНЫЕ ПРОЦЕССЫ
Рекуррентная запись разложения в ряд Тейлора — Маклорена
функции у = sin х [47, 80]:
X2
uk+l = — uk 2k (2k + if ' Ук+1 = Уь ^~ Uk+U k=l,2, ...;
y1=u1 = x.
Для | x J < oo lim yk = sin x. При k = 1, m погрешность
ограничения | Д(т) | < j um+i |.
Рекуррентная запись разложения в ряд Тейлора — Маклорена
функции у = cos х [47, 80]:
X2
Uk+f =—Uk (2fe— \)2k ' №+I = #* + "fc+b
A = 1, 2, ... ; г/i = ux — 1.
Для | x | < oo lim г/А = cos x. При A = 1, m погрешность
ограничения | Д|т) | < j Um+\ \ .
Рекуррентные соотношения для вычисления sin x [72]:
Zm— 1 — ,«_; (.— 1.) Ь2п+1 (1 <W 2m ,
fc=0
где zm = sin x/(2n + l)m. Отсюда 20 = sin x. При я = 1
zm_i = (3 — 42^) zm; zm = sin —r; 20 = sin x.
О
При д: £ [0, л/2] оценка абсолютной погрешности метода | Д01 <С
<С ЗтДт, где Ат — абсолютная погрешность величины гт. Взяв в
качестве начального приближения zma = х/Зт, ' получим для х £
€ [0, л/2] | Д01 < 1/32т.
Для г™° =-#г(!~ 1Г^) lAol<i*ir-
тт л: /, х2 I \ х2 \\ . л ■ 1
длягто- — ^1 ^Tl-gT бГ?"7/) ' "^ з6т+4 *
Рекуррентные соотношения для вычисления cos x [72]:
4/ 2 2 2/2 л:
1- zm_, = -£— 2m + -^ 2т + — — Ь + t; zm = b cos —.+ t,
где Ь, t — произвольно выбранные постоянные. При этом cos x =
.= 20 — t/b.
Абсолютная погрешность приведенной рекуррентной формулы
,при достаточно больших т является инвариантной с точностью
до величины порядка h2m относительно параметров but. Оценка
158
абсолютной погрешности рекуррентного соотношения | Дт_! | <
< 22Ат-
На практике наиболее удобно использовать b — \, t = — L
Тогда [72]
2m__, ■ = 2гт (?.т + 2); zm = cos дт/2т — 1;
COS X = Z0 + 1 • \
Взяв в качестве начального приближения гПо — — хг/22т, полу-
чим для лг£ [0, л/2] | Д0'|< l/22m+1.
ПРигто = --^г(-^—IT^r) 1д"1<14^н--
ГТ — *2 / 1 х2 / 1 л:2 \\ |Л , ^ 1
1фИ 2т,, --^-^-2! ^T^li 61 22m ]] ' ' 26т+6 "
2. zm_, = 4г,„ (1 — zj; z,„ = sin2 — , [72}i
откуда cos x = 1 — 2 Zj. Абсолютная погрешность этой
рекуррентной формулы оценивается неравенством | Дт_1 | <; 22Д~П.
Взяв в качестве начального приближения zmo = x2/22m, для х £
6 [0, л/2] получим |Д0|<1/22т-2. При zma = -jl- (1 - —^j-j
1"оК" 24т-1 •
ПРИ ^ = -j^-(1--jir(4-- 45 ^ )) lA«l<-^r-
Вычисление sin jc и cos je [5, 9, 137]:
*&i = ^+sgn<pi(^r>;
где k =_ 1, s; / = 1, я; s = W — 1; га — количество разрядов в
представлении числа; N —основание системы счисления.; а,- = aretg/V-'.
При начальных условиях х\1) = -=-', у\) = рг- sgn л;; уг — х —
— -J-sgnx; G = V 2 П (К(1 + ЛГ2/) J получаем л;<? я» sin x; у» »
с» COS X.
Для двоичной системы счисления счет можно упростить, полагая
[5] / = ОГп; s = 1; х0 = 1/( П УТТ^Г*)' Уо = 0; срв = х.
Количество констант а,- может уменьшиться почти в два раза при
завершении процесса по формулам [5]
Sin X tss Xk+l + Ук+1Щ+й
cos х« уь+\ — хк+\Щ+\, k = [n/2].
159
Рекуррентное соотношение для вычисления ctg х ПО, 12]:
1
(*<"--У»
2m-l — 2
rae2m-ctg^-; ctgx = 20.
Абсолютная погрешность этой рекуррентной формулы при
достаточно больших, т
Ат_.^4-(д--^-)<1г--
В качестве начального приближения берется несколько членов
разложения функции гт в ряд Тейлора — Маклорена:
2т ^ 22fe .в |/ * \2*-' п^' х
,m
< эх.
Взяв в качестве начального приближения zme = 2т/х, получим
для х £ [0, л/2] | Д0 | < 1/22"1.
Пригто = — ^- |Д0|<-з^з-.
Вычисление г/ = tg jc [72]:
<
9бт+5
«/.+1 =
w-Z Щ\ лв*\*1
г2*^-!).
2i = arctg«// — х, i = О, 1, 2, ,.., n= 1 \/2 V •••*
где г/о — начально^ приближение функции у = tg x на заданном
интервале; lim z/, sss tg jc.
При у0 » г/ 2 я» Д0/(1 + г/2 + #Д0).
5. ОБРАТНЫЕ ТРИГОНОМЕТРИЧЕСКИЕ ФУНКЦИИ
Пусть функции у = f (x) и у = ф (х) являются взаимно
обратными. Тогда одну из них можно назвать прямой, а другую —
обратной по отношению к первой. Для получения из прямой функции
У — f (х) обратной достаточно поменять местами аргумент и
функцию, т. е. записать х — f (у) либо у = f~l (x). Таким образом,
обратные тригонометрические функции могут быть определены на
160
основе прямых функций:
у = Arcsin х, если х — sin у; у = Arccos х, если х = cos у;
у — Arctg х, если х = tg у; у = Arcctg я, если я = ctg #.
Обратные тригонометрические функции многозначны, т. е.
одному значению х можно поставить в соответствие несколько значений у.
Ограничив значения перечисленных обратных
тригонометрических функций, можно получить однозначное соответствие между
прямой и обратной функциями. Главные значения обратных
тригонометрических функций:
у = arcsin х при у £ 1- , -^- ; # = arccos* при у£[0,п];
у = arctg* при #е(— -тг'1г); y = arcctg* ПРИ £/6(0, я).
Связь между главными и любыми другими значениями обратных
тригонометрических функций задается следующими соотношениями:
Arcsin х — пл + (— 1)" arcsin *; Arccos х — 2пп ± arccos x;
Arctg х = пп + arctg *; Arcctg * = wt + arcctg *.
Функция # = arcsin x непрерывна и определена на отрезке
х £ [—1, 1]. Она является нечетной функцией, т. е. arcsin (— х) =
= — arcsin х. На сегменте х £ I—1, 1] функция у = arcsin x
монотонно возрастает от — я/2 до я/2.
Функция у = arccos x непрерывна и определена на сегменте
*£ [—1, 1]. При этом у £ [0, я]. На сегменте [—1, 1] функция
у = arccos х монотонно убывает от я до нуля. Для х £ [—1, 1]
справедливо равенство arccos (— х) = л — arccos x.
Функция у = arctg х непрерывна и определена в интервале
х £ (— оо, оо). При этом у £ (— я/2, я/2). В интервале х £ (— оо,
оо) функция у — arctg x монотонно возрастает. При этом
lim arctg* = я/2; lim arctg * = — я/2.
Функция у = arctg * является нечетной функцией, т. е.
arctg (— *) = — arctg *. Эта функция непрерывна и определена
в интервале х £ (— со, оо). При этом у £ (0, я). В интервале * (— оо,
оо) функция у = arcctg x монотонно убывает. При этом
lim arcctg * = 0; lim arcctg * = я.
Х-У—оо
Для * £ (—оо, со) справедливо равенство arcctg (— х) = я —
arcctg х.
Первые производные от обратных функций:
(arcsin *)' = —■ ; (arccos *)' =
У\ — х2 ' ч Vl — x*'
(arctg x)' = -yq-^г; (arcctg *)' = г~.
И 6-493 161
Основные соотношения:
sin (arcsin x) = х для х £ [— 1, 1];
sin (arccosл:) = cos (arcsin*) = V \ —*2 для *£ [— 1,1];
sin (arctg x) = cos (arcctg x) = для х £ (— со, оо);
cos (arccos х) = х для *£[—1,1];
cos (arcctg x) = sin (arcctg x) = , х £ (— оо ,• оо);
У \-\- х
tg (arctg x) = х для х £ (— оо, оо);
tg (arcsin x) = ctg (arccos *) = для *£(—1, 1);
tg (arccos*) = ctg (arcsin*) = ^' ~*2 для *£(— 1, 0);
ctg (arcctg *)= * для *£(—оо, оо);
arcsin (sin *) = x для *£[—л/2, тс/2];
afccos (cos *) = * для * £ [0, я];
arctg (tg *) = * для * £ (— я/2, я/2);
arcctg (ctg *) —* для *E(0, я);
arcsin * + arccos * = л/2 для * £ [—1, 1 ];
arctg * +arcctg * = я/2 для *£(—оо, оо).
Выражение одной функции через другую:
arcsin х = ■— arcsin (— *) = — arccos * = arctg
2 ° у\ — x*
для х£[—1, 1];
у ТА 1 ^2
arcsin * = arccos У 1 — *2 = arcctg - для x £ (0, 1);
arccos x = л — arccos (— *) =
—-|- —arcsin* = arcctg—^=т для *£[—1, 1];
z у \ —x2
V\-x'
•2
arccos x = arcsin ]/ 1 — Xй — arctg для x £ (0,1);
x
arctg * = — arctg (— *) = -^ arctg * = arcsin -
2 S >T+^
ДЛЯ X£(— oo, oo);
arctg* = arcctg— = arccos—= для *€(0, oo);
* У 1 + xz
arcctg x — л — arcctg (— x) = -= arctg x = arccos
2 & l/f+~^
для x£(—oo, oo);
arcctg*: = arctg— = arcsin —^ для х£(0, oo).
x У 1 + x2
Формулы сложения и вычитания:
arcsin х ± arcsin у = arcsin (xVl — у2 ±уУ\ — x2 )
при ху <: 0 для знака «+», xy ;> 0 для знака «—» и х2 + у2 <; 1;
arcsin я ± arcsin у = п — arcsin (х У1 — у2 ± у J/1 — я2)
при х > О, у > 0, я2 + у2 >> 1 для знака «+» и х > О, у > О,
х2 + у2 >> 1 для знака «—»;
arcsin х ± arcsin у = — л; — arcsin (х У1 — y2±yV\ — х2)
при х < О, у < О, х2 + у2 > 1 для знака «+» и х < 0, # > О,
х2 + У2 > 1 для знака «—»;
arccos х ± arccos у = ± arccos (х# +1/(1 — х2) (1 — у2))
при я + # >. 0 для знака «+» и х ^- у при знаке «—»;
arccosx + arccosy = 2я— arccos (ху — j/(l —х2)(1 —у2))
для х + у<.0;
arccos х — arccos у — arccos (ху + У(\ — х2) (1 — у2)) для х<Су,
arctg х ± arctg у = arctg * _r y
при ху <Г 1 для знака «+» и л:# > — 1 для знака «—»;
arctgх± arctgy = n + arctg **£
при л: > 0, ху > 1 для знака «+» и л; >> 0, ху <; — 1 для знака «—»;
arctg * ± arctg # = — я + arctg **^у
при л; <; 0, jcj/ > 1 для знака «+» и х <. О, л# << — 1 для
знака «—».
Формулы удвоения:
'arcsin(2xVl—x2) для |х|< 1/2/2;
2 arcsinх = ■ л — arcsin (2xVT^?) для * £ (/2/2, 1);
. — я — arcsin (2x Vl—x2) для х £ (— 1, — V 2/2).
11* 163
2 arccos
агссоБ^л3—1) для х£[0, 1];
f arccos
* = \2я-
arctg
arccos(2л8—1) для х£[—1, 0].
2х
1-х2
2х
2 arctgх = { п + arctg■l_]fl
2х
— л + arctg -
1 —х2
для \х\< 1;
для *>+1;
для x<Z—1.
ПРЕОБРАЗОВАНИЕ ИНТЕРВАЛА
Для преобразования интервалов можно использовать следующие
функциональные соотношения:
1. arcsin х = -и 2 arcsin
W.
1<X< 1.
Z =
1.1. arcsin 2, 2 £ [—1/2, 1/2], для вычисления arcsin л; при
х € [—1, И:
' х, если | л; |< V2. arcsin я = arcsin 2;
]/ -к-(1—|д;|), если \х\>1/2, arcsin>: =
= (sgn х) (зх/2 — 2 arcsin z).
2. arcsin х = sgn х (я/2 — arcsin УI — х2). [47]
Эта формула приводит к интервалу (— j^2/2, j/^2/2).
3. arcsin х = 2п' г- — arcsin Tn {x), sin I - 2п ■ ]<*<!.
4. arcsin я = arctg
У\ — хг
, |*|</2/2.
Для |/"2/2<л;<1 arcsin х = sgn х (-|- — arctg ^1 х ■ *") • 1Ю5|
л: ± а
ал:
5. arctg х ± arctg а = arctg —-^
1 +
5.1. arctg х = arctg i + arctg /2 + -^гА
[71]
■ Использовав это преобразование три раза, можно обеспечить
, х | < 0,28.
arctg a;, x<z 1;
6. arctg x
п
Т
■arctg — , *>1.
[71]
164
СТЕПЕННЫЕ РАЗЛОЖЕНИЯ
1. arcsin х = У. „. (2fe)! л2**1, Ш<1. [23]
й 22fc(fe!)2(2fe+l) '11^ II
л? 1 • 3#5
1.1. arcsin х = х + -jTg- + 2 . 4 . 5~ + ""*
- + 123456V.(2W«+"u1 +"-' 1"1<L (4ЛЗ)[15]
1.2. arcsinx = * + 2J?^irL"W-' '*1<:1- [21,22]
2.^,= |/1^[2 + 2^-;)" <■-«;], |231
X|<L
2.1. arccosx = -r-[*+T7g-+ 2-4-5 + ...
j_ 1 -3-5 ... (2п—\)з?п+1 , 1
•" + 2-4.6...2я(2я+1) + —J' И<Ь Г151
3. arctg*=2i(—*) lfe+T' M<L [23]
fc=0
4. arctg x = fl - У (- 1)* ' 2fe+, , |*|>1, [15,23]
fe=0 ' ~Г i) л
если x > 1;
где а
если >:<; —1.
J я/2,
1—я/2,
5. arctg^^g-J^f-^)*, ^1<0°- [23]
oo
TT Ж1 Г2*
6. arcctgA; = -f--2(-l)"^rr, И<1- [15]
7. arcsec x =-s Л 9fr , U>1. [23
2 Co (й)2 22Л(2£+1) l J
8. arcsin x = y0 — arcsin z„ — y0 — z0 —
■^1 (2fe—1)!! г^+|
- Z -Ц-—Ц^— , (4.14) [781
S (2fe)il (2*+») i # i i
где |z0|<l; x2-f-у2 < 1; 20 = sin y0 V\ — x2 — xV\ — sin2#0; y0_
приближенное значение функции у = arcsin л: в заданном интервале.
165
При у0, достаточно близких к у, z0 « Д0, где А0 — абсолютная
погрешность у0. При у0 = 0 разложение (4.14) тождественно
совпадает с разложением (4.13).
МНОГОЧЛЕННЫЕ РАЗЛОЖЕНИЯ
<*<оо. [117]
оо
[117]
где |*|<1; 5 = (a2+l)Vs; #„
(2« + 3) | 1 — В21
t„2/e+lc
3. arctgGA; = 2 2(-l)ft|rqrf Г2й+1(л;), a = tg2a. [105]
а=р
2fe+l
.4 ^ , ,v/H-l r2fc-l(*)
4. arcsin * - 4 2 (- 1)W -жЕ^- - [49]
/k=i
6. arcsin ^4b-'f|n (*)• («I
Численные значения коэффициентов наилучших многочленных приближений
[105]: для функции arctg х = хР (х2) при х £ [0, tg (я/4)], — lg 6 = 6,19
а0 0,999 999 347 82;
ау —0,333 265 14917;,
а2 0,198 814 824 34;
с3 —0,134 8719133;
а4 0,838 7118962- Ю-1;
с5 — 0,370 129 9998 • Ю-1;
ав 0,786 337 627 • Ю-2.
Для функции arctg х = хР (х"-) при х £ [0, tg (я/8)], — lg б = 10,68
я„ 0,999 999 999 979 2921; .
о, — 0,333 333 321 346 769;
с2 0,199 998 863 562 59;
с3 —0,142 816 505 3644;
о4 0,110 411798 74;
с6 — 0,845 975 541 52 ■ Ю-1}
«6 0,471 424 3524 • Ю-1.
166
РАЦИОНАЛЬНЫЕ ПРИБЛИЖЕНИЯ
1. arctg x = у0 — arctg z0 = у0 — 2 (— 1)* 2fe° , [78]
где | z0 \ < 1; z0 = (tg #0 — x)/(l + л; tg y0); #0 — приближенное
значение функции у = arctg x.
При значениях #0, достаточно близких к у, z0 = А0.
,л-** -*—**-»- ття>Ж -Шт (tftJ •
[78]
где 1 z01 < оо; z0 = (tg y0 — *)/(! + * tg у0).
60 лк
2. arctgx^ ж2 -J (- l)*^-S^i(A [44]
vft-l
(—*) 2fe —l ; Л„ — коэффициенты многочленов
7^(*).
Численные значения коэффициентов наилучших рациональных приближений
Р (х2) Г я I
[105]: для функции arcsinх = х — при хР 0, sin— , —lg6 = 5,33
Q(x2) I 4 J
Po 0,185 403 6748» 10+2;
px —0,110 5618998- 10+2,-
q0 0,185 404 5327-10+2;
ft —0,141504 7571 • 10+2;
ft 0,1 ■ 10+1.
P (x2) Г п "I
Для функции arcsin x — x ————- при x £ 0, sin — , — lg б = 10,8
Q (x ) L 4 J
p0 0,231 275 024 111 507 01 • 10+3;
Pl — 0,390 689 937 501 489 • 10+3;
p2 0,192 227 295 736 4665 • 10+3j
p3 —0,248 633 914 976 348 • 10+2;
ft 0,231 275 024 115 189 98 • 10+3j
ft —0,429 235 775 5550515 • 10+3s
ft 0,246 420 987 198 2394 • 10+3j
gs _ 0,440 659 199 504 769 - 10+2;
ft 0,1 • 10+'.
167
Р (хг) Г л 1
Для функции arctg* = ;t ———- при х£ О, tg—• , — lg6 = 6.33
р0 0,567 707 209 367 • 10+1;
р1 0,378 511223 745- 10+1;
/>2 0,240 911968 63;
q0 0,567 707473 502-10+1;
9l 0,567 728 543 216 ■ 10+1;
q2 0,1 • Ю+1.
Р (*z) Г " 1
Для функции arctgx = х при хР 0, tg — , — lgб = 10,82
Qf*2) L 4 J
рй 0,103 883 262 382 875 688 • 10+2;
рг 0,135 423 794 260 156 654 • 10+2;
р2 0,442 890 340 582 903 65 • 10+1;
ра 0,243 805012 7817713;
pt —0,462 698 191 638 613 • Ю-2;
« % 0,103 883 262 387 900 783 • 10+2;
дг 0,170051 547 489 148083 • I0+2;
qz 0,801 962 568 250 859 12 • 10+1;
qs 0,1 • I0+1.
РАЗЛОЖЕНИЕ В ЦЕПНЫЕ ДРОБИ
, , Xй 9х2 4х2 25х2
1. arctg* = * з-+-5-+-Т-+~9_+"-
(2n+l)2*2 4и2х2
... + 4п+1 + 4п + 3 + •*•"
Дробь сходится на всей плоскости комплексного переменного х,
исключая полуинтервалы (— ioo, — i), (i, ioo).
1 • 2л* 1 • 2л2
2. arctg x
1 —j— л —— »j <j ^ i —|— л / • * ■•
[96]
l+л2 _ 3 — 5(1+x2) _
(2n — 1) 2n*2 (2n — 1) 2nx2
_ An— 1 _ (4n+lJ(l+x2) -f
ИТЕРАТИВНЫЕ ПРОЦЕССЫ
1. Рекуррентная запись степенного разложения функции у
arctg х 1801:
*2 (2fe — l)
168
Ук+] = Ук + Uk+U Л = 1, 2, ... J
Ук = ик = х-
При | х | < 1 Hm #ft = arctg x*
fcH
2§(2fe-l)
1.1. «*+, = —% 2fe+1 ; [80J
ffc+i = Уь + ын-1» /г = 1, 2, ...;
_ _ _ tg г/0 — x
y1-u1-z0; г»- 1+Jetgi,e ,
где #0 — приближенное значение функции у = arctg я в заданном
интервале.
При #0 « # г0 « Д0. Для | г01 < 1 lim yk= arctg x.
2. Рекуррентная запись степенного разложения функции у =
•= arcsin х [803:
_ (2fe—l)(2fe—1)л?
«fe+l--Uft 2ft (2fe + 1)
уш =yk + Uk+i, k = 1, 2, ... ;
"l = #i = *•
При j x | < 1 lim yk = arcsin я.
(2fe-l)(2fe-l)zg
2.1. «*+!="* 2ft (2ft+1) ;
f/fc+i = yk + Uk+u k=l, 2, ... ;
"i = #i = го; z0 = sin y0 |Л — x2 — x cos #0,
где y0 — приближенное значение функции у — arcsin x в заданном
интервале. При #в =* у 20 « Д0. Для | 201 < 1 и1? + ^< 1 у0 —
— lim yk — arcsin x.
k-юо
3. Для функции у = arcsin x [45]
#+i = yt sgn xi+i + 2~ ('+|); xi+i = х\ — 2, i = 0, 1, ,.. ;
х0 = 2|х|; f/o = 2-1; Нш|^| = —arcsin lx|.
i-юо
При'1 = 0, п абсолютная погрешность Д « я/2"+1.
4. Для функции # = arctg x [10, 12]
zm+1 = г™ ; zx = x; arctgx«zm-2m.
l + Fl + 4
Число шагов для обеспечения точности до п десятичных
разрядов: т =» 1,65 п.
169
5. Для функции у = arcsin х [10, 12]
г.
zm+i = т г "> arcsinх«г_>2 ;
zx = x, х<£1, /л»1,65/г— 0,5.
6. Для функции у = arctg x [9, 5, 137]
j&i^ + i^sgn^;
yt^^yf-xVN-isgny)?;
■где k = 1, s; s — N — 1; / = 1, n; Л/" — основание системы
счисления; п — количество разрядов в представлении числа (без учета
разрядов знака); а,- = arctg Л/""'; 41} = 1 + х sgn x;
yf)=x — sgn x; «pp = — -|- sgn л;.
Тогда ф'п) = arctg x. При двоичной системе счисления счет
можно упростить, полагая / = 0, п — 1; s = 1; ^ = 1; у0 = х,
"Фо = 0-
Количество констант а,- можно уменьшить почти в два раза
-при завершении процесса по формуле [5]
arctg х = ф/t+i + yk+i/Xk+i sgn yk+u k = j -j-1.
Для десятичной системы счисления процесс вычисления
функции arctg (ylx) можно представить в виде [ 120]
zf+x = zf - zf; *&i + 10-2'"^, ' Л = 0, 1, 2, ... , д.,
где q. определяются из условия z®. > 0 >• z«-, г
При этом
#h> = ioz$ 4+,)=^;.
Для г^ = у, хо* = х, 0 < arctg ylx < ~^-
п
arctg ylx^z *£ q-, arctg 10-/.
7. Для функции у = arcsin я [78]
У1+1 —Hi zl Zi (2k)! (2/e + 1) '
тде |z,|<l; n^OV 1 \/2 y...; i = 0, 1, 2, ...; z, =lA— x2 X
X sin^—#]/^ —sin2 y, y0 — начальное приближение функции у =•
170
*= arcsin x в заданном интервале; lim yt = arcsin x. При п = 0
суммирование не производится, т. el сумма равна нулю. При у0 я=
^У *о ~ До-
8. Для функции у = arctg x [78]
fc=0 Т
tgyt—x
l + Jtig»! '
где у0 — начальное приближение функции у = arctg л; в заданном
интервале; lim yl = arctg x. При у0 = У z0=^ A0-
6. ГИПЕРБОЛИЧЕСКИЕ ФУНКЦИИ
Гиперболические функции определяются как решения
дифференциальных уравнений, степенными рядами или просто
соотношениями
**---_> Лаю ■ 0(х
ех — е~х
2
ех + е~х
2
е* + е-*
e*-e-*
2 ^w ' 0(*+1)
#(2х)
chx- „ ; thx- е,-+е-Л- 2 +«2(2*)
д: i _—X
cthx =
где .0 (я) = е* — 1.
Геометрически гиперболические функции определяются
аналогично тригонометрическим, но при этом аргумент х
истолковывается как удвоенная площадь гиперболического сектора.
Функции у — sh х и у = ch x определены на множестве всех
действительных чисел, т. е. х £ (—■ оо, оо). Областью значений
функции у = sh х является интервал (—оо, оо), а функции у =*
= ch х — полуинтервал [1, оо). Функция у = sh x является четной,
а у = ch х — нечетной. Функция у = th x является нечетной и
определена для х £ (—оо, оо). При этом у £ (—1, 1). Функция
у = cth л: — нечетная и определена для х £ (—со, оо).
При этом у £ (—со, —1) и у £ (1, оо).
Производные гиперболических функций:
sh* при п четном;
sh(n) х =
ch* при п нечетном;
сЬл; при п четном;
shx при п нечетном;
ch<">* =
ch3* ' 1~"1 Л— Tsb?~x~
th№* = -4-; cthlI,x = - —
171
Основные соотношения:
ch2x — бп2л; = 1; thx — —r—; cth^
ch x * sh x
sch x = —г—; csch x
ch л; ' sh x
Теоремы сложения и некоторые формулы, вытекающие из них:
&Ъ(х + у) = sh.x;chy±chxshy; ch(x ±у) = chxchy ± sbxsby;
thtx-4- /Л - th*±th{/ • nth(x-+. ov - 1±cthxcth^ ■
2 sh jc sh у = ch (я + у) — ch (x — y);
n2chxchy = сЬ(л; + y) +c\\(x — y);
2 sh x ch # = sh (я + у) + sh (x — y);
ch&e^stfx + ch»*; cth2x-- 1+cth**--
sh 2x = 2 sh x ch я; th 2x =
2 cth*
2 th л;
l-fth2x '
Г(п+1)/2]
shnx = 2 CS^sh^-'jech"-8*-1*;
[л/2]
сЬлд;= S C&sh^xch"-2^;
, * , 1 /~ ch * — 1* , x т /" ch * -f 1
■, x -i /* ch * — 1 sh jc
T — ± Г "chT+1 ch*+l
chx—1 *
sh*
1
,, x__i/*ch*+l sh * _ ch * -|-
СШ ~y — ± у chjc_ ] — ch*—1 — shT
Выражение одной гиперболической функции через другую:
th* 1
sh*= ±Kch2x—1 =
chx = l/"ch2* + l
К 1 — th2 x ±V cth2 * — 1 '
1 cth x
|Al — th2 л; ± К cth2 л; — 1
., 1 sh ± |Ach2 x — 1
th x — - — —
cth x у sh2 x+l ch *
th — ' _ T^sh2x + 1 _ ch*
th * sh * -L I/ch2 jt 1
* Знак «-J-» при х > О, знак «—» при х < О.
172
Сумма и разность функций:
sh х ± sh у = 2 sh
х± у
ch
хТ- у
2 s" 2
ch л; + ch у = 2 ch x~l y ch x~y ;
ch л; — ch у = 2 ch -
th л; ± th у =
2
* + «/
sh
2
* — У
sh (* ± y) .
ch л; ch у '
sh (i/ ± л:)
sh2*
sh2 x + ch2 у
cthx + cthy + ^^y-,
ch2 у — sh(x+ y) sh (я — у) = ch2 x — ch2 y;
ch (я + у) ch (я — у)
Гиперболические
функции можно вычислять,
пользуясь алгоритмами
для тригонометрических
функций и применяя
специальный угол,
называемый гудерманианом или
гиперболической
амплитудой. Гудерманиан,
соответствующий аргументу х
гиперболической функции,
обозначается gd x либо
amph х. Основные
соотношения:
ch2 х + sh2 у.
Таблица 11
X
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
V
0,09959
0,19679
0,2895
0,376
0,4553
0,5269
0,5907
0,647
0,6898
0,739
X
1,1
1,2
1,3
1,4
1,5
1,6
1,7
1,8
1,9
2,0
V
0,7761
0,8081
0,8357
0,8594
0,8797
0,8971
0,912
0,9248
0,9357
0,945
sh х = tg (gd x)\ ch x — sec (gd x);
th x = sin (gd x)\ cth x = cosec (gd x);
th
tg
gdx
Гудерманиан можно вычислить с помощью одного из следующих
разложений [47]:
где
gd
г
X = X
х\<
—
п
Т
gd
Xs
— +
6 ^
\Е„-
х — -
Xs
24
61л;7
5040 '
— числа Эйлера;
X
~ +
х* xz
6 -J- 2
1 354 60 be3
+
+
Пх2
70
(— \)kEk
(2ft+1)1
2089л;2
4- 306
x2k+1
+
+ 45 958 +
[98]
173
Для малых значений х gd х я» х — х3/(6 "j/ch x). Для
больших х
[1,5706 при 9,0 < х < 9,52;
gd х ^\ 1,5707 при 9,52 < х < 10,67; [47]
I 1,5708 при 10,67 <х<оо.
Для машин с фиксированной запятой при вычислении
гиперболических функций можно использовать соотношения [423
shx = tg-J-(4-gd*)' *e(—0,881; 0881);
\hx = sm(-^-gdx\, *£(—1,1);
sch л; = cos-^-(— gdjc^ , ж £(—1,1).
В табл. 11 приведены значения [47] функции у = — gd (-^- л;!«
ПРЕОБРАЗОВАНИЕ ИНТЕРВАЛА
[105]
1.Л* = -^(яМ + -^Утг)- .0W = e*_l.
2. th* = 2^(2х)-, 0W = *"_1. [105]
3.sh* = g ^'^-^-(l+sh^-p; [81]
shx = sh-J-(3 + 4sh2-|-). [81]
[п/2]
4. ch* = 2"-1 ch"— + n 2 (- l)*C*4*_i * ЭГ3*"1 ch""2* -£-.
n *=i n
[81]
5. ch* = 2ch2-|- — 1; ch*=l+2sh2-|-. [81]
1 + cth2 — 2 th —
6. cth^ j=-; fluc—y^. [81]
2cth—-
2
174
СТЕПЕННЫЕ РАЗЛОЖЕНИЯ
„2ft+l
Lshx^Z {2k + l)l > И<*>- [15,23f
oo
imr* l*l<°°- [23]
со
3.1. Ш, = ,-4-,з+^,5__^_,7 + _|_х9.
[23].
\xK-j-.. [21]
22&B,
1Щ
00 o2fti
4-cth* = -F + 2-W-^'. 0<|*|<n. [15]
4.1. cthx = -i- + -|—£+-^__*г+.„,о<|,|<я.
[15].
со
5-***=1+2(-1)*-7ЙИ2*' i*i<-f- '23*
5.1. edix-l-^ + ^-^ + Jg».*- f |je|<
<-§-■ t15i
6.афх = ±-± 2(22k~!~l)B2k x2k~\ 0<U|<k. [23]
*=i
6.1. cschx=4---l-^+^5-^-15%rA;5+ ...,0<|x|<
<я. [15]
^ ... r,2k 4k—2
7. sh * = cosec x 2 (- D*+11^ • t23*
8. ch^ = sec^fl + 2(-1)ft^^)- [23]
(n+D/2
10. shhx= S Oat-ix2*-1. (4.15) [27]
ft=T
175>
x2(-i)/(ntlri)!2n+l-2/'
/=o
(n+I)/2
где ft>0; n — целое, нечетное; я£[—1, 1]; an-2k = т„ y^2k)\ x
л+1-fli
/!Л2й+2-2у
Абсолютная погрешность Д = т„ [Г„+2 (я) + Л \ sh (h (х — f)) X
xTn+2(f)dt].
Обозначим многочлен (4.15) через Р°п (hx). Для ускорения
сходимости многочлена Р° (hx) необходимо выполнить преобразования
Р'п (hx)
1—Уп
Ы\
l-Уп '
(4.16)
-где уп = т„ ^q-2— [1 + Т^пН -
Тогда |! sh (Ах) - />; (hx) ||с [_,,„ = 11 + О Щ] Еп (sh (to)),
где £„ (sh (hx)) — величина наилучшего равномерного приближе1
гния на сегменте [—1, 1] многочленами степени п.
п/2
11. chhx= 2j a2kX2k,
fc=0
(4.17) [27]
аде h > 0; n — целое, четное; х £ [—1, 1];
ft/2
(П + 1 — /)! 0fi+l-2/.
G„_2ft-T„ (n_2ky .£{ I) 2k+2_2j Z
T + 1
(» + 2> 2i (-tff^fcg1*^
/=0
Абсолютная погрешность А = тп
X (t)dt
Tn+2 (x) + h [ sh (x — 0 7V2 X
Обозначим многочлен (4.17) через P°n(hx). Для ускорения
сходимости Pn(hx) необходимо выполнить преобразования (4.16), где уп =
= (_1)("+2)/2Д2Г , 4-У 1
Т" (я + 2)2 [ ' (я + 2)2 J"
Тогда ||sh (hx) -Р'п (hx) \\c [_,.,] = [l + О (-L)] £„ (ch (hx)).
176
БЕСКОНЕЧНЫЕ ПРОИЗВЕДЕНИЯ
СО
1. shx^xU (i + -^f). [23]
со
РЯДЫ ПОКАЗАТЕЛЬНЫХ ФУНКЦИЙ
оо
thx=l+2 2(— \fe-2kx, (*>0). [23]
МНОГОЧЛЕННЫЕ ПРИБЛИЖЕНИЯ
СО
1. ch ах = /0 (с) + 2 2 /2„ (с) Г2„ (я). [43]
п=1
2. sh ах = 2 J /2,4-1 И Г2„+1 (л;). [43]
Численные значения коэффициентов наилучших многочленных приближений
[105]: для функции sh х ~ xP (xz) при х £ 10, — , — lg 6 = 7,02
at 0,100 000 009 555- 10+1;
аг 0,166 659 715 046
Оа 0,840 779 341 • Ю-2.
Для функции sh х = х Р (л;2) при х £ 0, — , — lg 6 = 10,08
х G [о, -L].
се 0,999 999 999 917 156;
сх 0,166 666 677 361 144;
аа 0,833 311842 443- Ю-2;
с3 0,199 791500 18- 10~3.
РАЦИОНАЛЬНЫЕ ПРИБЛИЖЕНИЯ
СО
1. th-yх = —2d (2й_1)2 + л:2 • [23]
я=1
со
2. cth ял; = — + — У. , f M . [23]
^ 22fe(22fe-l) 2ft_,
12 6-493 177
где 12С1 < -7j-; z0 = Arth y0 — л;; у0 — приближенное значение
функции»/ = th х в заданном интервале.
Пви #„ ~ У го ~ V(l — #2 — У&о)-
, 1 з 2 5 17 ?
Я, thr- y"-thz" ;/o~2o + '3Zo~-l5-Z° + -5l5Z°--
[78]
где z0 = Arthy0 — x; \z0\<я/2.
Численные значения ксеффициентов наилучших рациональных приближе-
И . . -и
PU2)
ции sn х = я; -
иий [105]: для функции sh х — х при х f
Q{x2)
О, — J. -Ig6-6,S
р0 —0,201 961 484 9422 • 10+2;
рх —0,236 617 830 421 • 10+1;
а0 — 0,201 961 506 1071 ■ 10+2;
9l 0,1 ■ 10+;. s
* Р (х2) Г 11
Для фуназди sh х = х —-—г— при х £ 0, — , — 1е 6 = 10,23
Q(*2) L 2 J
р0 — 0,422 079 692 752 728 614 • 10+2;
Pl — 0,603 466 122 424 1172 • 10+1;
pz — 0,185 072 855 080 583;
q0 —0,422 079 692727 795 267- 10+2;
ft —0,1 • 10+I.
РАЗЛОЖЕНИЕ В ЦЕПНЫЕ ДРОБИ
1. sh*~ Х11 + П* ; сЬл;=1+ — • [И]
(l+Ff _ (l + f)a-
где F =
4 > ' ' 4
и- 3 и- 15 и- 35 ц(4(п—ря —1)
Ы== 4
1 + 1 + 1 + ... + 1 +
х2
2. тлс = — , -=— . -=—
1 о. з -f 5 + ••• + 2m+i 4 ■•• [96]
2.1 th*: 3* 7*4
34 ха — 105+Юл2
178
(4m — 9) (4m— l)x*
(4m — 5) (4m — 3) (4m — 1) + 2 (4m — 3) л?
где «0 = x, um = x*/(4m2 — I), те = 1, 2, ...
ИТЕРАТИВНЫЕ ПРОЦЕССЫ
1. Рекуррентная запись разложения в ряд Тейлора—Макло-
рена функции у = sh x [80]:
Uk+l — Ufe 2A(2A+1) '
Уь+\ = yk + "fc+ь £=1,2,,,,;
J/i = "i = *•
Для | ж | < оо lim г/j, = sh дс.
2. Рекуррентная запись разложения в ряд Тейлора — Макло-
рена функции у = ch x [80]:
_ х*
Uk+1 ~и" (2А—1)2* '
№+i = ^ + «fe+i» * = 1, 2, .,, ;
У1 = «1= 1.
Для | х | < оо lim ук = ch л;.
3. Рекуррентные соотношения для вычисления sh x [81]:
Zm—1 = Zj b2n+lZm (1 f 4) .
ft=0
где г„, = sh —,, Отсюда г0 = sh x. В качестве начального
т (2л + 1)т
приближения можно взять несколько членов разложения
%т
' х»-'
° S (2ft-l)!(2n+l)m(2ft-1> "
При л = 1 2m_i == z^ (3 + 4z„), где z^ •=* я/Зт. Тогда z0 = sh а\
Для х £ [0, 1] абсолютная погрешность метода | А0 | < 3mAm.
Взяв в качестве начального приближения zm, = лУЗ"1, получим
для х£[0, 13 | Д0 |< l/32m+1.
ДЛЯ *«. = -§!Г (1 + ■ ^т ) ПРИ Х С [0. 1] ПОЛУЧИМ | Д0 |<
<- :
^- g4m+3 ■
12* 179
Для *«. = -j? (l + -^г- (-г + lil^r)) при * G [0> 1] п^У4™
|А0|<-^^.
4. Рекуррентные соотношения для вычисления ch х [813:
4.1 zm-i = g- zm + -у 2т + ~i b+t,
где b, t — произвольно выбранные постоянные. Тогда
Абсолютная погрешность приведенной рекуррентной формулы
при достаточно больших т является инвариантной с точностью до
величины Am относительно параметров but. Оценка абсолютной
погрешности рекуррентной формулы Am_i <! 22Am.
В качестве начального приближения можно взять несколько
членов разложения функции гт в ряд Тейлора — Маклорена:
fcV x2k
На практике удобнее всего использовать 6 = 1, t = —1. Тогда
хт-х = 2zm(zm + 2), где zm = ch(x/2™) — 1; chx = ze + 1.
Приняв в качестве начального приближения zmo = xz/2 m для
х £ [0, 1] получим | Де | < 1/22т+4.
ПРИ 2-о = "^Г (4" + 1г|^г) • Ле1 <-^4mW -
т-г Хъ [ \ X* I \ X2 \\ 1
При Zm„ = -^г ^2f + ~^Г ("Г + 6! 22m ) j ' ° ' "^ ' 26т+15 '
4.2. zm-i = 4гт (1 + zm),
т
где zm = sh2(x/2 ). Отсюда chx = l+2z1. Абсолютная
погрешность этой рекуррентной формулы оценивается неравенством
Взяв в качестве начального приближения zm„ = х2/22т, для
л: £ [0, 1] получим | А0| < 1у2ая+1.
о4т+4
4.з.^=4-(г«+4г)-
180
где гт = cth (х/2т). Отсюда cthx = z0. Абсолютная погрешность
этой рекуррентной формулы при достаточно больших т
Д^да-I-^ — ^ J<-%--
В качестве начального приближения берется несколько членов
разложения функции гт в ряд Тейлора — Маклорена:
2™ S, 1л2&+1 22kBk J х \gfc-i _ | л;
При zm, = Vnlx для х £ (0, 1) получим Д0<1/22т+1.
2"1 л; 1
гг 2т , х I 1 х2 \ л _ 1
Пригто=— +!=■ ("Г—iTF) До<1^^"
4.4. Вычисление sh jc и ch л: [9, 17]:
х^^хР+щп^уРК-';
ф1л = Ф^ — sgn ф1лР/,
где k = 1, s; s = 1, iV; / = 1, я; iV — основание системы счисления;
п — количество разрядов в представленном числе; р;- = arcth ЛГ*;.
При xV = . - ' ; у? = 0; фГ = * получим *<"> = ch x;
[У 1 — N~2i)
yln) = sh х.
5. Вычисление #=Шд: [78]:
yi+i =
V 22ft(22fe-
J/l ^ (2fc)!
» 22*(22*_
" ') д ,2k— 1
-'Ч^?*-1
|2/l<-5-. ' = o, l, 2, .... n = i V2V —;
z,- = Arth #, — jc; lim yt = th л:,
z.-t-O
i
где «/„ — начальное приближение функции у = th x в заданном
интервале.
При у0» у г„» Д„/( 1 — у2 — #Д0)«
181
5.1. При п=1 №+1- ^^
7. ОБРАТНЫЕ ГИПЕРБОЛИЧЕСКИЕ ФУНКЦИИ
Обратные гиперболические функции определяются следующими
соотношениями:
у = Arsh х, если х — sh у;
у = Arch х, если х = ch у;
у = Arth х, если х = th у;
у = Arcth х, если л: = cth у.
Обратные гиперболические функции являются многозначными,
т. е. одному значению х можно поставить в соответствие несколько
значений функции у (х). Аналогично выражению прямых
гиперболических функций через показательную функцию обратные
гиперболические функции можно записать через логарифмическую
функцию:
Arsh х = In (x + Ух2 + 1 );
Arch x = ± In (x + Vx2 — 1 ), я>1;
• Arth* = 4-In-bbL, |*|<1;
Arcth x = -i- In ^±"Г • N>L
Функция у = Arsh x — непрерывна и определена в интервале
х £ (—оо, оо). При этом у £ (—оо, оо). Функция у = Arsh x —
нечетная, т. е. Arsh (— х) = — Arsh x.
Функция у = Arch х является двузначной, определена для х £
£ [1, оо). При этом у £ [О, оо), у £ (—оо, 0].
Функция у = Arch х — четная, т. е. Arch (— х) = Arch x.
Функция Arth х — нечетная, непрерывна в интервале л: £ (—1, 1).
При этом у £ (—оо, оо).
Функция Arcth х — нечетная, определена в интервалах х £
£ (— оо, —1), X £ (1, оо). При этом у £ (—со, 0) и у £ (0, оо).
Некоторые соотношения:
Arsh x ± Arsh у = Arsh (х У~1 + у2 + у У 1 + х2);
Arch х ± Arch у = Arch (ху ± У(х2 — 1){у2 — 1) );
Arth л ± Arth у = Arth * f y .
а \±ху
Выражение одной функции через другую:
Arsh х = ± Arch Vx2 + 1 * = Arth r x = Arcth V-Xl±± ■
Archx = ± ArshVx2—\ = ± Arth T^*2-1 = ± Arcth r x ;
182
Arth x = Arsh r * = ± Arch r l* = Arcth — ;
У i—x* Y\ —x1 x
Arcth x = Arsh r l - = ± Arch _ x* = Arth — .
Yx* — 1 Vx* — 1 x
Производные обратных гиперболических функций:
Arsh(1) x = r ' ; Arch01 jc = r l ;
7^1 + x2 Yx* — 1
Arth(1) x = . ' , ; Arcth(I) x = Д-г- .
1 — л;2 л;2 — 1
Для вычисления обратных гиперболических функций можно
использовать обратный гудерманиан, который обозначается arg gd у.
Связь между гудерманианом и обратным гудерманианом
устанавливается с помощью соотношений [47]
х
T = gd.x: = 2arctge* — -|-= 2 arctg fth-|-j = J
At
cht
^ = arggdT = lntg(^-+-f) = j-^-.
Обратный гудерманиан можно вычислить с помощью следующего
разложения:
x = aggdT = T + 4 + £ + w+ - +-WTW+ •"•
[33]
\у\<п/2.
Для малых значений у
arg gd у » V + У3/ (6 >7 cos -у). [47]
Для больших у (у > 1,554)
arg gd у» 5298 — In 100 (я/2 — у). [47]
В машинах с фиксированной запятой при вычислении обратных
гиперболических функций можно использовать соотношения [42]
Arsh х = arg gd /-J- /-J- arctg х\), х£ (— 1,1);
Arth * = arggd(-J-(-|-arcsin*\), x£(— 0,76, 0,76);
Arsch а- = arg gd (-^- (—arccos x ] J, x £ (0,648, 1).
Знак «-(-» берут при х > 0; «—» — при л; < 0.
183
ПРЕОБРАЗОВАНИЕ ИНТЕРВАЛА
Arsh = Arth - * ; Arth x = Arcth 4~
Yx* +1 x
Arth x ± Arth у = Arth **y .
СТЕПЕННЫЕ РАЗЛОЖЕНИЯ
(2ft)l
1. ArSh^^(-l)V(^k+l)^+1' l^<L
2. Arsh* = * + i(-l)* Да+l) ^ I'K1'
3. Arsh x =* In 2x + 2i (~ ^ уГцц» 2fe ' l*l>L
4. Arch л: = ±
CO
5. Arth x = 2
ln2* —
(26)! х
.—2k
ft=l
2afe (fc!)2 2k
, U|>1.
fe=0
2Й+1
, U|<1.
[23]
[15]
[23]
[15, 23]
[23]
6. Arsh x = y0 — Arsh z0 = y0 — z0 — 2 (— ^ЖйШТ^1'
s=i
где sh#0z0 = V 1 +x2 —хУ 1 +sh2 y0; |г0|<1; [78]
Уо — начальное приближение функции у = sh1л: в заданном
интервале. При Уо~У z0=sA0.
РАЦИОНАЛЬНЫЕ ПРИБЛИЖЕНИЯ
4fe+'
Arth x = уо — Arth z0 = у0 — 2 аы-1 '
где
1-oKi; *о = !h^x-xy0 ■ 1-oKi;
fc=0
[78]
Уо — начальное приближение функции у = Arth x в заданном
интервале. При Уо~У z0^=>A0.
1. Arth * = 4
РАЗЛОЖЕНИЕ В ЦЕПНЫЕ ДРОБИ
П2Г2
4х2
т'х*
1 — з — 5 — ••■ — 2т+1
2. Arth х = л: +
£^ 9х2
3 — 5 ■
(2/и + I)2 х2 4/и2х2
4т + 1 — 4т + 3 —
4х2 25хБ
7 — 9 —
[96]
196]
184
p * •
л iu x 1 -2л:3 1 -2л?
d. Artn х = j_^ + з + 5(i_x2) +
(2m—1)2тл:2 (2m— l)2mx2
+ 4m — 1 + (4m + 1) (1 — x2) + • ' ' *
4. Arth* = A: + 5X* 324*4
[96}
15 —9xa — 315—161x2 — ■"
4 (2m — l)a (m — l)2 (4m —7) (4m + 1) *4
— (4m — 3) (4m — 1) (4m + 1) — (4(m — l)a (4m + 1) +
. + (2m -f l)2 (4m — 3)) xa
c л ,, Ъх 28x" 4752л:4
5. АгШл: =
3-х2 — 105 — 55х2 — 693 — 351х2 — ■ - .
4 (2т — З)2 (т — I)2 (4т — 9) (4т — 1) х*
... — (4т — 5) (4т — 3) (4т — 1) — (4 (т — I)2 (4т — 1) +
+ (2т-1)2(4т — 5)) л? _ ... [98],
ИТЕРАТИВНЫЕ ПРОЦЕССЫ
1. Рекуррентная запись степенного разложения функции у =
— Arsh х [80]:
— _ (2fe — 1) (2k — 1) х2
Uft+i — uk 2k (2k + ^ ;
yk+i = yk + «fe+i, k=\, 2, ...;
"i = Уг = *-
При | л: | < 1 lim yk — Arsh #.
ft-»-со
(2k — 1) (2fc — 1) zg
1.1 «fe+i = — Uk 2k(2k + 1) ' №+1 = ^ + "*+'' k =
= 1, 2, ... ; «1 = i/1 = Z0, [80]
где z0 = ]/l + a:2 sh y0 — x ch г/0; y0 — начальное приближение-
функции у = sh x в заданном интервале.
При #0 г» # ■ z0 =» А0. Для | г01 < 1 lim #ft = Arsh х + у0.
ft-»-oo
2. Рекуррентная запись степенного разложения функции у =
= Arth х [80]:
(26 — 1) х*
"*+1 = "ft и+1 '
Ук+i =yk + "fe+b k=\, 2, ... ;
Ук = Ч = х-
18S
При | х | < 1 lim yk = Arth x.
2.1. uk+i=uk—2k + 1 ° ; f/fc+i = #fe + «ft+i, ft = 1,2,... J yfe=.
= uk = 20, [8G]
где z0 = (th г/0 — л)/(1 — л: th у0); ув — начальное приближение
•функции Arth х.
■ При у0 да у z0 да А0. При | z„ | < 1 у0— \imyk = Arth л:.
к-*-оо
3. Для функции у = Arth x [81]
zm+, = 7 •; 2m = Arth
X
Полагая zx = х, при достаточно больших m получаем Arth x =*
= Tz \
m 4 1
Величина т выбирается на основе неравенства Ат < 1/2 т""
для л; £ [0, 1].
4. Для функции у = Arth x [9, 17]
JtS^i = JcP — sgn ^у^ЛГ-';
у%, = уТ-щпуТх$М-*;
где k — I, s; s = N; j = I, n; N — основание системы счисления;
п — количество разрядов в представлении числа; Р,- = Arth N~'.
При jci° = 1, 0р = ж, «pi1» =0
фГ1 = Arth x.
5. Для функции г/ = Arsh x [78]
,,.,. -«_,.__ У /_ 1* (2ft-1)1 z?^1
где i = 0, 1, 2, ...; п = Q \J \ \J 2... (при и = 0 суммирование не
производится, т. е. сумма равна нулю); zc = V 1 + х2 sh yt —■
— х j/l + sh^t/p | zt | < 1; y0 — начальное приближение функции
У = Arth х в заданном интервале. При этом lim yi = Arsh x.
г-*а
При у0 да г/ г0 да Д0.
6. Для функции у = Arth x [78]
№+1 = № — Zi 2Й+1 »
fe=0
где t = 0, 1, 2, ...; я= 1 \/2 V •-•; Z/= (th# —*)/(l — *th #)J
|27|<1.
При этом lim/д = Arth л. При yu=^y z0«A0.
186
Глава 5
ОСОБЕННОСТИ РЕАЛИЗАЦИИ
АЛГОРИТМОВ НА 3BWI
1. ПРЕДСТАВЛЕНИЕ ЧИСЕЛ
И ОСОБЕННОСТИ РЕАЛИЗАЦИИ АЛГОРИТМОВ
НА ЭВМ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ
Для преодоления трудностей, связанных с масштабированием и
ограниченным диапазоном изменения чисел, в научно-технических
расчетах довольно часто используют арифметику с плавающей
запятой. При этом диапазон изменения чисел в ЭВМ определяется
максимальными значениями, которые эти числа могут принимать.
В арифметике с плавающей запятой числа представляются в
форме
(ftp) = ftVp,
где q — мантисса числа со знаком; N — основание системы
счисления; р — порядок числа.
Отметим, что хотя в большинстве ЭВМ мантисса представляется
в виде правильной дроби, она может быть и целым числом, и
смешанной дробью. Порядок представляется в виде целого числа со
знаком. Иногда вместо отрицательного порядка используют
положительный, полученный за счет сдвига всего диапазона изменения
порядка в положительную область и прибавления соответствующей
константы. Знак порядка при этом определяется сравнением с этой
константой.
При умножении чисел в арифметике с плавающей запятой
мантиссы перемножаются, а порядки складываются: (qlt рг) (ft, р2) =*
= (ftft. Pi + Ps).
При делении двух чисел мантисса делимого делится на
мантиссу делителя, а порядки вычитаются: (ft, Pi)/(ft, Рг) = {qJQzj Pi — Рг)-
При сложении-вычитании происходит вначале выравнивание
порядков обоих слагаемых с соответствующим изменением мантисс,
а затем сложение-вычитание мантисс:
(ft, ft) ± (ft. P.) = ((?1 * qf~Pl> ^ 6СЛИ Pl > W
l(ftNPl P2 ± ft, pa), если Pi < /v
При этом изменяется мантисса того числа, у которого порядок
меньше.
В арифметике с плавающей запятой довольно часто используют
операцию нормализации. Нормализованными называют числа, у
которых в старшем разряде мантиссы содержится единица (имеется
в виду запись числа в прямом коде).
Операцию нормализации осуществляют в конце операций с
числами.
187
При операции сложения может произойти переполнение
разрядной сетки. Это явление устраняется также нормализацией, т. е.
осуществляется сдвиг мантиссы результата вправо до тех пор, пока
старшая значащая цифра не окажется в старшем разряде мантиссы.
При этом соответственно увеличится порядок.
Потеря точности при вычислениях с плавающей запятой
связана с потерей значности и погрешностями округления.
Рассмотрим особенности реализации алгоритмов на ЭВМ с
плавающей запятой. Прежде всего, при преобразовании интервала
необходимо учитывать представление чисел в виде мантиссы q
и порядка р (при заданном основании системы счисления).
Например, при вычислении корня квадратного на ЭВМ,
работающей в двоичной системе счисления с плавающей запятой,
преобразование интервала можно осуществить по следующим формулам:
,— _[2Pl2~yrq при р— четном;
при р — нечетном,
Для логарифмической функции используется формула log2 х =
-= Р + }°g2 Я-
Другой особенностью является то, что вместо операции сдвига
мантиссы q на п разрядов вправо либо влево обычно используют
операцию уменьшения либо увеличения порядка р. Например,
в случае вычисления функции cos х по рекуррентной формуле
zm_i = 2zm(zm + 2),
_ *а
ГДе Zmo — j^p ,
COS X = Z0 + 1 •
Умножение на 2 и деление на 22т в ЭВМ с двоичной системой
счисления могут быть осуществлены за счет сложения и вычитания
порядков с соответствующими величинами.
При реализации алгоритмов на ЭВМ с плавающей запятой
следует учитывать также особенности округления. Рассмотрим одну из
моделей возникновения погрешностей [35]. Пусть решением
некоторой задачи на данной ЭВМ является элемент R абстрактного
пространства Q с метрикой р. Обозначив через ф интерпретатор
R : <pR £ Q, получим
£ = Р(Д, ф, Я)<р(Я, Rj + p(Ru Ф, Я,) + Р(ФЯ1, Ф>),
где р (R, Rx) — погрешность за счет неточности исходных данных
(неустранимая, наследственная, трансформированная или
переходная погрешность); р (Rlt yRj) — погрешность метода
(погрешность ограничения или вычислительного алгоритма); р (ф^, q>R) —
погрешность округления (приборная, инструментальная).
Проиллюстрируем изложенное примерами.
188
Погрешность, возникающая за счет неточности исходных
данных. Неустранимую предельную абсолютную погрешность при
вычислении функции у — f (х) для х £ [—1, 1] для приближенных
значений аргумента х1 можно оценить с помощью формулы
Ан = max • | /(*) — / (*') | = max | /' (*) (х - х') |,
Jt£[—1,1] X
где х = х' + t (х — х'); О < t < 1; х, х' £ [—1, 1]; х — точное
значение аргумента; х' — его приближенное значение.
Когда функция у = f {х) обладает на отрезке [—1, 1]
непрерывной производной [3],
Дн< max \У(х)\г,
*€[-'.']
где е = 2-т-1>\х-х'\.
В ряде случаев эти условия не выполняются, т. е. f (x) в
заданном интервале имеет разрыв (например, arcsin x, In x, tg x). Тогда
при полиномиальной аппроксимации можно использовать оценку
[3]:
Ая<
- при \x\<Yl — -L ;
пЧг при Y\ — -jp <|*|<1,
VT
где t = max IP„ (х') I; п — степень полинома Р.
*ei-i.i]
Погрешность метода. При приближении функции f (x) на
сегменте [а, Ъ], аппроксимируемой функцией Р (х), возникает
погрешность метода
Ан= max\f(x)-P(x)\.
х£[а.Ь\
Если аппроксимирующая функция Р (х) выражается в виде
многочлена Рп (х), величину Дм иногда называют погрешностью
ограничения за счет удержания определенного количества членов.
Однако на погрешность метода накладывается еще погрешность за
счет неточного представления коэффициентов многочлена в
рассматриваемой ЭВМ. В результате «урезания» коэффициентов многочлена
до т двоичных разрядов погрешность
Ат= max \Pn(x)—Pn(x)\,
*e[-i,i]
где Рп (х) — многочлен п-и степени с «урезанными» до m двоичных
разрядов коэффициентами.
Пусть | ак | < 1. Тогда
max \ak — ak \ <. е = 2~т" , k = 0, п,
k
189
где ak — коэффициенты полинома Рп (х); ak
нома Рп (х).
При этом погрешность [3]
коэффициенты поли-
Дт<
-ГГТ7Г при \х\<1-ж;
6 при 1
в
< |*|<1,
где G = Л, | ak — ak |.
а—.о
Погрешность округления. При вычислениях на ЭВМ все
арифметические операции заменяются псевдооперациями, т. е. операциями
с округленными результатами до т разрядов в мантиссах чисел.
Погрешность округления для ЭВМ, работающей в режиме
плавающей запятой в двоичной системе счисления, можно оценить с
помощью следующей теоремы [86, 90].
Теорема 14. Пусть знак @ означает любую из операций (+,
—, X, :) на ЭВМ с т разрядной мантиссой q (не считая знака числа).
Тогда
х®у = {х*у){1 + б),
где б ■— относительная погрешность; [ б | < Nl~m/2 — для
операций с округлением; | б | < Nu~m для операций отбрасывания
остатка; N— основание системы счисления. При этом Vs<?<1-
Для произведения и суммы [86]
*1 ® Х2, ®
®*„ = (1+£)П*й
*=1
где |£|<(п-1)2";
*i(l + e1) + *a(l+es)+ — +хп(\ + еп),
т^т— Iogs (1;06); | Ч |< (я - 1) 2~'\
k = 2,n.
\ek\<(n+l — k)2-"'
В работе [3] приводятся мажоритарные оценки округления при
вычислении многочленов Рп (х). При этом рассматриваются два
случая:
а) все коэффициенты многочлена и независимая переменная х
представлены в ЭВМ точно;
б) все коэффициенты многочлена и независимая переменная х
представлены с точностью до 2~т.
В первом случае погрешность
1.06-г
2пА
Ао<{1'06
1,06
1-1*1
2~тАп(п + 2) при
2~т . 2ns при 1 —
при \ х | < min
п . А_\
п + 2 ' Т} "'
п + 2
<.|*1<1; 5>-^2"Л;
А . 1 | „ 1 ^ и + 2 л
190
л„<
Во втором случае
1,06 • 2~тЛ(Зп + 1) ii^ . ( п 1—Л1
п + 2 "2
1,06 - 2~т8(3п + 1) при 1 — 4- < 1*1 < 1, s < Л^~ А,
где s = 2 КI: Л = max | afc |.
fc=0 fc
2. ПРЕДСТАВЛЕНИЕ ЧИСЕЛ
И ОСОБЕННОСТИ РЕАЛИЗАЦИИ АЛГОРИТМОВ
НА ЭВМ С ФИКСКРОВАНН0Й ЗАПЯТОЙ
Число, у которого запятая не меняет своего места в процессе
выполнения операции, называется числом с фиксированной запятой.
В позиционной системе счисления такое число представляется в виде
т
л=1—А
где N — основание системы счисления; k — количество разрядов в
«целом» представлении числа; т — k — количество разрядов в
«дробном» представлении числа.
Обычно запятую фиксируют после нуля целых, т. е.
обеспечивают диапазон изменения величин q в пределах — 1 <; q <; 1. Тогда
т
q=± У^Яп^~П, 0*Cqn<N,
где т — количество разрядов для представления величины qn.
Работа с фиксированной запятой позволяет упростить
арифметическое устройство ЭВМ и повысить его производительность.
Однако по сравнению с плавающей запятой резко уменьшается
диапазон допустимых чисел. При выполнении операций сложения,
вычитания и деления возможно переполнение разрядной сетки
(q > I)-
Для того чтобы избежать этого, необходимо вводить масштабные
множители. В тех случаях, когда трудно определить нужные
масштабные множители, приходится моделировать на некотором
участке программы арифметику с плавающей запятой. Использование
больших масштабных множителей приводит иногда к тому, что при
неэкстремальных значениях чисел происходит существенная потеря
информации, т. е. растет вычислительная погрешность.
Основным ограничением при счете элементарных функций на
ЭВМ, работающих с фиксированной запятой, является малое
191
-1, |zj<l,
изменение диапазона представления чисел. Это условие приходится
учитывать уже на этапе задания аргумента и преобразования
интервала. Так, при вычислении sin х в обычном стандартном
интервале [— я/2, я/2] приходится в самом начале провести ряд
преобразований, чтобы обеспечить выполнение условия для аргумента
■— 1 < х <Z 1. Во-первых, вместо sin х для х £ [— я/2, я/2]
рассматривают функцию sin я/2 гдля z £ [—1, II. Тогда формула
приведения запишется в виде
-L(*_l)}|4-
где { } — дробная часть числа.
В рассматриваемом случае коэффициент разложения функции
sin-^-z при члене z близок величине 1,57..., что является
недопустимым для ЭВМ с фиксированной запятой. Это затруднение
преодолевается с помощью представления (1,57...) z = z + (0,57...) z, т. е.
способом добавления одной операции сложения. Однако, невзирая
на все принятые меры, при вычислении sin x, где д;« 1, может
произойти переполнение разрядной сетки. Если это случится,
желательно незначительно скорректировать коэффициенты
аппроксимирующего полинома. Корректировке подвергаются обычно лишь один
или два коэффициента, стоящие перед старшими степенями
переменной z в разложении функции.
При выборе алгоритмов вычисления элементарных функций на
ЭВМ необходимо следить за тем, чтобы функция подходила к своим
предельно допустимым значениям монотонно. Так, метод Ньютона
обеспечивает односторонний подход к корню. Однако и в этом
случае возможно переполнение вследствие погрешностей округления,
которые необходимо также учитывать.
Если моделирование процесса на существующей ЭВМ либо
вручную затруднительно, или если значения функции превосходят
допустимые пределы, необходимо вводить масштабный множитель.
Так, при вычислении обратной функции у = — для х £ IVa» H
величина у £ [1, 21. При счете в итерационную формулу третьего
порядка,
yi+i = yt [3 (1 — xyi) + (xyif\t
вводится масштабный множитель с тем, чтобы получить у = -^— i
т. е. у £ [V2. 13- При этом
у1+1 = 2У1 [3 (-1 ху!) + 2 (ж№)2]
Кроме того, необходимо ввести масштабный множитель и в
начальное приближение у0 = 0,45469 + (1,71285 — xf, переписав его
в виде у0 = 0,227345 + 2 (0,856425 — 0,5х)2.
В некоторых случаях удается разбить интервал таким образом,
192
чтобы избежать переполнения разрядной сетки. Например,
— arctg х =
— arctg х при х <z l;
1 — arctg— при х> 1.
При вычислении элементарных функций необходимо учитывать
особенности округления ЭВМ, работающих с фиксированной запятой.
Погрешность за счет неточности исходных данных и погрешность
метода можно определить по методике, изложенной в предыдущем
параграфе.
Для операций с фиксированной запятой в интервале х £
€ (—1. +1) при сложении и вычитании ошибки округления не
возникают. Операции умножения и деления в общем случае вызывают
ошибки округления, так что
х®у = х*у+е,
где * — операция деления либо умножения; © — реализация
любой машинной операции; е — погрешность округления; [ е [ <
<; 2~m_1; m — количество разрядов в представлении числа в ЭВМ
с двоичной системой счисления.
В случае многочленной аппроксимации [3] и при вычислении
коэффициента масштабирования 2k погрешность округления
До<:
-гттгг пРи * <1 — —;
п\е\2" при 1 ^-<1х|<;1>
где п — степень полинома.
3. ОСОБЕННОСТИ РЕАЛИЗАЦИИ АЛГОРИТМОВ
НА ЭВМ С ПРОИЗВОЛЬНОЙ РАЗРЯДНОСТЬЮ
Большинство алгоритмов, применяемых для ЭВМ с
фиксированной и плавающей запятой, мало пригодно для счета на ЭВМ с
произвольной разрядностью.
Появление ЭВМ серии «Мир» и «Днепр-2», разработанных в
Институте кибернетит<и АН УССР и имеющих произвольную
разрядность, потребовало коренного пересмотра требований к
алгоритмам вычисления элементарных функций. Хотя такие важные
параметры, как точность, время счета, объем занимаемой памяти,
продолжают играть важную роль при выборе алгоритмов, на первое
место выдвигается требование возможности изменения точности
без коренного изменения структуры алгоритма. В связи с этим
13 6-49Э
193
оказалось неприемлемым использование полиномиальных и ряда
других аппроксимаций, широко применяемых в практических
вычислениях.
Наиболее подходящими для таких ЭВМ оказались алгоритмы
вычисления элементарных функций, основанные на итеративных
процессах. Здесь можно использовать разложения в ряд Тейлора и
ряды невязок, записанные в виде рекуррентных формул (см. гл. 1, 1
и гл. 4), различные итеративные процессы (см. гл. 1,4 и гл. 4),
а также некоторые разложения элементарных функций в цепные
дроби. Но, к сожалению, не все итеративные процессы можно
использовать для этих целей.
Так, например, один из методов цифра за цифрой, основанный на
алгоритмах Волдера [137] и Меджета [120], нельзя прямо
использовать для произвольной разрядности, так как каждый раз
требуется вычислять константы arctg N~~l, i = 0, 1, 2..., а это не менее
трудоемкая работа, чем вычисление самой элементарной функции.
При вычислении -\fx и — весьма удобны итеративные процессы,
использующие разложение функций в ряд невязок [78, 82], и
табличные методы [29].
Для вычисления тригонометрических, показательных и
гиперболических функций можно использовать приближения, основанные
на методах 2т-аппроксимаций [10, 12, 72, 81, 85, 87], и запись
степенных разложений в рекуррентном виде [40, 47, 80].
Для вычисления логарифмической функции можно применить
какой-либо из методов «цифра за цифрой» [10, 45, 47], метод zm-
аппроксимации [81] для вычисления Arth x, или методы
вычисления взаимно обратных функций [11], основанные на разложении в
ряды невязок [78, 823. Большинство перечисленных алгоритмов
приведено в гл. 4.
Для обеспечения необходимой точности при использовании этих
методов необходимо в промежуточных вычислениях удерживать
несколько дополнительных разрядов в представлении чисел.
4. ВЬЕБОР АЛГОРИТМОВ ВЫЧИСЛЕНИЯ
Для всех ЭВМ важное значение имеет выбор системы
алгоритмов, обеспечивающей заданный критерий эффективности. В
последнее время появился ряд работ, в которых исследуются классы задач,
решаемых на ЭВМ, и влияние сферы применения на выбор основных
параметров машин и скорость выполнения стандартного набора
операций и функций.
В результате такого анализа появляется возможность
обоснованного выбора алгоритмов вычисления элементарных функций для
счета на ЭВМ. При этом не всегда нужно добиваться максимального
быстродействия вычисления каждой функции в отдельности. Более
194
целесообразно повышать эффективность вычисления всех функций в
совокупности, с учетом класса задач, на который ориентирована
машина.
Основными параметрами при реализации отдельных функций
являются: время вычисления, аппаратурные и командные затраты.
(ЗУ и процессора), точность вычислений, диапазон изменения
аргумента и возможность счета при увеличении длины слова. Параметры
для отдельно взятой функции выбирают, исходя из требования
максимальной эффективности и заданных ограничений для всего
реализуемого набора. Такой подход будем называть системным [36].
С точки зрения системного подхода важным является
определение базового набора элементарных функций, вычисление которых
производится непосредственно. Все остальные элементарные функт
ции выражаются через определенные ранее.
Определение базового набора элементарных функций состоит
из трех этапов:
1. Предварительного определения, базового набора, в процессе
которого производится анализ класса задач, решаемых на данной
ЭВМ. При этом в базовый набор включаются наиболее часто
встречающиеся в исследуемом классе задач элементарные функции^
Базовый набор должен обладать свойством полноты, т. е.
необходимо, чтобы через включенные в набор функции можно было выразить
все остальные элементарные функции.
2. Изменения базового набора, определяемого конкретными
особенностями ЭВМ. При этом каждая анализируемая функция
рассматривается прежде всего с точки зрения частоты встречаемости,
быстродействия и затрат при ее реализации. Кроме того,
учитывается возможность использования единообразного метода их
вычисления, с одной стороны, и уменьшения базового набора, с другой
стороны. Необходимо также учитывать суммарное количество
констант и объем ЗУ, занимаемый программами для вычисления всего
набора элементарных функций.
3. Уточнения базового набора на основе последовательного
повторения второго этапа. Для этого можно использовать системный
подход к оценке эффективности математического обеспечения.
В основу анализа эффективности алгоритмов вычисления
элементарных функций положен операционный метод исследования ЭВМ
и систем [68]. Согласно этому методу все решаемые на ЭВМ задачи,
разделяются на классы в зависимости от набора операций ЭВМ,
посредством которых решаются эти задачи, и от частотной функций
распределения этих операций. Для определения частотных функций
распределения операций данного класса задач Н вводятся
следующие векторы.
Вектор типовых операций Q — {Qx, Q2, ..., Q,}.
Характеристический вектор Ft = {«и, сс2;, ■••! ап),
компоненты которого a,-i характеризуют количество соответствующих
операций Qi £ Q. При решении задач Rt £ Н*, Н* — выборка из Н,
состоящая из d задач.
13*
195
Частотный вектор Gi <= {Ри, Рш--- Pri) задач R^H, где
Pti = а/г/(2 а;7| ; / =177; i =TTd.
Эталонный частотный вектор G = {Рх, Р2, ..., Рг} определен
1 VI
по выборке #*, где Р,- =-^-2j jP/«; / = 1, г.
Эталонный временной вектор элементарных операций U = {1!ъ
U2, ..., Ur), где Ui = PjtA V PA ; /;- — время выполнения /-й
элементарной операции на ЭВМ.
С помощью операционного метода при соответствующем подборе
алгоритмов вычисления элементарных функций можно
минимизировать время ..решения задачи при различных ограничениях на
остальные параметры и характеристики алгоритмов.
Для практического применения операционного метода к
рассматриваемой задаче введем по аналогии с предыдущими
следующие векторы: вектор элементарных функций О = {0lt 02, ..., Ok};
характеристический вектор Nt = [Nu, N2i, ..., Nm); частотный
вектор L, = {I^u, L2[, ..., Lki}; эталонный частотный вектор L =
= {Llt L2, ..., Lk}\ эталонный временной вектор Т = {Тъ Т2,..., Tk).
В тех случаях, когда алгоритмы вычисления элементарных
функций реализованы в ПЗУ, перечисленные векторы можно не
вводить, а лишь увеличивать на k размерность соответствующих
векторов элементарных операций.
Последовательность анализа эффективности заданного набора
элементарных функций такова.
Определяют среднее расчетное эффективное время Тср,
необходимое для вычисления базового набора элементарных
функций.
Вычисляют среднее эффективное время Тср, необходимое для
вычисления набора элементарных функций:
k
^ср = 2j Tj,
где Tj — компоненты эталонного временного вектора элементарных
функций. Затем, сравнивая Тср и Тср, оценивают весь набор
алгоритмов вычисления элементарных функций в целом.
|: Определяют расчетное эффективное время 7/ вычисления /-й
элементарной функции, основываясь на среднем расчетном
эффективном времени 7VP. Величина Tj зависит от плотности
распределения вероятности встречаемости функции и от эффективного времени
вычисления элементарных функций.
Для сравнения 'расчетного эффективного времени и эффективного
времени выбранного алгоритма вводятся оценочные весовые
коэффициенты, по которым можно судить, какие из рассматриваемых
196
алгоритмов необходимо заменить другими. С целью повышения
эффективного быстродействия существующих ЭВМ необходимо
увеличить скорость счета тех элементарных функций, у которых
весовые коэффициенты положительны и принимают наибольшие
значения. Элементарные функции с отрицательными весовыми
коэффициентами можно исключить из базового набора либо подобрать
новые алгоритмы, занимающие меньший объем ЗУ за счет увеличения
реального времени счета этой функции. Таким образом, в базовый
набор элементарных функций целесообразно включать те алгоритмы,
которые требуют наименьших эффективных времен. Запишем
описанную методику, используя компоненты приведенных векторов.
Среднее расчетное эффективное время Гср определяется из
условия р\Тср = pVcp, где 4Р — среднее эффективное время
выполнения элементарных операций I tcp = 2 ^,-) ; Pi — частота
использования элементарных функций при решении задач класса Н; (32 —
частота появления элементарных операций при решении на ЭВМ
задач класса Н.
Отсюда Гср = pVcp/p\. Предположив, что ТхЬг = TzL-2 =
= ... = TkLk = Tcp/k, получим
Т — ! Ра ?СР
ll~ k fe L, '
Алгоритмы, для которых выполняется неравенство ЛГ;- = Tj —
— Tj < 0, можно исключить из базового набора. Среди алгоритмов,
для которых выполняется условие AT/ > 0, для замены алгоритмов,
обладающих меньшим временем счета, выбирают те, у которых весо*
вые коэффициенты 6Т/ = (7",- —■ TfllT,- принимают максимальные
значения. Таким образом выделяют «слабые места» в наборе
алгоритмов вычисления элементарных функций.
Остановимся теперь на некоторых проблемах оптимизации
алгоритмов вычисления элементарных функций. Введем конечные
множества (векторы) параметров вычислительного алгоритма (х),
решаемого на ЭВМ класса задач (у), вычислительной машины (г)
[34, 35].
Вычислительные алгоритмы, решаемые на ЭВхЭД задачи и сами
ЭВМ характеризуются следующими векторами: Т (х, у, z) —
временем реализации вычислительного алгоритма на ЭВМ при решении
заданного класса задач; М (х, у, z) — необходимой памятью;
Е (х, у, z) — полной погрешностью при решении заданного
класса задач на заданной ЭВМ при помощи заданного алгоритма;
fef (x, у, z) — коэффициентом технико-экономической эффективности.
Различают три основные задачи оптимизации вычислений
(обычно оптимизируют одну из характеристик, накладывая определенные
ограничения на остальные):
а) минимизация времени реализации вычислительного
алгоритма Т (х, у, z) при наложении реальных ограничений на М, Е и
197
fef:
minT(x, у, z)
x.y.z
при M (x, y, z) < MR; E (x, y, z) < ER; fef (x, y, z) < fefR;
б) минимизация полной погрешности вычислительного
алгоритма:
т'тЕ(х, у, z)
x.y.z
при М (х, y,z)*CMx;T (х, у, z) < TR; fef (x, у, z) <. fefR;
в) максимизация коэффициента технико-экономической
эффективности:
max fef (x, у, z)
x.y.z
при М (х, у, z) s< MR, T (х, у, z) < TR; E (х, у, z) < ER.
В общем случае оптимизация предполагает поиск
компромиссного варианта, при котором определяется минимум суммы
рассматриваемых параметров, умноженных на весовые коэффициенты:
min | рТ (х, у, z) + qM (х, у, z) \
при Е (х, у, z) < ER; fef (х, у, z) < fefR, где р и q — весовые
коэффициенты, удовлетворяющие условию р + q = 1.
Для выделения множества алгоритмов А,:, i = 1, п можно
рассматривать условие е-сраЕнимости алгоритмов [4]:
V__ { V_ p (ха, Xki) < e -v AtreAk},
ltk,—\,n l=\.m
где {хц, xuli, k = 1, п; I = 1, m; xn, хы £ Rm) — конечные
результаты применения алгоритмов At к решению заданного класса
задач; р (хц, х^) — расстояние между одноименными результатами
в евклидовом пространстве Rm; rE — отношение е-сравнимости.
ПРИЛОЖЕНИЕ
Таблица П1
Факториалы, обратные им величины и логарифмы
/ п '," %/12т , / п \п I 1 1 \
где 0<Х< 1; In (n!)«= in + —linn —n + 'п >'2л ; n\ = 1-2-3 ••- п.
n
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
n\
1
2
6
24
120
720
5040
40 320
362 880
3 628 800
39 916 800
479001600
6 227 020 600
87 178 291 200
1307674 368-103
20 922 789 888-103
355 687 428 096-103
6 402 373 705 728-103
121 645 100 408 832-103
243 290 200 817 664-104
1/л!
1
0,5
0,166 67
0,416 67
0,833 33
0,138 89
0,198 41
0,248 02
0,275 57
0,275 57
0,250 52
0,208 77
0,160 59
0,114 71
0,764 72
0,477 95
0,281 15
0,156 19
0,822 06
0,41103
ю-1
io-2
io-2
IO-3
IO-4
IO-5
IO-6
io-7
IO-8
IO"9
Ю-10
io-12
io-13
• io-»
io-15
■ io-17
Ю-18
Ig (nl)
0
0,301 03
0,778 15
1,380 21
2,079 18
2,857 33
3,70243
4,605 52
5,559 76
6,559 76
7,601 16
8,680 34
9,794 28
10,940 41
12,320 62
13,11650
14,551 07
15,806 34
17,08509
18,38612
Таблица П2
Восьмеричные константы для вычисления элементарных функций по методу
«цифра за цифрой» в двоичной системе счисления [42]
k arctg 2—k
0
1
2
3
4
5
6
7
8
9
0,622 077 324 71
0,355 306 340 56
0,175 333 537 47
0,077 526 724 66
0,037 752 556 64
0,017 775 253 34
0,007 777 525 27
0,003 777 752 52
0,001 777 775 25
0,000 777 777 53
Arth 2—k
0,431 175 236 52
0,202 612 737 24
0,100 254 221 62
0,040 025 304 25
0,020 002 526 10
0,010 000 252 54
0,004 000 025 25
0,002 000 002 52
0,001000 00025
Iog2 <l+2-fe)
0,453 400 321 62
0,244 647 411 36
0,127 000 643 50
0,054 617 667 66
0,026 565 515 64
0,013 347 455 01
0,005 577 120 55
0,002 702 342 16
0,001 341 741 01
log, (l-2ft)
—0,777 777 777 77
—0,324 377 456 16
—0,142 504 600 53
—0,057 530 044 57
—0,027 347 123 11
—0,013 503 735 15
—0,005 626 173 50
—0,002 610 154 70
—0,001 343 30353
199
Продолжение табл. П2
к | arctg 2—k
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0,000 377 777 75
0,000 200 000 00
0,000 100 000 00
0,000 040 000 00
0,000 020 000 00
0,000 010 000 00
0,000 004 000 00
0,000 002 000 00
0,000 001 000 00
0,000 000 400 00
0,000 000 200 00
0,000 000 100 00
0,000 000 040 00
0,000 000 020 00
0,000 000 010 00
0,000 000 004 00
0,000 000 002 00
0,000 000 001 00
0,000 000 000 40
0,000 000 000 20
0,000 000 000 10
0,000 000 000 04
Arth 2—fc
0,000 400 000 03
0,000 200 000 00
0,000 100 000 00
0,000 040 000 00
0,000 020 000 00
0,000 010 000 00
0,000 004 000 00
0,000 002 000 00
0,000 001000 00
0,000 000 400 00
0,000 000 200 00
0,000 000 100 00
0,000 000 040 00
0,000 000 020 00
0,000 000 010 00
0,000 000 004 00
0,000 000 002 00
0,000 000 001 00
0,000 000 000 40
0,000 000 000 20
0,000 000 000 10
0,000 000 000 04
log2(l+2-fc)
0,000 561 114 53
0,000 270 475 32
0,000 134 244 37
0,000 056 123 E4
0,000 027 052 16
0,000 013 425 16
0,000 005 612 51
0,000 002 705 25
0,000 001 342 53
0,000 000 561 26
0,000 000 270 54
0,000 000 134 27
0,000 000 056 14
0,000 000 027 07
0,000 000 013 44
0,000 000 005 63
0,000 000 002 72
0,000 000 001 36
0,000 000 000 60
0,000 000 000 30
0,000 000 000 15
0,000 000 000 07
log2(l-2fe)
—0,000 561 405 26
—0,000 270 55345
—0,000 134 260 02
—0,000 056 126 45
—0,000 027 052 74
—0.000013425 31
—0,000 005 612 54
—0,000 002 705 26
—0,000 001 342 54
—0,000000 56127
—0,000 000 270 54
—0.000 000134 27
—0,000 000 056 14
—0,000000 027 07
—0,000 000 013 44
—0,000 000 005 63
—0,000 000 002 72
—0,000 000 00136
—0,000 000 000 60
—0,000000 000 30
—0,00000000015
—0,00000000007
Примечание, arctg2
_ft _ у (_i)t-2-^+l) _ n_k
<& 2t + l
2~ft;
k > 0. При k = 1 arctg 2'
r-ft
i=0
4 '
Arth 2~k =
-ft(2f+l)
(=0
2t'+l
>2~*, *>0;
■og3a + 2-*)=J"(1+22-*)-2<_'>,t|g^- k<0l
i=i
\og2(l + 2-k)^2-ki.
ЛИТЕРАТУРА
1. Альберг Дж., Нильсон Э., Уолш Дж. Теория сплайнов и ее приложения.
Пер. с англ. М., «Мир», 1972. 320 с.
2. Ахиезер Н. И. Лекция по теории аппроксимации. М., «Наука», 1965. 407 с.
3. Бабич М. Д. Деяш алгоритми обчислення елементарних функщй. К.,
«Знания», 1972. 23 с.
4. Бабушка И., Соболев С. Л. Оптимизация численных методов.— «Applikace
matematiky», 1965, 2 (10), с. 96—129.
5. Барсук Я. И., Благовещенский Ю. В., Корниенко Г. И. Вычисление
элементарных функций методом Волдера в <?-ичной системе счисления.— В кн.:
Алгоритмы н программы для вычисления функций на ЭЦВМ. Киев, 1972,
вып. 1, с. 146—163. (АН УССР. Ин-т кибернетики).
6. Бахвалов Н. С. Численные методы. М., «Наука», 1973. 632 с.
7. Бела га Э. Г. О вычислении значений многочленов от одного переменного
с предварительной обработкой коэффициентов.— «Проблемы кибернетики»,
1961, вып. 5, с. 7—15.
8. Березин И. С., Жидков Н. П. Методы вычислений. В 2-х т. М.,
«Наука», 1958—1960.
9. Благовещенский Ю. В., Башлаков Е. П., Ерема-Еременко А. А. Вычисление
элементарных функций в произвольной системе счисления.— В кн.:
Алгоритмы и программы для вычисления функций на ЭЦВМ. Киев, 1972, вып. 1,
с. 171—181. (АН УССР. Ин-т кибернетики).
10. Благовещенский Ю. В., Дородницына А. А. Вычисление элементарных и
трансцендентных функций на ЭВМ с произвольной значностью. — В кн.:
Математическое обеспечение ЭВМ н эффективная организация
вычислительного процесса. Киев, 1967, с. 138—147. (АН УССР. Ин-т кибернетики).
П. Благовещенский Ю. В., Попов Б. А., Теслер Г. С. Методы вычисления
взаимно обратных функций.— «Кибернетика», 1975, № 2, с. 69—72.
12. Благовещенский Ю. С, Теслер Г. С. Рекуррентные соотношения для
вычисления некоторых элементарных функций.— В кн.: Алгоритмы и программы для
вычисления функций на ЭЦВМ. Киев, 1972, вып. 1, с. 138—145. (АН УССР.
Ин-т кибернетики).
13. Благовещенский Ю. В., Теслер Г. С Элементарных функций способы
вычислений.— В кн.: Энциклопедия кибернетики. Киев, 1974, т. 2, с. 569—571.
14. Боднарчук П. I., Скоробагатько В. Я. Пллясп ланцюгов! дроби та i'x засто-
сування. К., «Наукова думка», 1974. 272 с.
15. Бронштейн И. Н., Семендяев К. А. Справочник по математике для
инженеров и учащихся втузов. М., Гос. изд-во физ.-мат. лит., 1954. 608 с.
16. Выгодский М. Я. Справочник по элементарной математике. М., Гос. изд-во
техн.-теорет. лит., 1955. 412 с.
17. Вычисление элементарных функций методом Волдера на заданном интервале
изменения аргументов.— В кн.: Алгоритмы и программы для вычисления
функций на ЭЦВМ. Киев, 1972, вып. I, с. 164—170. (АН УССР. Ин-т
кибернетики). Авт.: Я- И. Барсук, Ю. В. Благовещенский, А. А. Ерема-Еременко,
Г. И. Корниенко.
18. Гавриленко Е. Т. Программы вычисления элементарных функций на машингх
«Урал-3» и «Урал-4». М., 1966. 96 с. (ВЦ АН СССР).
19. Глушков В. М., Стогний А. А., Молчанов И. Н. Набор программ малой
электронной вычислительной машины «Мир». Т. I. Киев, «Наукова думка», 1970.
236 с.
201
20. Глушков В. М., Ющенко Е. Л. Вычислительная машина «Киев». Киев, Гос-
техиздат УССР, 1962. 183 с.
21. Голубков Ю. А., Лебедев А. В. Некоторые пути повышения скорости
вычисления элементарных функций на цифровых вычислительных машинах.— В кн.:
Электронные вычислительне машины. М., 1962, (АН СССР. ИТМ и ВТ),
с. 20—43.
22. Голубков Ю. А., Лебедев А. В. Табулирование некоторого класса функпий
на электронной цифровой машине.— В кн.: Электронные вычислительные
машины. М., 1964, вып. 2, с. 3—21. (АН СССР. ИТМ и ВТ).
23. Градштейн И. С, Рыжик Л. М. Таблицы интегралов, сумм, рядов н
произведений. М., Физматгиз, 1962. 1100 с.
24. Данильченко Л. С Характеристики кусочно-полиномиальной
аппроксимации элементарных функций.— В кн.: Оптимизация вычислительных методов.
Киев, 1974, с. 32—44. (АН УССР. Ин-т кибернетики).
25. Демидович Б. Д., Марон И. А. Основы вычислительной математики. М.,
«Наука», 1966. 644 с.
26. Демьянов В. Ф., Малоземов В. Н. Введение в минимакс. М., «Наука», 1972.
368 с. а
27. Дзядык В. К. Об эффективном построении многочленов, которые
осуществляют близкое к наилучшему приближение функций ех, sin х и др.— «УМД»,
1973, т. 25, № 4, с. 435—453. '
28. Доморяд А. П. Численные и графические методы решения уравнений.— В кн.:
Энциклопедия элементарной математики. М. —Л., Гос. изд-во техн.-теорет.
лит., 1951, т. 2, с. 313—417.
29. Дородницына А. А. Арифметические операции над числами произвольной
длины и произвольного диапазона.— «Кибернетика», 1969, № 1, с. 41—49.
30. Дородницына А. А. Микропрограммирование элементарных функций,
представленных разложением в цепную дробь.— «Кибернетика», 1966, № 6,
с. 34—40.
31. Жоголев Е. А. Вычисление элементарных функций на машине «Сетунь».—
В кн.: Вычислительные методы и программирование. М., 1965, вып. 3,
с. 509—535. (МГУ).
32. Завало С. Т. Елементарна математика. Алгебра. К-, «Вища школа», 1971.
356 с.
33. Загускин В. Л. Справочник по численным методам решения алгебраических
и трансцендентных уравнений. М., Гос. изд-во физ.-мат. лит., 1960. 216 с.
34. Иванов В. В. Обзор достижений в области кибернетики и вычислительной
техники.— В кн.: Вопросы точности и эффективности вычислительных
алгоритмов. Киев, 1969. 135 с.
35. [ванов В. В. Проблема оптим1заци обчислень.— «Вкник АН УРСР», 1971,
№ 9, с. 21—27.
36. Исследование вычислительного процесса на ЭВМ типа «Промшь» и пути
повышения эффективного быстродействия этого класса машин.—
«Кибернетика», 1970, № 3, с. 54—58. Авт.: Благовещенский Ю. В., Попов Б. А.,
Сергиенко И. В., Теслер Г. С.
37. Каневский Е. А. Вычисление элементарных функций в настольных ЭКВМ.—
В кн.: Вычисление функций и алгебраических выражений. М., 1969. 94 с.
(АН СССР. ЦЭМИ).
38. Колганов Н. С Компактные шестизначные математические таблицы. Л.,
«Машиностроение», 1973. 263 с.
39. Колмогоров А. Н., Фомин С Б. Элементы теории функций и функционального ^
анализа. М., «Наука», 1972. 496 с.
40. Копченова Н. В., Марон И. А. Вычислительная математика в примерах и
задачах. М., «Наука», 1972. 367 с.
41. Корн Г., Корн Т. Справочник по математике для научных работников и
инженеров. Пер. с англ. М., «Наука», 1974. 831 с.
42. Кургаев А. Ф., Палагин А. В., Писарский А. В. Вычисление элементарных
функций в мини-ЭВМ. Препринт 74—32. Киев, 1974. 71 с. (АН УССР. Ин-т
кибернетики).
202
43. Лаис Дж. Н. Численные методы для быстродействующих вычислительных
машин. Пер. с англ. М., «Иностранная литература», 1962. 208 с.
44. Ланцош К. Практические методы прикладного анализа. Пер. с англ. М., Гос.
изд-во физ.-мат. лит., 1961. 524 с.
45. Линский В. С Вычисление элементарных функций на автоматических
цифровых машинах.— В кн.: Вычислительная математика. М. 1952, вып. 2, с. 90 —
119 (АН СССР).
46. Литвин О. М., Рвачов В. Л. Класична формула Тейлора, П узагальнення та
застосування. К., «Наукова думка», 1973. 122 с.
47. Люстерник Л. А., Червоненкис О. А., Янпольскнй А. Р. Математический
анализ. Вычисление элементарных функций. М., Гос. изд-во физ.-мат. лит.,
1963. 245 с. (Справ, матем. б-ка).
48. Мак-Кракен Д. Д., Дорн У. Численные методы и программирование на
ФОРТРАНе. Пер. с англ. М., «Мир», 1969. 584 с.
49. Математический анализ. Функции, пределы, ряды. М., Гос. изд-во физ.-
мат. лит., 196.1. 439 с. (Справ, матем. б-ка). Авт.: В. Л. Данилов и др.
' 50. Математический практикум. Под ред. Г. Н. Положего. М., Гос. изд-во физ.-
мат. лит., 1960. 512 с.
51. Монцибович Б. Р., Попов Б. А. Наилучшие приближения табличных
функций. Киев, 1973. 212 с. (АН УССР. Ин-т кибернетики).
52. Монцибович Б. Р., Попов Б. А. Программирование и стандартные программы
для ЭЦВМ «Промшь» и «Промшь-М». Киев, «Наукова думка», 1969. 334 с.
53. Монцибович Б. Р., Попов Б. А., Теслер Г. С. Выбор итерационной формулы
и начального приближения для вычисления функций на ЦВМ.— В кн.:
Алгоритмы и программы для вычисления функций на ЭЦВМ. Киев, 1972,
вып. 1, с. 88—109. (АН УССР. Ин-т кибернетики).
54. Пан В. Я. Некоторые схемы для вычисления значений полиномов с
вещественными коэффициентами.— «Проблемы кибернетики», 1961, вып. 5, с. 17—29.
55. Попов Б. А. Алгоритмы и программы для вычисления функций на ЭЦВМ.
Киев, 1972, вып. 2. 168 с. (АН УССР. Ин-т кибернетики).
56. Попов Б. А., Теслер Г. С. Квадратичная аппроксимация аналитически заданных
функций с наименьшей абсолютной ошибкой.— В кн.: Алгоритмы и программы
для вычисления функций на ЭЦВМ. Киев, 1972, вып. 1, с. 30—40. (АН УССР.
Ин-т кибернетики).
57. Попов Б. А., Теслер Г. С Квадратичная аппроксимация аналитически
заданных функций с наименьшей относительной ошибкой.— В кн.: Алгоритмы
и программы для вычисления функций на ЭЦВМ. Киев, 1972, вып. 1, с. 41—■
51. (АН УССР. Ин-т кибернетики).
58. Попов Б. А., Теслер Г. С. Многочленная аппроксимация аналитически
заданных функций.— В кн.: Алгоритмы и программы для вычисления функций
на ЭЦВМ. Киев, 1975, вып. 3, с. 42—50. (АН УССР. Ин-т
кибернетики).
59. Попов Б. А., Теслер Г. С. Наилучшие линейные начальные приближения
элементарных функций для счета на ЦВМ.— В кн.: Алгоритмы и программы
для вычисления функций на ЭЦВМ. Киев, 1972, вып. 1, с. 6—15. (АН УССР.
Ин-т кибернетики).
60. Попов Б. А., Теслер Г. С. Приближение элементарных функций выражением
вида у0 = А + W (х + В)2-— В кн.: Алгоритмы и программы для вычисления
функций на ЭЦВМ. Киев, 1972, вып. 1, с. 52—67. (АН УССР. Ин-т
кибернетики).
61. Попов Б. А., Теслер Г. С Рациональная аппроксимация аналитически
заданных функций.— В кн.: Алгоритмы и программы для вычисления функций
на ЭЦВМ. Киев, 1976, вып. 3, с. 100—106. (АН УССР. Ин-т кибернетики).
62. Попов Б. А., Теслер Г. С. Рациональные начальные приближения с
наименьшей абсолютной погрешностью.— В кн.: Алгоритмы и программы для
вычисления функций на ЭЦВМ. Киев, 1976, вып. 3, с. 116—124. (АН УССР.
. . Ин-т кибернетики).
63. Попов Б. А., Теслер Г. С. Рациональные начальные приближения с
наименьшей относительной погрешностью.— В кн.: Алгоритмы и программы для
203
вычисления функций на ЭЦВМ. Киев, 1976, вып. 3, с. 107—115. (АН УССР.
Ин-т кибернетики).
64. Попов Б. Д., Теслер Г. С. Экономичная линейная кусочно-полиномиальная
агпроксимация функций да.— В кн.: Алгоритмы и программы для
вычисления функций на ЭЦВМ. Киев, 1976, вып. 3, с. 91—99. (АН УССР. Ин-т
кибернетики).
65. Попов Б. А., Теслер Г. С Экономичные начальные приближения для счета
элементарных функций на ЦВМ.— В кн.: Алгоритмы и программы для
вычисления функций на ЭВЦМ. Киев, 1972, вып. 1, с. 16—29. (АН УССР. Ин-т
кибернетики).
66. Ремез Е. Я- Основы численных методов чебышевского приближения. Киев,
«Наукова думка», 1969. 623 с.
67. Ричарде Р. К. Арифметические операции на цифровых вычислительных
машинах. Пер. с англ. М., Изд-во иностр. лит., 1957. 423 с.
68. Сергиенко И. В. Методы организации вычислительного процесса на
вычислительных машинах. Обзор. Киев, 1971. 162 с. (АН УССР. Ин-т кибернетики).
69. Сергиенко И. В., Теслер Г. С. Методы быстрого деления, основанные на
итеративных процессах.— «Кибернетика», 1974, № 6, с. 21—25.
70. Смирнов В. И."Курс высшей математики. Т. 3. Ч. 2. М., «Наука», 1969. 672 с.
71. Справочник программиста. Т. 1. Л., «Судпромгиз», 1963. 628 с.
72. Теслер Г. С Аппроксимация трансцендентных функций с помощью гт-функ-
ций.— В кн.: Математическое обеспечение ЭВМ и эффективная организация
вычислительного процесса. Киев, 1968, вып. 3, с. 82—92. (АН УССР. Ин-т
кибернетики).
73. Теслер Г. С. Аппроксимация элементарных функций с помощью полиномов
нулевой и первой степени.— В кн.: Математическое обеспечение ЭЦВМ и
эффективная организация вычислительного процесса. Киев, 1969, вып. 2, с. 75—
88. (АН УССР. Ин-т кибернетики).
74. Теслер Г. С Вычисление некоторых элементарных функций на ЦВМ.— В кн.:
Математическое обеспечение ЭВМ и эффективная организация
вычислительного процесса. Киев, 1967, вып. 2, с. 91—ПО. (АН УССР. Ин-т кибернетики).
75. Теслер Г. С. Метод понижения для нахождения полиномов наилучшего
приближения.— В кн.: Алгоритмы и программы для вычисления функций на ЭЦВМ.
Киев, 1976, вып. 3, с. 51—58. (АН УССР. Ин-т кибернетики).
76. Теслер Г. С. Модификация методов Чебышева и Доморяда построения
итераций высших порядков.— В кн.: Алгоритмы и программы для вычисления
функций на ЭЦВМ. Киев, 1972, вып. 1, с. 120—126. (АН УССР. Ин-т кибернетики).
77. Теслер Г. С Новая структура норм погрешностей при вычислении функций.—•
В кн.: Алгоритмы и программы для вычисления функций на ЭЦВМ. Киев,
1976, вып. 3, с. 77—85. (АН УССР. Ин-т кибернетики).
78. Теслер Г. С. Разложение элементарных функций в ряды невязок.— В кн.:
Алгоритмы и программы для вычисления функций на ЭЦВМ. Киев, 1972,
вып. 1, с. 110—126. (АН УССР. Ин-т кибернетики).
79. Теслер Г. С. Рациональная аппроксимация для табулирования функций.—
В кн.: Алгоритмы и программы для вычисления функций на ЭВЦМ. Киев,
- 1976, вып. 3, с. 86—90. (АН УССР. Ин-т кибернетики).
80. Теслер Г. С. Рекуррентные представления степенных разложений для
счета на ЭВМ.— В кн.: Алгоритмы и программы для вычисления функций на
ЭЦВМ. Киев, 1976, вып. 3, с. 67—76. (АН УССР. Ин-т кибернетики).
81. Теслер Г. С Рекуррентные соотношения для счета гиперболических функций
на ЭВМ. Препринт 75—11. Киев, 1975. 12 с. (АН УССР. Ин-т кибернетики).
82. Теслер Г. С. Способы вычисления некоторого класса функций на ЦВМ.—■
В кн.: Математическое обеспечение ЭВМ и эффективная организация
вычислительного процесса. Киев, 1967, вып. 2, с. 111—121. (АН УССР. Ин-т
кибернетики).
83. Теслер Г. С Табулирование элементарных функций на ЦВМ.— В кн.:
Алгоритмы и программы вычисления функций на ЭЦВМ. Киев, 1972, вып. 1,
с. 127—137. (АН УССР. Ин-т кибернетики).
84. Теслер Г. С. Ускорение сходимости цепных дробей.^ В кн.: Алгоритмы и про-
204
граммы для вычисления функций на ЭЦВМ. Киев, 1976, вып. 3, с. 59—66.
(АН УССР. Ин-т кибернетики).
85. Теслер Г. С, Благовещенский Ю. В. Алгоритмы вычисления некоторых
элементарных функций на ЭЦВМ.— В кн.: Математическое обеспечение ЭВМ
и эффективная организация вычислительного процесса. Киев, 1969, вып. 3
с. 73—81. (АН УССР. Ин-т кибернетики).
86. Уилкинсон Д. X. Алгебраическая проблема собственных значений. Пер. с
англ. М., «Наука», 1970. 564 с.
87. Уилкс М., Уилер Д., Гилл С. Составление программ для электронных
счетных машин. Пер. с англ. М., Изд-во иностр. лит., 1953. 208 с.
88. Фильчаков П. Ф. Численные и графические методы прикладной математики.
Киев, «Наукова думка», 1970. 792 с.
89. Фихтенгольц Г. М. Курс дифференциального и интегрального исчисления.
М.— Л., Гос. изд-во физ.-мат. лит., 1968. 608 с.
90 Форсайт Дж., Молер К- Численное решение линейных алгебраических
уравнений. Пер. с англ. М., «Мир», 1969. 166 с.
91. Хаусхолдер А. С Основы численного анализа. Пер. с англ. М., Изд-во иностр.
лит., 1956. 320 с.
G2. Хемминг Р. В. Численные методы для научных работников и инженеров.
Пер. с англ. М., «Наука», 1968. 400 с.
93. Хлопонин С. С. Некоторые преобразования цепных дробей.-— «Учен. зап.
Марийского пед. ин-та», 1965, Т. 26, с. 445—486.
94. Хлопонин С.С Преобразование отношения степенных рядов в
правильную с цепную дробь. — «Изв. высш. учеб. заведений», 1975, №5,
с. 78 — 86.
95. Хлопонин С. С. Сходимость цепных дробей.— «Волжский математический
сборник», 1966, вып. 5, с. 354—361. (Казанский ун-т).
96. Хованский А. Н. Приближение цепных дробей и их обобщений к вопросам
приближенного анализа. М., Гос. изд-во техн.-теорет. лит., 1956. 203 с.
97. Шахно К. У- Справочник по математике. М., Учпедгиз, 1961. 256 с.
98. Шмойлов В. И. Соответствующие цепные дроби. Препринт 75—16. Киев,
1974. 38 с. (АН УССР. Ин-т кибернетики).
99. Ahmad M. Iterative schemes for high — speed division.— «Comput. J.»,
1972, vol. 15, № 4, p. 333—336.
100. Bemer R. W. A subroutine method for calculating logarithms.— «Comm.
ACM», 1958, vol. 1, №5, p. 5—7.
101. Bracha—Barak Amnon. Application of continued fractions for fast
evaluation of certain functions on a digital computer.— «IEEE Trans. Comput.», 1974,
vol. C—23, № 3, p. 301—309.
102. Carlson В. С An algorithm for computing logarithms and Arc tangents.—.
«Math. Comput.», 1972, vol. 26, № 118, p. 543—549.
103. Cody W. J. Double precision square root for CDC — 3600.— «Comm. ACM»,
1964, vol. 7, № 19, p. 715—718.
104. Cody W. J. A surwey of practical rational and polinomial approximation of
functions.— «SIAM Rev.», 1970, vol. 12, № 3, p. 400—424.
105. Computer approximations. New York, John Wiley, 1968, 343 p. Aut.:
J. F. Hart, E. W. Cheney e. a.
106. Ercegovac M. D. Radix — 16 evaluation of certain elementary functions.—
«LEEE Trans, on Computers», 1973, vol. C—22, № 6, p. 561—566.
107. Eve J. Starting approximations for the iterative calculation of square roots.—
«Computing J.», 1963, vol. 6, №3, p. 274—276.
108. Fike С. Т. Computer evaluation of mathematical function. New Jersey,
Prentice — Hall, 1968. 227 p.
109. Fike С. Т. Starting approximations for square root calculation on IBM/360.—
«Comm. ACM», 1966, № 9, p. 297—299.
110. Froberg G. E. Rational Chebyshev approximations of elementary functions.—
«BIT», 1961, № 1, p. 256—262.
111. Hastings C, Hayward J. Т., Wong J. P. Approximations for digital
computers, Princeton University Press, 1955, 201 p.
205
112. Kogbetliantz E. G. Computation of e" for — oo < N < + oo using an
electronic computer.— «IBM J. Res. and Devel», 1957, vol. 1, № 2, p. 110—115.
113. Kogbetliantz E. G. Computations of sin N, cos N and /N using an
electronic computer.— «IBM J. Res. and Devel». 1959, vol. 3, № 2, p. 147—152.
114. Krishnamurthy E. V. On optimal interative schemec for highspeed division.—
«IEEE Trans, on Computers», 1970, vol. C—19, № 3, p. 227—231.
115. Lawson C. L. Characteristic properties of the segmented rational minimax
approximations problem.— «Num. Math.», 1964, № 6, p. 293—301.
116. Linhardt R. J., Millert H. S. Digt-by-digt transendental function
computation.— «RCA Rewiew», 1969, vol. 30, № 2, p. 209—247.
117. Luke J. L. On the computation of log z and arctan z.— «MTAC», 1957, vol. 11,
№ 57, p. 16—18.
118. Macon N. A. On the computation of exponential and hyperbolic functions
using continued fractions.— «J. ACM», 1955, vol. 2, № 4, p. 262—266.
119. Maehly H. J. Methods for fitting rational approximations. Part I.— «J. ACM»,
1960, № 7, p. 150—162. Part II and Part III. «J. ACM», 1963, № 10, p. 257—
277. *>
120. Meggit J. E. Pseudo division and pseudo multiplication processes.— «IBM
J. Res. and Develop», 1962, vol. 6, 210—226.
121. Moursund D. G. Optimal starting values for Newton—Raphson calculation
of Y^.— «Comm. ACM», 1967, № 10, p. 430—432.
122. Motzkin T. S. Evaluation of polinomials.— «Bull. Amer. Math. Society»,
1955, vol. 61, №2, p. 163.
123. Ninonijya I. «Best rational starting approximation.— «Math, of Comput.»,
1970, vol. 24, № 110, p. 391—404.
124. Perron O. Die Lehre von den Kettenbruchen. Stuttgart, 1957, vol. В— II.
520 s.
125. Rabinowitz P. Multiple precision division.— «Comm. ACM», 1961, vol. 4,
p. 98—102.
126. Ralston A. On cconomication of rational functions.— «J. ACM», 1963, № 10,
p. 278—282.
127. Ralston A. Rational Chebyschev approximation by Remes'algorithms.—
«Numer Math.», 1965, № 7, p. 322—330.
128. Ramamoorthy С V., Coodman J. R., Kim К- Н. Some properties of iterative
square-rooting methods using high-speed «multiplication».— «IEEE Trans,
on Сотр.», 1972, vol. C—28, № 8, p. 837—847.
129. Rice J. R. On the conditioning of polinomial and rational forms. «Numer.
Math.», 1965, № 7, p. 426—435.
130. Specker W. H. A class of algorithms for In x, exp x, sin x, cos x,
tan~' x and cot-1 x.— «IEEE Trans. Electronic Comput.», 1965, vol.
EC—14, p. 85—86.
131. Spielberg K. Polinomial and continued — fraction approximations for
logarithmic functions.— «Math. Comput.», 1962, № 16, p. 205—217.
132. Sterbenz P. H., Fike С. Т. Optimal starting approximation for Newton's
method.—«Math. Comput.», 1969, vol. 23, № 106, p. 313—318.
133. Stoer J. A direct method for Chebyshev approximation by rational functions.—
«J. ACM», 1964, vol. 11, № 1, p. 59—69.
134. Taulor G. D. Optimal starting approximations Theory, 1970, vol. 3, № 2,
p. 156—163.
135. Thacher H. C. Iterated square root, expansions for the inverse cosine and
Inverse hyperbolic cosine.— «Math. Сотр.», 1961, № 15, p. 399—403.
136. Tien Chi Chen. Automatic computation of exponentials, logarithms,
rations and square roots.—«IBM J. Reas. and Devel.», 1972, vol. 16, № 4,
p. 380—388.
137. Voider J. E. The CORDIC trigonometric computing technique.— «IRE Trans.
Electronic? Comput.», 1959, vol. EC—8, p. 330—334.
206